- •Розділ 1 структурне тестування програмного забезпечення
- •Тема 1.1 Класифікація принципів тестування програмного забезпечення
- •1. Структурні критерії (клас і)
- •2. Функціональні критерії (клас II)
- •3. Стохастичні критерії (клас III)
- •4. Мутаційний критерій (клас IV)
- •Тема 1.2 Переваги та недоліки принципів тестування
- •Тема 1.3 Кроки способу тестування базового шляху
- •Тема 1.4 Спосіб тестування потоків даних
- •Тема 1.5 Тестування вкладених циклів
- •Розділ 2 функціональне тестування програмного забезпечення
- •Тема 2.1 Спосіб тестування діаграм причин-наслідків
- •Тема 2.2 Тестування елементів
- •Тема 2.3 Переваги та недоліки низхідного та висхідного тестування
- •Тема 2.4 Стресове тестування та тестування виробності
- •Тема 2.5 Переваги та недоліки різних методів відлагодження
Тема 2.4 Стресове тестування та тестування виробності
Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.
На попередніх кроках тестування способи «білого» і «чорного ящиків» забезпечували повну оцінку нормальних програмних функцій і якості функціонування. Стресові тести проектуються для нав'язування програмам ненормальних ситуацій. По суті, проектувальник стресового тесту запитує, як сильно можна розхитати систему, перш ніж вона відмовить?
Стресове тестування виконується при ненормальних запитах на ресурси системи (по кількості, частоті, розміру-обсягу).
Приклади:
генерується 10 переривань у секунду (при середній частоті 1,2 переривання в секунду);
швидкість уведення даних збільшується прямо пропорційно їхньої важливості (щоб визначити реакцію вхідних функцій);
формуються варіанти, що вимагають максимуму пам'яті й інших ресурсів;
генеруються варіанти, що викликають переповнення віртуальної пам'яті;
проектуються варіанти, що викликають надмірний пошук даних на диску.
По суті, випробувач намагається зруйнувати систему. Різновид стресового тестування називається тестуванням чутливості. У деяких ситуаціях (звичайно в математичних алгоритмах) дуже малий діапазон даних, що втримується в границях правильних дані системи, може викликати помилкову обробку або різке зниження продуктивності. Тестування чутливості виявляє комбінації даних, які можуть викликати нестабільність або неправильність обробки.
Тестування продуктивності.
У системах реального часу й вбудованих систем неприпустимо ПЗ, що реалізує необхідні функції, але не відповідає вимогам продуктивності.
Тестування продуктивності перевіряє швидкість роботи ПЗ у комп'ютерній системі. Продуктивність тестується на всіх кроках процесу тестування. Навіть на рівні елемента при проведенні тестів «білого ящика» може оцінюватися продуктивність індивідуального модуля. Проте, поки всі системні елементи не об'єднаються повністю, не може бути встановлена істинна продуктивність системи. Іноді тестування продуктивності сполучають зі стресовим тестуванням. При цьому нерідко потрібно спеціальний апаратний і програмний інструментарій. Наприклад, часто потрібен точний вимір використовуваного ресурсу (процесорного циклу й т.д.). Зовнішній інструментарій регулярно відслідковує інтервали виконання, реєструє події (наприклад, переривання) і машинні стани. За допомогою інструментарію випробувач може виявити стани, які приведуть до деградації й можливих відмов системи.
Контрольні запитання:
Суть стресового тестування
Суть тестування виробності (продуктивності).
Тема 2.5 Переваги та недоліки різних методів відлагодження
Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.
Основна перевага аналітичних методів відлагодження полягає в тому, що вихідна програма залишається без змін.
В експериментальних методах для простежування виконується:
Видача значень змінних у зазначених точках.
Трасування змінних (видача їхніх значень при кожній зміні).
Трасування потоків керування (імен викликуваних процедур, міток, на які передається керування, номерів операторів переходу).
Перевага експериментальних методів налагодження полягає в тому, що основна рутинна робота з аналізу процесу обчислень перекладається на комп'ютер. Багато трансляторів мають убудовані засоби налагодження для одержання інформації про хід виконання програми.
Недолік експериментальних методів налагодження — у програму вносяться зміни, при виключенні яких можуть з'явитися помилки. Втім, деякі системи програмування створюють спеціальний отладочный екземпляр програми, а в основний екземпляр не втручаються.
Контрольні запитання:
Які переваги та недоліки має застосування аналітичних методів налагодження?
Які переваги та недоліки має застосування експериментальних методів налагодження?