Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота1.doc
Скачиваний:
32
Добавлен:
23.02.2016
Размер:
118.27 Кб
Скачать

1.1 Методи стратегії 'білої скриньки'

Тестування за принципом білої скриньки характеризується ступенем, який тести виконують або покривають логіку (вихідний текст програми)

1.1.1 Метод покриття операторів

Метою цього методу тестування є виконання кожного оператора програми хоча б один раз.

Приклад:

Рис. 1.1 Рис. 1.2

У цій програмі можна виконати кожен оператор, записавши один єдиний тест, який реалізував би шлях ace. Тобто, якби на вході було: А = 2, В = 0, Х = 3, кожен оператор виконався б один раз. Але цей критерій насправді гірше, ніж він здається на перший погляд. Нехай у першому умови замість "and" "or" і в другому замість "x> 1""x <1" (блок-схема правильної програми наведена на рис. 1.1, а неправильної - на рис. 1.2). Результати тестування наведені у таблиці 1. Зверніть увагу: очікуваний результат визначається за алгоритмом на рисунку 1.1, а фактичний - за алгоритмом малюнка 1.2, оскільки визначається чутливість методу тестування до помилок програмування. Як видно з цієї таблиці, жодна з внесених в алгоритм помилок не буде виявлена.

Таблиця 1. Результат тестування методом покриття операторів.

Тест

Очікуваний результат

Фактичний результат

Результат тестування

A=2, B=0, X=3

X=2,5

X=2,5

невдало

1.1.2 Метод покриття рішень (покриття переходів)

Більш сильний метод тестування відомий як покриття рішень (покриття переходів). Відповідно до даного методу кожен напрямок переходу має бути реалізовано принаймні один раз.

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

Для програми наведеної на малюнку 1.2 покриття рішень може бути виконано двома тестами, які покривають шляху {ace, abd}, або {aсd, abe}. Шляхи {aсd, abe} покриєм, вибравши такі вихідні дані: {A = 3, B = 0, X = 3} і {A = 2, B = 1, X = 1} (результати тестування - у таблиці 2).

Таблиця 2. Результат тестування методом покриття рішень.

Тест

Очікуваний результат

Фактичний результат

Результат тестування

A=3, B=0, X=3

X=1

X=1

невдало

А=2, В=1, Х=1

Х=2

Х=1,5

вдало

1.1.3 Метод покриття умов

Кращі результати в порівнянні з попередніми може дати метод покриття умов. У цьому випадку записується число тестів, достатню для того, щоб всі можливі результати кожної умови в рішенні виконувалися принаймні один раз.

У попередньому прикладі маємо чотири умови: {A> 1, B = 0}, {A = 2, X> 1}. Відповідно, потрібна достатня кількість тестів, така, щоб реалізувати ситуації, де A> 1, A 1, B = 0 і B0 в точці а і A = 2, A2, X> 1 і X1 в точці В. Тести, що задовольняють критерію покриття умов і відповідні їм шляхи:

а) A=2, B=0, X=4 ace

б) A=1, B=1, X=0 abd

Таблиця 3. Результати тестування методом покриття умов.

Тест

Очікуваний результат

Фактичний результат

Результат тестування

A=2, B=0, X=4

X=3

X=3

невдало

A=1, B=1, X=0

X=0

X=1

вдало