Test scenario — tizimdagi muayyan funksiya, foydalanuvchi maqsadi yoki riskni tekshirish uchun yuqori darajada tavsiflangan holatdir. U “nima tekshiriladi” degan doirani ko‘rsatadi; batafsil test case esa kirishlar, qadamlar va kutilgan natijani aniq yozadi. Tashkilotlar bu ikki atamani ba’zan bir-biriga yaqin ishlatadi.
Scenario manbalari
Requirement, user story, use case, business process, architecture va incident tarixi scenario yaratish uchun manba bo‘ladi. “Foydalanuvchi parolini tiklaydi” funksional scenario, “email provider javob bermaganda tiklash so‘rovi yo‘qolmaydi” esa resilience riskiga qaratilgan scenario hisoblanadi.
Har requirementni uning matnini takrorlaydigan bitta scenarioga aylantirish yetarli emas. Boundary, permission, invalid input, concurrency, interruption va state transition ko‘rib chiqiladi. Productionda ko‘p ishlatiladigan yoki katta ta’sirli oqim ustuvor bo‘ladi.
Scenario tarkibi
Yaxshi scenario nomi maqsad va kutilgan xatti-harakatni ajratadi. U boshlang‘ich kontekst, actor, amal va kuzatiladigan natijani yetarli darajada bildiradi. Hali qiymatlar va click-by-click qadamlar kerak bo‘lmasa yuqori darajada qoladi.
Masalan, “bloklangan hisob to‘g‘ri parol bilan ham kira olmaydi” scenario nomi “Login test 7”dan ma’noliroq. Keyingi test case account turi, parol va kutilgan error code ni aniq beradi. Scenario traceability uchun requirement yoki risk ID bilan bog‘lanadi.
Ijobiy va salbiy holatlar
Positive scenario yaroqli kirishda asosiy oqimni tekshiradi. Negative scenario noto‘g‘ri yoki ruxsatsiz amal xavfsiz rad etilishini tekshiradi. “Salbiy” natija test yiqilishi degani emas; tizim kutilgan xatoni qaytarsa scenario muvaffaqiyatli hisoblanadi.
Abuse case zararli yoki noto‘g‘ri foydalanishni ko‘radi. Rate limit, privilege escalation va input injection security scenario bo‘lishi mumkin. Bularni umumiy “security test” nomi ostida qoldirish qamrovni noaniq qiladi.
Scenario va data
Scenario Outline yoki parametrli test bir xatti-harakatni bir nechta data to‘plamida bajaradi. Equivalence partition barcha mumkin qiymat o‘rniga vakil sinflarni tanlaydi. Boundary value limitning oldi, o‘zi va keyinini tekshiradi.
Data scenario maqsadini ko‘rsatishi kerak. Yuzlab jadval qatori bitta yuqori darajadagi scenario ichida yashirilsa, qaysi biznes qoida tekshirilayotgani yo‘qoladi. Ko‘p kombinatsiya past darajadagi avtomatik testga ajratilishi mumkin.
Lifecycle
Scenario reviewda requirement bilan mosligi, takrorlanishi va ustuvorligi tekshiriladi. Funksiya o‘zgarsa scenario yangilanadi yoki sabab bilan retired qilinadi. O‘tmayotgan eski scenario doim skip qilinsa test repositoryga ishonch pasayadi.
Bajarilish natijasi build, muhit va dalil bilan saqlanadi. Blocked scenario mahsulot defecti bo‘lmasligi mumkin; test data, environment yoki dependency yetishmasligi aniq ko‘rsatiladi.
Scenario to‘plamini boshqarish
Scenario lar capability, risk va test darajasi bo‘yicha taglanadi. Smoke to‘plami kritik asosiy oqimni tez tekshiradi, regression kengroq qamrov beradi. Taglar chalkash bo‘lsa bir xil test turli pipeline da keraksiz takrorlanadi. Har scenario egasi va oxirgi ko‘rib chiqilgan sanaga ega bo‘lishi mumkin.
End-to-end chegarasi
Bir scenario barcha tizimni kesib o‘tishi mumkin, ammo har biznes qoidasini faqat end-to-end darajada test qilish sekin va mo‘rt to‘plam yaratadi. Contract va component testlar xatoni aniqroq joyda topadi. End-to-end scenario asosiy integratsiya va foydalanuvchi qiymatini tasdiqlash uchun tanlanadi.
Test oracle
Kutilgan natija requirement, invariant, hisob-kitob yoki mustaqil reference systemdan olinadi. Dastur qaytargan qiymatni snapshotga birinchi marta ko‘r-ko‘rona tasdiqlash mavjud defectni standartga aylantirishi mumkin. Snapshot domain expert tomonidan ma’nosi bo‘yicha review qilinadi.
Bog‘liq tushunchalar
Test case, Use case, Acceptance criteria, Scenario Outline, Test data, Traceability, Risk-based testing