Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Темы на модуль(самостоялка).doc
Скачиваний:
1
Добавлен:
25.11.2019
Размер:
173.57 Кб
Скачать

Тема 2.4 Стресове тестування та тестування виробності

Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.

На попередніх кроках тестування способи «білого» і «чорного ящиків» забезпечували повну оцінку нормальних програмних функцій і якості функціонування. Стресові тести проектуються для нав'язування програмам ненормальних ситуацій. По суті, проектувальник стресового тесту запитує, як сильно можна розхитати систему, перш ніж вона відмовить?

Стресове тестування виконується при ненормальних запитах на ресурси системи (по кількості, частоті, розміру-обсягу).

Приклади:

генерується 10 переривань у секунду (при середній частоті 1,2 переривання в секунду);

швидкість уведення даних збільшується прямо пропорційно їхньої важливості (щоб визначити реакцію вхідних функцій);

формуються варіанти, що вимагають максимуму пам'яті й інших ресурсів;

генеруються варіанти, що викликають переповнення віртуальної пам'яті;

проектуються варіанти, що викликають надмірний пошук даних на диску.

По суті, випробувач намагається зруйнувати систему. Різновид стресового тестування називається тестуванням чутливості. У деяких ситуаціях (звичайно в математичних алгоритмах) дуже малий діапазон даних, що втримується в границях правильних дані системи, може викликати помилкову обробку або різке зниження продуктивності. Тестування чутливості виявляє комбінації даних, які можуть викликати нестабільність або неправильність обробки.

Тестування продуктивності.

У системах реального часу й вбудованих систем неприпустимо ПЗ, що реалізує необхідні функції, але не відповідає вимогам продуктивності.

Тестування продуктивності перевіряє швидкість роботи ПЗ у комп'ютерній системі. Продуктивність тестується на всіх кроках процесу тестування. Навіть на рівні елемента при проведенні тестів «білого ящика» може оцінюватися продуктивність індивідуального модуля. Проте, поки всі системні елементи не об'єднаються повністю, не може бути встановлена істинна продуктивність системи. Іноді тестування продуктивності сполучають зі стресовим тестуванням. При цьому нерідко потрібно спеціальний апаратний і програмний інструментарій. Наприклад, часто потрібен точний вимір використовуваного ресурсу (процесорного циклу й т.д.). Зовнішній інструментарій регулярно відслідковує інтервали виконання, реєструє події (наприклад, переривання) і машинні стани. За допомогою інструментарію випробувач може виявити стани, які приведуть до деградації й можливих відмов системи.

Контрольні запитання:

  1. Суть стресового тестування

  2. Суть тестування виробності (продуктивності).

Тема 2.5 Переваги та недоліки різних методів відлагодження

Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.

Основна перевага аналітичних методів відлагодження полягає в тому, що вихідна програма залишається без змін.

В експериментальних методах для простежування виконується:

  1. Видача значень змінних у зазначених точках.

  2. Трасування змінних (видача їхніх значень при кожній зміні).

  3. Трасування потоків керування (імен викликуваних процедур, міток, на які передається керування, номерів операторів переходу).

Перевага експериментальних методів налагодження полягає в тому, що основна рутинна робота з аналізу процесу обчислень перекладається на комп'ютер. Багато трансляторів мають убудовані засоби налагодження для одержання інформації про хід виконання програми.

Недолік експериментальних методів налагодження — у програму вносяться зміни, при виключенні яких можуть з'явитися помилки. Втім, деякі системи програмування створюють спеціальний отладочный екземпляр програми, а в основний екземпляр не втручаються.

Контрольні запитання:

  1. Які переваги та недоліки має застосування аналітичних методів налагодження?

  2. Які переваги та недоліки має застосування експериментальних методів налагодження?