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