Exploratory Testing (дослідницьке тестування) — це нестандартизований підхід до тестування, при якому тестувальник одночасно вивчає продукт, проектує тести і виконує їх, не дотримуючись жорстко прописаних тест-кейсів.
Що таке Exploratory Testing?
Це тип тестування, коли:
- Тестувальник використовує власну інтуїцію, досвід і знання, щоб знаходити помилки.
- Заздалегідь немає детального плану тестування (або він мінімальний).
- Тестування виконується динамічно, за принципом “спробуй і подивись, що станеться”.
- Основна ідея — вивчити поведінку системи, особливо в нестандартних або неочевидних ситуаціях.
Основні риси Exploratory Testing
| Характеристика | Пояснення |
| Неформальність | Зазвичай не використовуються формальні тест-кейси |
| Одночасність | Планування, виконання і аналіз тестів відбуваються одночасно |
| Креативність | Тестувальник застосовує власну креативність та логіку |
| Адаптивність | Підхід змінюється на ходу в залежності від результатів |
| Документування | Мінімальне або по факту: тестувальник записує результати під час або після тесту |
Коли використовувати Exploratory Testing?
- Коли мало документації або вона застаріла
- При обмеженому часі на тестування
- Після великих змін, коли треба перевірити нову поведінку
- Для виявлення неочевидних багів, які не покриваються звичайними тест-кейсами
- На ранніх етапах розробки, коли ще немає формалізованих тестів
Переваги
- Виявляє нестандартні, складні або граничні баги
- Дає можливість протестувати те, що не враховано в тест-кейсах
- Швидке охоплення системи
- Підходить для Agile / Scrum, де зміни постійні
Недоліки
- Важко відтворити тести, якщо не задокументовано кроки
- Залежить від досвіду тестувальника
- Менше контрольоване з точки зору менеджменту
- Не замінює формального тестування при критичних системах (медичне ПЗ, банківські системи тощо)
Приклад
У вас є нова форма замовлення товару. Ви, без формальних сценаріїв, починаєте вводити неочікувані значення (наприклад, негативну ціну, дуже довгі коментарі, спеціальні символи), натискати кнопки у випадковому порядку, перезавантажувати сторінку під час введення і т.д. Ви спостерігаєте, як система реагує, і шукаєте дивну поведінку.
Висновок
Exploratory Testing — це гнучкий і ефективний спосіб виявлення багів, який базується на людській винахідливості, спостережливості та досвіді. Це не альтернатива формальному тестуванню, а потужне доповнення, особливо коли треба шукати “слабкі місця” у системі.