Невід’ємною частиною життєвого циклу будь-якого програмного забезпечення є його тестування. Необхідність у тестуванні виникає при внесенні будь-яких змін до вихідного коду програми. Своєчасне виявлення помилок, допущених розробниками, суттєво економить фінанси та час, необхідний створення програмного продукту. Усі етапи тестування однаково важливі, під час кожного з них має бути підтверджена відповідність досягнутого результату технічному завданню. При цьому кожен черговий етап тестування може бути розпочато лише після успішного завершення попереднього.
Усього виділяють 7 етапів тестування.
Етап 1. Робота із вимогами замовника. На цьому етапі група тестувальників знайомиться з технічним завданням на програмний продукт, що створюється. Спільно з командою розробників визначається повнота, відсутність перетинань та однозначність вимог до проекту.
Етап 2. Розробка стратегії тестування. Цей етап включає:
- аналіз середовища, ресурсів та обладнання для проведення тестування;
- визначення видів тестування, які застосовуються до проекту;
- визначення способу ведення тестової документації;
- оцінка термінів тестування;
- складання плану робіт із тестування.
Етап 3. Створення тестової документації. Метою цього етапу є розробка документації, що детально описує послідовність робіт. Як правило, тестова документація включає:
- тестові сценарії (що тестуватиметься і який вид тестування буде застосовано);
- звітність про тестування (результати тестування, виявлені невідповідності та баги, серйозність допущених розробниками помилок);
- опис застосованих під час тестування методик.
Склад тестової документації безпосередньо залежить від складності проекту, тому у різних проектах вона може суттєво відрізнятись. Дуже важливо своєчасно вносити в документацію всі зміни продукту і підтримувати її в актуальному вигляді.
Етап 4. Тестування. Цей етап є найбільш тривалим і значним за обсягом робіт, що проводяться. Виконуються наступні дії:
- виконується загальна перевірка продукту;
- проводиться смоук-тестування (мінімальний набір тестів на виявлення явних помилок);
- відпрацьовуються заплановані тестові сценарії;
- формуються звіти про виявлені дефекти;
- проводиться коригування цілей тестування.
Основною метою даного етапу є виявлення максимальної кількості дефектів, здатних вплинути на працездатність системи.
Етап 5. Підготовка звіту про тестування. Підведення підсумків. Звіти про тестування є сукупністю інформаційних матеріалів про проведені заходи та результати виконаної роботи. Як правило, вони включають:
- оцінку поточної якості проекту;
- опис виявлених дефектів;
- статистику частоти відтворення дефектів;
- оцінку ефективності тестів;
- рекомендації щодо усунення багів та покращення продукту.
Етап 6. Повторне тестування. У широкому сенсі цей етап призначений для виявлення помилок у вже протестованих частинах вихідного коду і дозволяє переконатися, що раніше виявлені помилки успішно виправлені. Фактично, команди тестувальників та розробників проводять фінальне доведення продукту до ідеального бачення замовника.
Етап 7. Приймальне тестування. Цей етап тестування є фінальним перед релізом продукту. Метою приймального тестування є визначення готовності продукту, що досягається шляхом проходу тестових сценаріїв та випадків, які побудовані на основі специфікації вимог до програмного забезпечення, що розробляється. Результатом приймального тестування може стати:
- надсилання проекту на доопрацювання;
- прийняття проекту замовником як виконане завдання.
Кожен етап тестування по-своєму важливий і є частиною складного процесу, від ретельності виконання якого залежить якість розроблюваного продукту. Виявлення та усунення кожного дефекту безпосередньо впливає на працездатність програми, зручність для користувача та надійність функціоналу.