سناریوی تست چیست؟
یک سناریوی تست(Test Scenario) به عنوان هر Functionality که میتواند مورد تست قرار گیرد تعریف شده است. چنین چیزی Test Condition(شرط تست) یا Test Possibility(امکان تست) نیز نامیده میشود. به عنوان یک تستر، ممکن است شما خود را جای یک کاربر نهایی قرار دهید و سناریوهایی از دنیای واقعی و نیز Use Caseهایی از اپلیکیشن تحت تست را بیابد.
تست کردن سناریو چیست؟
تست کردن سناریو یا Scenario Testing یک نوع تست نرمافزار است که در آن از سناریوها برای تست کردن بهره گرفته میشود. سناریوها به روش سادهتر تست روی سیستمهای پیچیده کمک میکنند.
چرا Test Scenario ایجاد میکنیم؟
سناریوهای تست به دلایل زیر ایجاد میشوند:
- ایجاد سناریوهای تست، Test Coverage(پوشش تست) کامل را تضمین میکند.
- Test Scenarioها را میتوان توسط ذینفعان مختلف مانند تحلیلگران کسب و کار، توسعه دهندگان، و مشتریان به تائید رساند تا بدین ترتیب از تست کامل برنامه تحت آزمون اطمینان حاصل نمود. این کار تضمین میکند که نرمافزار برای Use Caseهای معمول کار می کند.
- آنها به عنوان یک ابزار سریع برای تعیین تلاش کار تست و به تبع آن ایجاد یک پیشنهاد برای مشتری یا سازماندهی نیروی کار عمل میکنند.
- آنها به تعیین مهمترین تراکنشهای End-To-End یا استفاده واقعی از اپلیکیشنهای نرمافزاری کمک میکنند.
- برای مطالعه و درک End-To-End Functioning، سناریوی تست مهم است.
چه وقتی Test Scenario درست نمیکنیم؟
Test Scenarioها ممکن است در زمانیهای زیر ایجاد نشوند:
- برنامه تحت تست بسیار پیچیده، و ناپایدار است و در پروژه نیز یک بحران زمانی وجود دارد.
- پروژههایی که از متدولوژیهای Agile مانند Scrum، Kanban پیروی میکنند ممکن است سناریوهای تست ایجاد نکنند.
- ممکن است Test Scenario برای یک رفع اشکال جدید و یا تست رگرسیون ایجاد نشود. در چنین مواردی، سناریوهای تست باید در سیکلهای تست قبلی به دقیقا مستند باشند. این موضوع به ویژه برای پروژههای نگهداشت صادق است.
نحوه نوشتن Test Scenarioها
به عنوان یک تستر، میتوانید این پنج مرحله را دنبال کنید تا یک Test Scenario ایجاد نمایید:
- مرحله ۱: اسناد نیازمندیها(Requirement) مانند BRS، SRS، FRS از سیستم تحت تست(System Under Test-SUT) را مطالعه نمایید. همچنین شما میتوانید به Use Caseها، کتابچههای راهنمای مربوط به برنامه تحت تست ارجاع نمایید.
- مرحله ۲: برای هر نیازمندی(Requirement)، اهداف و اقدامات محتمل کاربری را تشخیص دهید. جنبههای فنی نیازمندی را تعیین کنید. سناریوهای محتمل قابل تحقق سوء استفاده از سیستم را تشخیص داده و کاربران را با توجه به ذهنیت هکرها ارزیابی کنید.
- مرحله ۳: پس از مطالعه اسناد نیازمندی و انجام تحلیل مورد نظر خود، سناریوهای مختلف تست که هر امکان(Feature) از نرمافزار را بررسی میکنند، لیست میکند.
- مرحله ۴: هنگامی که تمام سناریوهای احتمالیِ تست را ذکر کردید، یک ماتریس ردیابی(Traceability Matrix) ایجاد میشود تا اطمینان حاصل شود که هر یک و ایضا تمام موارد، دارای یک سناریو تست مرتبط به خود هستند.
- مرحله ۵: سناریوهای ایجاد شده توسط سرپرست شما بازبینی(Review) میشوند. سپس آنها نیز توسط سایر ذینفعان(Stakeholder) در این پروژه بررسی خواهد شد.
نکاتی برای ایجاد Test Scenarioها
- هر سناریو تست باید بسته به متدلوژی پروژه به حداقل یک نیازمندی(Requirement) یا داستان کاربر(User Story) مرتبط شود.
- قبل از ایجاد یک سناریوی تست که چندین نیازمندی را در یک زمان ممیزی(Verify) میکند اطمینان حاصل کنید که یک سناریو تست دارید که این نیاز را در انزوا چک میکند.
- از ایجاد تست سناریوهای بیش از حد پیچیده که چندین نیازمندی را پوشش میدهند اجتناب کنید.
- تعدادی از سناریوها ممکن است بزرگ باشند و همین موضوع باعث میشود که اجرای همه آنها پرهزینه باشد. بنابراین بر اساس اولویتهای مشتری تنها Test Scenarioهای منتخب را اجرا نمایید.
مثال ۱: Test Scenario برای اپلیکیشن تجارت الکترونیک
برای یک اپلیکیشن تجارت الکترونیک، تعدادی از Test Scenarioها این موارد خواهند بود:
Test Scenario 1: بررسی Login Functionality
به منظور کمک به شما در درک تفاوت Test Scenario و Test Caseها، باید گفت که Test Caseهای ویژه این Test Scenario عبارتند از:
۱- هنگام ورود Email ID و Password معتبر، رفتار سیستم را چک کنید.
۲- هنگام ورود Email ID نامعتبر و Password معتبر، رفتار سیستم را چک کنید.
۳- هنگام ورود Email ID معتبر و Password نامعتبر، رفتار سیستم را چک کنید.
۴- هنگام ورود Email ID نامعتبر و Password نامعتبر، رفتار سیستم را چک کنید.
۵- هنگام عدم ورود Email ID و Password و خالی رها کردن آنها، رفتار سیستم را چک کنید.
۶- صحت عملکرد Forget Your Password بر اساس انتظار را بررسی کنید.
۷- هنگام ورود Password و شماره تلفن Valid/Invalid، رفتار سیستم را چک کنید.
۸- هنگان انتخاب گزینه “Keep me signed” تیک میشود، رفتار سیستم را چک کنید.
همانطور که واضح است، Test Caseها مواردی بسیار خاصتر و جزیی نگر تر هستند.
Test Scenario 2: بررسی Functionality جستجو
Test Scenario 3: صفحه توضیحات محصول را بررسی کنید
Test Scenario 4: عملکرد و Functionality پرداخت را بررسی کنید
Test Scenario 5: تاریخچه سفارش را بررسی کنید
جدا از این ۵ سناریو، لیستی از همه سناریوهای دیگر ارائه شده است، که عبارتند از:
- رفتار صفحه اصلی برای بازگشت مشتریان را بررسی کنید.
- صفحات Category/Product را بررسی کنید.
- صفحات Customer Service/Contact را بررسی کنید.
- صفحات تخفیفات روزانه(Daily Deals) را بررسی کنید
مثال ۲: Test Scenarioها برای یک سایت بانکداری
Test Scenario 1: عملکرد ورود و تایید هویت(Authentication) را بررسی کنید
Test Scenario 2: انتقال پولی که میتواند انجام شود را بررسی کنید.
Test Scenario 3: وضعیت حساب(Account Statement) که میتواند رویت شود را بررسی نمایید.
Test Scenario 4: ایجاد سپرده کوتاه مدت و بلند مدت را بررسی نمایید.
و غیره …
این مطلب بخشی از دوره آموزشی رایگان تست نرمافزار بود، که میتوانید تمامی مطالب این دوره رایگان را در اینجا مشاهده نمایید.