І чим воно відрізняється від тестування за сценаріями (сценарного тестування)
Паралельне проектування та виконання тестів
Баланс між дослідницьким і сценарним тестуванням
Якщо кожен наступний тест, який ми виконуємо, вибирається за результатами попереднього тесту, це означає, що ми використовуємо дослідне тестірованіе.Ми починаємо займатися пошуками і дослідженнями, коли ми не можемо сказати, які випробування повинні бути виконані, або коли ми ще не мали можливості ці тести створити, тобто думка про їх написанні навіть не приходила нам в голову. Якщо ми йдемо за сценаріями, і на світло випливає нова інформація, яка пропонує нам кращу стратегію тестування, ми можемо перейти до пошукового режиму (як і в разі виявлення нової помилки, яка вимагає докладного розгляду). З іншого боку, ми більше слідуємо сценарному підходу, коли 1) невизначеність в тому, як ми хочемо перевірити, мала 2) нові тести щодо неважливі, 3) необхідність забезпечення ефективності та надійності у виконанні цих тестів варто зусиль по роботі з подібними тестами, 4 ) ми готові платити за написання і підтримку тестів.
Результати дослідного тестування не обов'язково радикально відрізняються від тих, які ми отримуємо за допомогою сценарного тестування і обидва ці підходи до тестування є повністю сумісними. Такі компанії, як Nortel і Microsoft зазвичай використовують обидва підходи в одному проекті. Проте є багато важливих відмінностей між двома підходами.
Навіщо проводити дослідне тестування?
Найбільш обговорюваними темами в управлінні ефективним дослідний циклом тестування є тестувальник, стратегії тестування і звітність. Сценарний підхід до тестування є спробою механізувати процес тестування, коли береться ідея з голови тест-дизайнера і викладається на папері. Подібний спосіб тестування дуже корисний. Але тестувальники, що використовують дослідницький підхід, дотримуються думки, що запис тестових сценаріїв і дотримання ним «отупляє» тестувальника, заважаючи йому швидко знаходити ключові проблеми. Чим більш інтелектуальним ми можемо зробити тестування, тим більше шансів у нас буде, що ми протестуємо додаток правильно і встигнемо зробити це вчасно. В цьому і полягає міць дослідного тестування: багатство цього процесу обмежується тільки широтою і глибиною нашої фантазії, а також нашим розумінням природи тестованого програми.
Сценарне тестування займають свою нішу. Я можу собі уявити ситуації в тестуванні, коли ефективність і відтворюваність настільки важливі, що ми повинні написати сценарії для них або їх автоматизувати. Наприклад, в разі, коли тестова платформа регулярно буває недоступна, як у випадку клієнт-серверних додатків, в яких є тільки кілька налаштованих серверів і вони повинні бути розділені між командами розробки і тестування. Здоровий глузд підказує нам, що ми повинні заздалегідь ретельно опрацювати сценарій тестів, щоб отримати максимальну віддачу під час виконання тестів в виділене нам час. Дослідницьке тестування особливо корисно в складних ситуаціях тестування, коли мало що відомо про продукт, або як частина підготовки набору сценаріїв тестів. Основне правило полягає в наступному: дослідницьке тестування використовується в тих випадках, коли виконання наступного тесту неочевидно, або коли ви хочете вийти за рамки очевидного. З мого досвіду, це відбувається в більшості випадків.