Життєвий цикл тестування програмного забезпечення (STLC) – це систематичний підхід до тестування програмного забезпечення, щоб переконатися, що воно відповідає вимогам і мінімізувати ризик наявності дефектів в ньому. Це процес, який включає серію кроків або фаз, і кожна фаза має конкретні цілі та результати. STLC використовується для забезпечення високої якості, надійності програмного забезпечення та відповідності потребам кінцевих користувачів.
Основною метою STLC є виявлення та документування будь-яких дефектів або проблем у програмному додатку якомога раніше в процесі розробки. Це дозволяє ідентифікувати та вирішувати проблеми до того, як програмне забезпечення буде на завершальній стадії чи вже на ринку.
Етапи STLC включають планування тесту, аналіз тесту, розробку тесту, налаштування тестового середовища, виконання тестуванн, закриття тестування та повторне тестування дефектів. Кожен із цих етапів включає певні дії та результати, які допомагають забезпечити ретельне тестування програмного забезпечення та відповідність вимогам кінцевих користувачів.
Загалом STLC є важливим процесом, який допомагає забезпечити якість програмного забезпечення та забезпечує систематичний підхід до тестування. Це дозволяє організаціям випускати високоякісне програмне забезпечення, яке відповідає потребам їхніх клієнтів.
Аналіз вимог
Аналіз вимог є першим кроком життєвого циклу тестування програмного забезпечення (STLC). На цьому етапі команда із забезпечення якості вивчає вимоги, наприклад те, що має бути перевірено. Якщо чогось не вистачає або щось є незрозумілим, тоді команда із забезпечення якості зустрічається із зацікавленими сторонами, щоб краще зрозуміти вимоги.
Діяльність, яка виконується на етапі аналізу вимог, включає:
- Перегляд документа вимог до програмного забезпечення (SRD) та інших пов’язаних документів
- Опитування зацікавлених сторін для збору додаткової інформації
- Виявлення будь-яких двозначностей або невідповідностей у вимогах
- Виявлення будь-яких відсутніх або неповних вимог
- Виявлення будь-яких потенційних ризиків або проблем, які можуть вплинути на процес тестування
- Створення матриці відстеження вимог (RTM)
Наприкінці цього етапу команда тестування повинна мати чітке розуміння вимог до програмного забезпечення та виявити будь-які потенційні проблеми, які можуть вплинути на процес тестування. Це допоможе переконатися, що процес тестування зосереджено на найважливіших областях програмного забезпечення.
Планування тестування
Планування тестування – це важлива фаза життєвого циклу тестування програмного забезпечення, на якій визначаються всі плани тестування. На цьому етапі керівник тестування команда розраховує передбачувані зусилля та вартість роботи з тестування. Цей етап починається після завершення етапу збору вимог.
Діяльність, яка виконується на етапі планування тесту, включає:
- Визначення цілей та обсягу тестування
- Розробка стратегії тестування: вибір методів і технік тестування, які будуть використовуватися
- Визначення середовища тестування та необхідних ресурсів
- Визначення тестових випадків, які будуть виконані, і тестових даних, які використовуватимуться
- Оцінка часу та витрат, необхідних для тестування
- Визначення результатів тестування та етапів
- Розподіл ролей і обов’язків між командою тестування
- Розгляд та затвердження плану тестування
Наприкінці цього етапу команда з тестування повинна мати детальний план заходів з тестування, які будуть виконуватися, а також чітке розуміння цілей тестування, обсягу та результатів. Це допоможе переконатися, що процес тестування є добре організованим.
Розробка тестових кейсів
Фаза розробки тестових кейсів починається після завершення етапу планування тестування. На цьому етапі команда тестування записує детальні тестові приклади. Команда тестування також готує необхідні тестові дані для тестування. Коли тестові приклади готуються, їх перевіряє команда із забезпечення якості.
Діяльність, яка виконується на етапі розробки тестового прикладу, включає:
- Визначення тестів, які будуть розроблені
- Написання тестів, які є ясними, лаконічними та легкими для розуміння
- Створення тестових даних, які будуть використовуватися в тестових випадках
- Визначення очікуваних результатів для кожного тесту
- Перегляд і перевірка тестів
- Оновлення матриці відстеження вимог (RTM) для пов’язання вимог з тестовми випадками
Наприкінці цього етапу команда тестування повинна мати набір вичерпних і точних тестових випадків, які забезпечують адекватне охоплення програмного забезпечення або програми. Це допоможе переконатися, що процес тестування є ретельним, а будь-які потенційні проблеми будуть виявлені та усунені до випуску програмного забезпечення.
Налаштування тестового середовища
Налаштування тестового середовища є важливою частиною STLC. По суті, середовище тестування визначає умови, за яких тестується програмне забезпечення. Це незалежна діяльність, і її можна розпочати разом із розробкою тестів.
Виконання тестування
Після розробки тестових кейсів та налаштування тестового середовища починається фаза виконання тестування. На цьому етапі команда тестування починає виконання тестів на основі підготовлених тест кейсів під час попередньої фази.
Діяльність, яка виконується на етапі виконання тестування, включає:
- Виконання тестів: тестові випадки та сценарії, створені на етапі розробки тесту, запускаються в програмному забезпеченні для виявлення будь-яких дефектів або проблем.
- Аналіз результатів тесту: результати виконання тесту аналізуються для визначення продуктивності програмного забезпечення та виявлення будь-яких дефектів або проблем.
- Реєстрація дефектів: будь-які дефекти або проблеми, виявлені під час виконання тесту, реєструються в системі відстеження дефектів.
- Повторне тестування дефектів: будь-які дефекти, виявлені під час виконання тесту, перевіряються повторно, щоб переконатися, що їх було виправлено.
- Звіт про тестування: результати тестування документуються та повідомляються відповідним зацікавленим сторонам.
Важливо зауважити, що виконання тестування є ітераційним процесом, і його, можливо, доведеться повторювати кілька разів, доки не буде досягнуто критерії виходу з тестування.
Завершення тестування
Завершення тестування є завершальним етапом життєвого циклу тестування програмного забезпечення (STLC), на якому завершуються та документуються всі дії, пов’язані з тестуванням. Основна мета етапу закриття тестування полягає в тому, щоб переконатися, що всі дії, пов’язані з тестуванням, завершено та що програмне забезпечення готове до випуску.
Наприкінці етапу закриття тестування команда тестувальників повинна мати чітке уявлення про якість і надійність програмного забезпечення, і будь-які дефекти або проблеми, які були виявлені під час тестування, повинні бути усунені. Етап закриття тесту також включає документування процесу тестування та будь-яких отриманих уроків, щоб їх можна було використати для покращення майбутніх процесів тестування
Основні дії, які відбуваються на етапі завершення тестування, включають:
- Підсумковий звіт про тестування: створюється звіт, який підсумовує загальний процес тестування, включаючи кількість виконаних тестів, кількість знайдених дефектів і загальний відсоток проходження/відмови.
- Відстеження дефектів: дефекти, виявлені під час тестування, відстежуються та управляються, доки вони не будуть усунені.
- Очищення тестового середовища: тестове середовище очищається, а всі тестові дані та тестові артефакти архівуються.
- Звіт про завершення тестування: створюється звіт, який документує всі дії, пов’язані з тестуванням, які мали місце, включаючи цілі тестування, обсяг, розклад і використані ресурси.
- Передача знань: знання про програмне забезпечення та процес тестування надаються решті команди та будь-яким зацікавленим сторонам, яким може знадобитися ця інформація для підтримки програмного забезпечення в майбутньому.
- Відгуки та вдосконалення: Зворотній зв’язок, відгуки пов’язані із процесом тестування збираються та використовуються для покращення майбутніх процесів тестування
Важливо зауважити, що закриття тестування – це не лише документування процесу тестування, але й забезпечення того, щоб уся релевантна інформація передавалася, а будь-які отримані уроки були записані для використання в майбутньому. Метою завершення тестування є переконатися, що програмне забезпечення готове до випуску та що процес тестування було проведено організовано та ефективно.
Тестовий процес
Тестовий процес зазвичай складається з основних груп дій, таких як планування, моніторинг, аналіз тестів, розробка тестів, їх впровадження, виконання та завершення тестування. Незважаючи на те, що багато з цих дій можуть здатися логічними, вони часто виконуються ітеративно або паралельно. Ці дії з тестування зазвичай потрібно адаптувати до системи та проєкту.
Планування тестування складається з визначення цілей тестування, а потім вибору підходу, який найкращим чином досягає цілей у межах обмежень, накладених загальним контекстом.
Тестовий моніторинг і контроль. Моніторинг тестування передбачає постійну перевірку всіх тестових дій і порівняння фактичного прогресу з планом. Тестовий контроль передбачає виконання дій, необхідних для досягнення цілей тестування.
Аналіз тестів включає аналіз бази тестів для виявлення функцій, які можна перевірити, а також для визначення пріоритетів пов’язаних умов тестування разом із відповідними ризиками та рівнями ризику. Тест-основа та тест-об’єкти також оцінюються для виявлення дефектів, які вони можуть містити, і для оцінки їх тестування.
Тестовий аналіз часто підтримується використанням тестових методів. Аналіз тестів відповідає на питання «що тестувати?» з точки зору вимірних критеріїв покриття.
Розробка тестів включає розробку умов тестування в тестових випадках та іншому тестовому програмному забезпеченні. Ця діяльність часто передбачає ідентифікацію елементів покриття, які служать керівництвом для визначення вхідних даних тестового випадку. Методи тестування можна використовувати для підтримки цієї діяльності. Проєкт тестування також включає визначення вимог до тестових даних, проектування тестового середовища та визначення будь-якої іншої необхідної інфраструктури та інструментів. Дизайн тесту відповідає на питання «як тестувати?».
Впровадження тестів включає створення або отримання тестового програмного забезпечення, необхідного для виконання тесту (наприклад, тестових даних). Тестові випадки можуть бути організовані в тестові процедури та часто збираються в тестові набори. Створюються ручні та автоматизовані сценарії тестування. Процедури тестування мають пріоритети та впорядковані в розкладі виконання тесту для ефективного виконання тесту. Тестове середовище створено та перевірено на правильність налаштування.
Виконання тесту включає виконання тестів відповідно до графіка виконання тесту (тестових прогонів). Виконання тесту може бути ручним або автоматизованим. Виконання тесту може приймати різні форми, включаючи безперервне тестування або сеанси парного тестування. Фактичні результати тесту порівнюються з очікуваними. Результати тестування реєструються. Аномалії аналізуються, щоб визначити їх ймовірні причини.
Діяльність із завершення тестування зазвичай відбувається на етапах проєкту (наприклад, випуск, кінець ітерації, завершення рівня тестування) для будь-яких невирішених дефектів, запитів на зміни або створених елементів невиконаного продукту. Будь-яке тестове програмне забезпечення, яке може бути корисним у майбутньому, ідентифікується та архівується або передається відповідним командам. Діяльність тестування аналізується, щоб визначити отримані уроки та вдосконалення для майбутніх ітерацій, випусків або проєктів. Створюється звіт про завершення тестування, який повідомляється зацікавленим сторонам.
В цьому відео поговоримо про STLC
00:05 STLC
01:13 Фази STLC
02:16 Аналіз вимог
04:36 Планування тестування
06:59 Розробка тестових кейсів
09:04 Налаштування тестового середовища
10:24 Виконання тестування
12:32 Завершення тестування
16:36 Тестовий процес