
- •Місце тестування у життєвому циклі програмних продуктів
- •Жц розробки пз із завданнями і діями для процесу тестування
- •Визначте процеси досягнення надійності на жц
- •Задачі процесу тестування
- •Моделі якості пз
- •Визначте характеристики якості пс і їхнє призначення
- •Основні цілі й завдання системи керування якістю.
- •Які методи визначають показники якості?
- •Визначте метрики програмного продукту і їхні складові.
- •Методи контролю якості
- •Методи забезпечення якості
- •Поняття тестування
- •Основні задачі процесу тестування
- •Рівні тестування
- •Види тестування
- •Поняття тестів та тестового покриття
- •Перевірка на моделях
- •Помилки в програмах
- •Завдання і цілі процесу верифікації
- •Забезпечення якості
- •Метрики по забезпеченню якості
- •Метрики якості
- •Метрики програмного продукту
- •Метрики використання
- •Поняття якості пз
- •Рівні подання моделі якості пз
- •Що таке сертифікація програмного продукту
- •Процес верифікації
- •Процес валідації
- •Підхід до валідації сценарію вимог
- •Верифікація об’єктних моделей
- •Процес тестування за життєвим циклом
- •Поняття тесту
- •Тестові артефакти
- •Тест план
- •Тестовий випадок (Test Case)
- •Тест дизайн
- •Важливість і пріоритет дефекту
- •Градація серйозності дефектів
- •Вимоги до кількості відкритих багів
- •Помилки при написанні баг репортів
- •Техніка, що базується на інтуїції і досвіді інженера (Based on the software engineer’s intuition and experience)
- •Техніка, що базується на специфікації (Specification-based techniques)
- •Техніка, орієнтована на код (Code-based techniques)
- •Тестування, орієнтоване на дефекти (Fault-based techniques)
- •Техніки, що базуються на умовах використання
- •Техніки, що базуються на природі додатку
- •Функціональні види тестування
- •Нефункціональні види тестування
Поняття тесту
Тест — сукупність вхідних даних для програми, а також точний опис всіх результатів, які повинна виробити програма на цих даних.
Тестування - це перевірка відповідності ПЗ вимогах, здійснювана за допомогою спостереження за його роботою в спеціальних, штучно побудованих ситуаціях. Такого роду ситуації називають тестовими або просто тестами.
Тестові артефакти
У відповідність з процесами або методологіями розробки ПЗ , під час проведення тестування створюється і використовується певна кількість тестових артефактів (документи , моделі і т.д.). Найбільш поширеними тестовими артефактами є:
План тестування ( Test Plan ) - це документ описує весь обсяг робіт з тестування , починаючи з опису об'єкта , стратегії , розклади , критеріїв початку і закінчення тестування , до необхідного в процесі роботи обладнання , спеціальних знань , а також оцінки ризиків з варіантами їх вирішення.
Набір тест кейсів і тестів ( Test Case & Test suite ) - це послідовність дій , за якою можна перевірити чи відповідає тестована функція встановленим вимогам.
Дефекти / Баг репорт ( Bug Reports / Defects ) - це документи, що описують ситуацію або послідовність дій призвела до некоректної роботи об'єкта тестування , із зазначенням причин і очікуваного результату.
Тест план
Тест план ( Test Plan ) - це документ, що описує весь обсяг робіт з тестування , починаючи з опису об'єкта , стратегії , розклади , критеріїв початку і закінчення тестування , до необхідного в процесі роботи обладнання , спеціальних знань , а також оцінки ризиків з варіантами їх дозволу .
Рекомендації з написання Тест Плану
Кожна методологія або процес намагаються нав'язати нам свої формати оформлення планів тестування. Пропоную вам , як приклад , шаблони тест планів від RUP ( Rational Unified Process ) і стандарт IEEE 829 :
Test Plan Template RUP
Test Plan Template IEEE 829
Придивившись уважніше стає ясно , що обидва документи описують одне і теж , але в різній формі . У випадку, якщо вам не підходить стандартний шаблон або ви вирішили придумати свій власний , більш відповідний для вас формат документа , то з досвіду можемо сказати , що хороший тест план повинен як мінімум описувати наступне:
Що треба тестувати ?
опис об'єкта тестування: системи , додатки , обладнання
Що будете тестувати ?
список функцій і опис тестованої системи та її компонент окремо
Як будете тестувати ?
стратегія тестування , а саме: види тестування та їх застосування по відношенню до об'єкта тестування
Коли будете тестувати ?
послідовність проведення робіт: підготовка ( Test Preparation ), тестування ( Testing ), аналіз результатів ( Test Result Analisys ) у розрізі запланованих фаз розробки
Критерії початку тестування :
готовність тестової платформи ( тестового стенду)
закінченість розробки необхідного функціоналу
наявність всієї необхідної документації
...
Критерії закінчення тестування :
результати тестування задовольняють критеріям якості продукту:
вимоги до кількості відкритих багів виконані
витримка певного періоду без зміни початкового коду програми Code Freeze (CF)
витримка певного періоду без відкриття нових багів Zero Bug Bounce ( ZBB )
...
Відповівши у своєму тест плані на перераховані вище питання , можна вважати , що у вас на руках вже є хороший чернетку документа з планування тестування. Далі , щоб документ набув більш менш серйозний вигляд , пропонуємо доповнити його наступними пунктами :
Оточення тестованої системи (опис програмно -апаратних засобів )
Необхідне для тестування обладнання та програмні засоби (тестовий стенд і його конфігурація , програми для автоматизованого тестування і т.д.)
Ризики та шляхи їх вирішення
Види тест планів
Найчастіше на практиці доводиться стикатися з наступними видами тест планів :
Майстер Тест План ( Master Plan or Master Test Plan )
Тест План ( Test Plan ) , назвемо його детальний тест план)
План приймальних випробувань ( Product Acceptance Plan ) - документ , що описує набір дій , пов'язаних з приймальним тестуванням (стратегія , дата проведення , відповідальні працівники і т.д.) ( Шаблон плану приймально-здавальних випробувань від RUP)
Явна відмінність Майстер Тест Плану від просто Тест Плану в тому , що майстер тест план є більш статичним в силу того , що містить в собі високорівневу ( High Level ) інформацію , яка не схильна частого зміни в процесі тестування і перегляду вимог . Сам же детальний тест план , який містить більш конкретну інформацію щодо стратегії , видам тестуванні , розкладом виконання робіт , є " живим " документом , який постійно зазнає змін , що відображають реальний стан справ на проекті.
У повсякденному житті на проекті може бути один Майстер Тест План і кілька детальних тест планів , що описують окремі модулі однієї програми.