Entry Criteria та Exit Criteria — це набір умов (критеріїв), які визначають:
- коли можна починати тестування (Entry Criteria)
- коли тестування можна вважати завершеним (Exit Criteria)
Вони допомагають контролювати якість, ризики та готовність продукту на різних етапах тестування.
Entry Criteria (Критерії входу)
Визначення
Entry Criteria — це умови, які повинні бути виконані перед початком тестування конкретного етапу або виду тестування.
Якщо Entry Criteria не виконані — тестування не повинно починатися, оскільки результати будуть ненадійними.
Навіщо потрібні Entry Criteria
- Запобігають початку тестування «сирого» продукту
- Зменшують кількість блокуючих дефектів
- Економлять час команди
- Допомагають планувати ресурси
Типові приклади Entry Criteria
Для Functional Testing:
- Вимоги затверджені та стабільні
- Доступна тестова документація (Test Plan, Test Scenarios, Test Cases)
- Збірка (build) успішно задеплоєна в тестове середовище
- Тестове середовище налаштоване
- Тестові дані підготовлені
- Немає критичних блокуючих дефектів з попередньої фази
Для Regression Testing:
- Виправлення дефектів доставлені в новому білді
- Smoke / Sanity тестування пройдено
- Визначений обсяг регресії
Exit Criteria (Критерії виходу)
Визначення
Exit Criteria — це умови, які повинні бути виконані для завершення тестування або переходу до наступної фази.
Вони визначають момент, коли продукт вважається достатньо протестованим.
Навіщо потрібні Exit Criteria
- Дають об’єктивну відповідь: «Чи готовий продукт?»
- Захищають QA від передчасного релізу
- Допомагають приймати release-рішення
- Забезпечують прозорість для бізнесу
Типові приклади Exit Criteria
- Виконано 100% запланованих тестів
- 0 критичних (Blocker / Critical) дефектів
- Всі High-дефекти або виправлені, або прийняті бізнесом
- Відсоток успішних тестів ≥ 95%
- Регресійне тестування завершено
- Всі відомі ризики задокументовані
- Тест-звіт підготовлений і затверджений
Приклад у контексті проєкту
Entry Criteria для System Testing:
- Бізнес-вимоги затверджені
- Код завершений і переданий у QA
- Smoke тестування пройдено
- Тестове середовище готове
Exit Criteria для System Testing:
- Усі тест-кейси виконані
- Немає дефектів рівня Critical
- High-дефекти мають прийнятні workaround
- Продукт готовий до UAT
Entry vs Exit Criteria (порівняння)
| Критерій | Entry Criteria | Exit Criteria |
| Призначення | Коли починати тестування | Коли завершувати тестування |
| Час | До початку фази | Після завершення фази |
| Фокус | Готовність до тестування | Якість продукту |
| Захищає від | Передчасного старту | Передчасного релізу |
Де фіксуються Entry / Exit Criteria
Найчастіше вони описуються в:
- Test Plan
- Test Strategy
- Definition of Ready (DoR) — Entry
- Definition of Done (DoD) — Exit
- Процедурах якості (QA Process)
В Agile / Scrum
Entry Criteria ≈ Definition of Ready
- User Story описана
- Є acceptance criteria
- Немає відкритих питань
Exit Criteria ≈ Definition of Done
- Код завершено
- Тести пройдені
- Дефекти закриті
- Функціонал готовий до релізу
Типові помилки
- Починати тестування без готових вимог
- Відсутність чітких Exit Criteria
- Ігнорування серйозних дефектів перед релізом
- Формальні критерії без реального контролю
Короткий підсумок
Entry Criteria визначають, коли тестування можна починати, а Exit Criteria — коли його можна безпечно завершувати.