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

3. Стохастичні критерії (клас III)

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

- Розробити програми - імітатори випадкових послідовностей вхідних сигналів {x}.

- Обчислити незалежним способом значення {y} для відповідних вхідних сигналів {x} і одержати тестовий набір (X,Y).

- Протестувати додаток на тестовому наборі (X,Y), використовуючи два способи контролю результатів:

1) Детермінований контроль - перевірка відповідності обчисленого значення значенню y, отриманому в результаті прогону тесту на наборі {x} - випадкової послідовності вхідних сигналів, згенерованою імітатором.

2) Стохастичний контроль - перевірка відповідності безлічі значень {yв}, отриманої в результаті прогону тестів на наборі вхідних значень {x}, заздалегідь відомому розподілу результатів F(Y). У цьому випадку безліч Y невідома (її обчислення неможливо), але відомий закон розподілу даної безлічі.

Критерії стохастичного тестування:

1) Статистичні методи закінчення тестування - стохастичні методи прийняття рішень про збіг гіпотез про розподіл випадкових величин. До них належать широко відомі: метод Стьюдента ( St ), метод Хі-квадрат ( ) і т.п.

2) Метод оцінки швидкості виявлення помилок - заснований на моделі швидкості виявлення помилок , відповідно до якої тестування припиняється, якщо оцінений інтервал часу між поточною помилкою й наступної занадто великий для фази тестування додатка.

4. Мутаційний критерій (клас IV)

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

Підхід базується на наступних поняттях:

- Мутації - дрібні помилки в програмі.

- Мутанти - програми, що відрізняються одна від одної мутаціями .

Метод мутаційного тестування - у розроблювальну програму P вносять мутації, тобто штучно створюють програми-мутанти P1, P2... Потім програма P і її мутанти тестуються на тому самому наборі тестів (X,Y).

Якщо на наборі (X,Y) підтверджується правильність програми P і, крім того, виявляються всі внесені в програми-мутанти помилки, то набір тестів (X,Y) відповідає мутаційному критерію, а программа, що тестується, оголошується правильною.

Якщо деякі мутанти не виявили всіх мутацій, то треба розширювати набір тестів (X,Y) і продовжувати тестування.

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

  1. Дайте поняття структурних критеріїв тестування. В яких випадках вони застосовуються?

  2. Дайте поняття функціональних критеріїв тестування. Які області тестування вони охоплюють?

  3. Дайте визначення стохастичних критеріїв тестування. Які способи контролю використовуються при застосуванні цих критеріїв?

  4. Дайте поняття мутаційних критеріїв та особливостей їх застосування.