Слайд 2ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Історичний прогрес розуміння цілей тестування:
До 1956 –
орієнтація на відлагодження.
1957 – 1978 – орієнтація на встановлення відповідності ПС вихідним вимогам.
1979 – 1982 – орієнтація на виявлення дефектів, які залишились після реалізації.
1983 – 1987 – орієнтація на аналіз, перевірку та тестування з метою оцінки якості ПС на усіх стадіях розробки.
1988 – 1995 – інтеграція дій по перевірці і тестуванню в життєвий цикл ПС з метою попередження появи дефектів на усіх стадіях розробки.
Після появи в 1995 році міжнародних стандартів якості ПС усі дії пов’язані із створенням ПС представлені у вигляді окремих процесів ЖЦ.
Слайд 3ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Тестування полягає в динамічній перевірці поведінки програми
на скінченій множині тестових даних, спеціальним чином вибраних із нескінченного вхідного простору, на відповідність встановленій очікуваній поведінці (проблема оракула).
Два основних підходи до виконання тестування: деструктивний і конструктивний
Ключові питання тестування:
Критерії вибору тестів / правила зупинки.
Ефективність тестування / цілі тестування.
Тестування для виявлення дефектів.
Проблема оракула.
Теоретичні і практичні обмеження тестування.
Проблема шляхів, що ніколи не виконуватимуться.
Слайд 4ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
4 основних рівня тестування:
Модульне тестування – перевірка
функціональності об’єктів в ізоляції один від одного.
Інтеграційне тестування – перевірка правильності взаємодії між програмними об’єктами, протестованими автономно.
Тестування ПЗ – перевірка функціонування інтегрованої версії ПЗ в модельованому середовищі.
Системне тестування – оцінка якості взаємодії ПЗ з іншими програмними системами (у тому числі не програмними, компонентами системи).
Слайд 5ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Види випробовувань ПС.
Попередні випробовування – вищий рівень
формального тестування ПС, який виконується в середовищі розробки.
Приймальні випробовування проводяться виключно в контексті вимог замовника з його безпосередньою участю і в середовищі експлуатації.
Тестування інсталяції.
Альфа і бета тестування (внутрішні і зовнішні користувачі).
Регресійне тестування.
Слайд 6ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Види тестування характеристик ПС:
Функціональне тестування.
Тестування безпеки.
Тестування зручності
застосування (ергономічності).
Тестування технічних характеристик.
Тестування на надійність.
Тестування продуктивності:
Тестування навантаження (load testing).
Тестування на стійкість (stress testing).
Тестування об’єму (volume testing).
Тестування конфігурації.
Порівнювальне тестування (в ітераційних моделях розробки).
Тестування відновлення.
Розробка керована тестами (екстремальне програмування).
Слайд 7ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Класифікація методів тестування
Методи, засновані на досвіді та
інтуїції (Ad hoc).
Методи, засновані на специфікації – таблиці рішень для проектування тестів, функціональні діаграми, метод еквівалентного розбиття, аналіз граничних значень, тестування переходів між станами програми. Генерація тестів по формальним специфікаціям, випадкове тестування.
Методи, засновані на аналізі коду (структурні) – тестування потоку керування, тестування потоку даних.
Методи направленого пошуку помилок – припущення про помилки, відсів помилок, мутаційне тестування.
Слайд 8ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Методи основані на аналізі очікуваного використання (сценарії
можливого використання).
Методи, які враховують специфіку програмної системи:
Тестування ООП (розробка тест-кейсів, тестування внутрішньої структури класу, взаємодії класів).
Веб-застосувань.
Графічного інтерфейсу користувача.
Протоколів.
Систем реального часу.
Критичних систем (аналіз критичності, аналіз дерев подій, дерев відмов).
Слайд 9ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Тестування веб-програм проводиться на 3-х рівнях:
Інтерфейс користувача.
Сервер.
Протоколи
взаємодії.
Складаються контрольні питання для перевірки зручності застосування веб-програм по наступним розділам:
Архітектура і навігація сайту.
Планування та дизайн сайту.
Зміст сайту.
Форми і взаємодія.
Графіка.
Кольори.
Оформлення тексту.
Стійкість до помилок.
Платформа і особливості реалізації.
Слайд 10ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Класифікація дефектів по серйозності:
Критичний рівень – дефект
призводить до відмови усієї системи.
Серйозний – дефект призводить до відмови компонент ПЗ, втрати даних.
Значний – дефект призводить до отримання некоректних, неповних результатів або торкається незручності використання системи.
Незначний – дефект не призводить до відмов, не погіршує зручність використання і його можна легко обійти.
Не дефект – помилки в тестах, відмова апаратного або програмного середовища.
Слайд 11ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Типи дефектів:
Логічні.
Обчислювальні.
Інтерфейсу.
Обробки даних.
Вводу даних.
Обробки помилок.
Слайд 12ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Основні метрики підрахунку дефектів:
Кількість дефектів.
Щільність дефектів.
Інтенсивність відмов.
Середній
час між відмовами.
Динаміка виконання тестів (відношення кількості виконаних до запланованих).
Динаміка виявлення дефектів (відношення кількості тестів, що виявили дефекти до загальної).
Загальний стан виконання тестування (відношення кількості успішно пройдених тестів до загальної кількості).
Слайд 13ПРОЦЕСИ ТА СИСТЕМИ ПІДТРИМКИ ЯКОСТІ ПРОГРАМНИХ СИСТЕМ
Критерії завершення тестування
Найбільш розповсюджений – вичерпано час
відведений на тестування.
Згідно стандартів можна сформулювати комплексний критерій завершення тестування:
Усі заплановані функціональні тести пройшли.
Структурне тестування було виконано набором тестів, який забезпечив 100% покриття рядків, 80% покриття логічних умов і 100% покриття викликів процедур.
Нема відкритих дефектів серйозності 1, 2, 3 і щільність дефектів нижче ніж 0.5 дефектів на KSLOC.
Інтенсивність виявлення відмов не вище 40 нових відмов на 1000 годин тестування.
Тривалість неперервного функціонування ПС без відмови досягає 100 годин.