Use Case Testing (Тестування на основі сценаріїв використання) — це метод тестування програмного забезпечення, при якому тестові сценарії створюються на основі use cases — описів того, як користувачі взаємодіють із системою для досягнення певної цілі.
Іншими словами, ми перевіряємо, чи працює система так, як її очікує бачити користувач у реальному житті.
Основи Use Case (варіанту використання)
Use Case — це сценарій взаємодії користувача з системою. Він включає актора, мету, передумови, основний потік, альтернативи, виключення.
| Компонент | Опис |
| Актор | Хто використовує систему (користувач, адміністратор, інша система) |
| Мета (ціль) | Що актор хоче зробити |
| Передумови | Що має бути виконано до початку |
| Основний потік | Кроки, які ведуть до успішного завершення |
| Альтернативи | Інші варіанти виконання |
| Виключення | Що відбувається при помилці |
Як проводиться Use Case Testing?
Крок 1: Збір use cases
Це може бути:
- UML діаграми
- Опис у вигляді тексту
- Специфікація вимог
Наприклад, бізнес-аналітик створює документ із сценаріями, які повинен підтримувати продукт.
Крок 2: Аналіз варіантів використання
Визначаємо:
- основні сценарії (успішне завершення)
- альтернативні шляхи
- виняткові ситуації (некоректні дії користувача, помилки системи)
Крок 3: Створення тест-кейсів
Для кожного сценарію створюються тест-кейси, які перевіряють:
- правильність логіки
- реакцію системи на помилки
- обробку неочікуваних даних
- взаємодію між різними компонентами
Приклад
Use Case: Авторизація користувача
| Компонент | Деталі |
| Актор | Користувач |
| Мета | Увійти в систему |
| Передумова | Користувач має обліковий запис |
| Основний потік | 1. Користувач вводить логін і пароль 2. Натискає “Увійти” 3. Система перевіряє дані 4. Система впускає користувача |
| Альтернативний потік | Пароль неправильний — показати помилку |
| Виключення | Сервер не доступний — повідомлення про помилку з’єднання |
Приклади тест-кейсів:
| Test Case ID | Назва | Кроки | Очікуваний результат |
| TC001 | Успішна авторизація | Ввести правильний логін/пароль, натиснути “Увійти” | Вхід у систему |
| TC002 | Неправильний пароль | Ввести логін + неправильний пароль | Повідомлення: “Невірний пароль” |
| TC003 | Порожнє поле логіна | Залишити поле логіна пустим | Повідомлення: “Заповніть логін” |
| TC004 | Сервер недоступний | Ввести дані, але сервер не відповідає | Повідомлення: “Сервер тимчасово недоступний” |
Де це застосовується?
Use Case Testing застосовується при:
- Функціональному тестуванні
- Інтеграційному тестуванні
- Системному тестуванні
- User Acceptance Testing (UAT)
Чому це важливо?
| Перевага | Пояснення |
| Орієнтація на користувача | Тестування реальних сценаріїв використання |
| Покриття бізнес-логіки | Не лише технічні аспекти, а саме бізнес-мета |
| Краще розуміння між командою | Одні й ті ж use cases використовуються BA, QA, Dev |
| Легше виявити інтеграційні помилки | Use cases часто охоплюють кілька модулів одночасно |
Use Case Testing vs Інші типи тестування
| Тип тестування | Орієнтація | Приклад |
| Use Case Testing | Бізнес-сценарії | Вхід користувача, замовлення товару |
| Unit Testing | Окрема функція | Перевірка функції login() |
| Functional Testing | Окрема функція/екран | Перевірка роботи форми логіну |
| Integration Testing | Зв’язки між модулями | Логін + перевірка прав доступу |
Use Case Testing — це важливий підхід до тестування з точки зору користувача, який дозволяє протестувати реальні сценарії використання та підвищує якість програмного забезпечення, бо орієнтований на цілі.