Дослідницьке тестування (Exploratory testing)
Last updated
Last updated
Дослідницьке тестування (exploratory testing): Неформальний метод проектування тестів, при якому тестувальник активно контролює проектування тестів у той час, як ці тести виконуються, та використовує отриману під час тестування інформацію для проектування нових та покращених тестів. (Bach)
Дослідницьке тестування (exploratory testing): Тестування, засноване на досвіді, при якому тестер спонтанно розробляє та виконує тестування на основі існуючих відповідних знань тестера, попередніх досліджень елемента тестування (включаючи результати попередніх тестувань) та евристичних "емпіричних правил" для загальної поведінки програмного забезпечення та типів відмови. Примітка - Дослідницьке тестування спрямоване на виявлення прихованих властивостей (включаючи і приховану поведінку), які самі по собі, з одного боку, цілком можливо, нешкідливі, але, з іншого боку, можуть вплинути на інші властивості програмного забезпечення, що тестується, і тим збільшити ризик того, що програмне забезпечення перестане працювати. (ГОСТ 56920)
Дослідницьке тестування – одночасно є і технікою, і видом тестування. Загалом ми так чи інакше завжди використовуємо комбінацію сценарного та дослідницького підходів. Exploratory testing має на увазі під собою одночасно вивчення проекту, функціоналу, тест-дизайн в розумі і тут же виконання тестів, після чого даний цикл може повторюватися необхідну кількість разів, щоразу покращуючи створювані кейси та документуючи пройдені сесії.
Джеймс Бах зазначив важливу характеристику дослідницького тестування - тестувальник бере участь когнітивно. Він активно, цілеспрямовано, з цікавістю досліджує програмне забезпечення, що тестується, завжди приймаючи на себе відповідальність щохвилини вирішувати, який шлях до того, що він обрала для дослідження, є найбільш багатообіцяючим. Немає жодних штучних обмежень на розвідку. Тестувальник може вільно використовувати будь-які доступні джерела інформації, включаючи специфікації, записи служби технічної підтримки, реалізації порівняльного програмного забезпечення конкурентами та (звичайно) експерименти (тести), які емпірично розкривають інформацію. Немає жодних обмежень на методи тестування, які можуть використовувати дослідники – наприклад, будь-який ступінь автоматизації підійде. Проте дослідник не просто перезапускає старі тести, а тестує, щоб навчатися. Ймовірно, він уважно вивчатиме поведінку програми під час її тестування, шукаючи нові ідеї про те, як вона може вийти з ладу, як її можна було б надалі протестувати чи виміряти, і наскільки корисні ці тести на даному етапі розробки. Виконання тестів можна автоматизувати, а мислення – ні. Антитезою дослідження є тестування за сценарієм, в якому тестувальник (або машина) слідує набору процедур, викладених давно, порівнюючи поведінку, що спостерігається, з будь-якими результатами, які розробник тестів вважав актуальними або цікавими в той час. Пізнання сталося тоді, а чи не зараз. Обсяг дослідження такий самий, як і обсяг самого тестування. Різниця в тому, що дослідник виконує їх у будь-якій корисній послідовності,
Підхід до тестування :
Використовуйте евристики для керування тестуванням;
Виконання та створення тест-кейсів йдуть пліч-о-пліч;
Тест-кейси продовжують розвиватися на основі спостережень та навчання тестувальників;
До ET можуть застосовуватись різні методи тестування, такі як аналіз граничних значень, класи еквівалентності тощо;
ET можна використовувати сесійно, щоб зробити його більш структурованим і сфокусованим;
Тестувальники можуть розвивати свої ідеї, але ніколи не відхилятися від своєї місії;
Тестування ET не використовує сценарії, а залежить від інтуїції, навичок та досвіду тестувальника;
Тури в дослідницькому тестуванні : Щоб систематизувати дослідницьке тестування, можна використовувати ідею турів. Тури - це ідеї та інструкції щодо дослідження програмного продукту, об'єднані певною загальною темою або метою. Тури, як правило, обмежені за часом – тривалість тестової сесії не повинна перевищувати 4 години. Ідею турів розвивали у своїх роботах Канер, Бах, Хендріксон, Болтон, Кохл та інші. Джеймс Віттакер (James A. Whittaker), хоч і не вигадав саму ідею турів, але запропонував свій підхід до дослідницького тестування з використанням турів та у своїй книзі “Exploratory Software Testing” у доступній формі озвучив ідею турів та описав самі тури.
Тур – це свого роду план тестування, він відображає основні цілі та завдання, на яких буде сконцентровано увагу тестувальника під час сесії дослідницького тестування. При цьому Віттакер використовує метафору, що тестувальник - це турист, а додаток, що тестується, - це місто. Зазвичай у туриста (тестувальника) мало часу, тому він виконує конкретне завдання в рамках обраного туру, ні на що інше не відволікаючись. Місто (ПЗ) розбите на райони: діловий центр, історичний район, район розваг, туристичний район, район готелів, неблагополучний район.
Джерела:
Дод. матеріал: