Життєвий цикл тестування ПЗ (STLC – Software Testing Life Cycle) – це визначена послідовність запланованих етапів та дій, що виконуються в процесі тестування програмного забезпечення. При цьому, кожний етап (фаза) виконується систематично, маючи власні цілі та результати. В різних компаніях етапи STLC можуть відрізнятись, проте основа залишається незмінною.
Етапи Життєвого циклу тестування ПЗ
1. Аналіз вимог (Requirements Analysis)
На цьому етапі отримуються вимоги від замовника або менеджменту проекта, котрі визначають що саме повинно бути реалізовано в кінцевому продукті. Ці вимоги можуть бути пов’язані з функціональністю або/та іншими аспектами програмного забезпечення.
Тестування на етапі аналізу вимог, має за мету переконатися, що вимоги правильно інтерпретовані, зрозумілі та послідовні. Чітко сформульовані вимоги, допомагають визначити правильні цілі для тестування, та заощадити час разом з зусиллями, в процесі розробки та тестування. Саме на цьому етапі, виправлення потенційних недоліків проекту має відносно невелику вартість, в порівнянні з наступними.
Наприкінці цього етапу, команда з тестування повинна мати чітке розуміння вимог до програмного забезпечення, та визначити потенційні проблеми, котрі можуть вплинути на процес тестування. Також обговорюються і документуються критерії початку та завершення тестування.
2. Планування тестування (Test Planning)
На цьому етапі формується план тестування, визначаються дії та ресурси, які допоможуть досягти цілей тестування (учасники та їхні ролі, інструменти, оточення). Під час планування також визначають метрики, метод збору та відстеження цих метрик. План складають виходячи з вимог, тестової стратегії та аналізу ризиків.
На етапі планування тестування, можуть бути присутні наступні активності:
- визначення цілей та обсягу тестування
- розробка стратегії тестування: вибір методів та прийомів тестування, котрі будуть використовуватись
- визначення середовища тестування та необхідних ресурсів
- визначення тестових кейсів та тестових даних, котрі будуть використовуватись під час тестування
- оцінка часу необхідного для тестування
- визначення етапів тестування
- розподіл ролей та обов’язків між членами команди тестування
- перегляд та затвердження плану тестування
3. Розробка тест-кейсів (Test Case Development)
Етап розробки тестових кейсів розпочинається після завершення планування тестування. На цьому етапі, команда з тестування створює тестові кейси, та готує необхідні тестові дані.
Етап розробки тестових кейсів, може включати в себе наступні активності:
- визначення переліку тестових кейсів, котрі будуть розроблені
- написання тестових кейсів
- створення тестових даних до тестових сценаріїв, котрі будуть використовуватися в тестових кейсах
- визначення очікуваних результатів для кожного тестового кейсу
- перевірка та валідація тестових кейсів
- оновлення матриці відстеження вимог, для відображення вимог у тестових кейсах (якщо така присутня на проекті)
4. Налаштування тестового середовища (Test Environment Setup)
Налаштування тестового середовища є важливою частиною STLC. Тестове середовище визначає умови, в яких тестується програмне забезпечення. Це незалежна діяльність, котру можна розпочати разом з розробкою тестових кейсів. У цьому процесі також може знадобитись участь DevOps або розробників, до котрих створює запити команда з тестування.
5. Виконання тестів (Test Execution)
Тести виконуються на основі готової тестової документації та правильно налаштованого тестового середовища. Усі результати тестування реєструються в системі управління тестуванням. Тести котрі мають негативний результат (фактичний результат відрізняється від очікуваного), реєструють як помилки, та передають команді розробників на доопрацювання, з подальшою повторною перевіркою після виправлення.
Слід відзначити, що виконання тестів є ітеративним процесом і може повторюватись кілька разів, поки всі виявлені дефекти не будуть виправлені, та програмне забезпечення не буде визнано придатним для випуску.
6. Завершення циклу тестування (Test Cycle Closure)
Завершальний етап життєвого циклу тестування програмного забезпечення, на котрому фіналізується та задокументовується вся діяльність, пов’язана з тестуванням. Основна мета етапу закриття тестування – переконатися, що всі роботи пов’язані з тестуванням завершені, і що програмне забезпечення готове до випуску.
Наприкінці етапу, команда з тестування повинна мати чітке розуміння, про стан якості та надійності програмного забезпечення, а всі дефекти та проблеми, котрі були виявлені під час тестування, повинні бути виправлені.
Відмінності STLC та SDLC
STLC та SDLC тісно пов’язані одне з одним, але вони одночасно переслідують різні завдання, з однією і тією ж метою, а саме:
| STLC | SDLC |
|---|---|
| STLC визначається як життєвий цикл тестування програмного забезпечення (Software Testing Life Cycle), і переважно пов’язаний з тестуванням програмного забезпечення. | SDLC визначається як життєвий цикл розробки програмного забезпечення (Software Development Life Cycle), і він пов’язаний загалом з розробкою програмного забезпечення. |
| Зосереджується лише на тестуванні програмного забезпечення. | Окрім розробки, включає етапи тестування. |
| Загалом складається з шести фаз або етапів, які описані вище. | Загалом складається з шести фаз або етапів, таких як планування, аналіз, проектування, розробка, тестування, впровадження та супровід. |
| Допомагає зробити програмне забезпечення без помилок та дефектів. | Допомагає розробляти якісне програмне забезпечення. |
Деякі з переваг слідування STLC
- забезпечення більш якісного та швидшого процесу тестування, завдяки системному підходу до тестування, виявлення та вирішення проблем
- послідовність та узгодженість конкретних дій, або STLC, важлива під час процесу тестування, щоб забезпечити правильну постановку пріоритетів, при переході від одного етапу до іншого
- відстежувати прогрес проекту легше, оскільки тестування виконується з чітко визначеними етапами та цілями