
ЛР2
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное
образовательное учреждение высшего образования
«Уфимский университет науки и технологий»
Институт информатики, математики и робототехники
Отчёт по лабораторной работе № 2
по дисциплине «Обеспечение качества и тестирование ПО»
на тему: «Структурное тестирование. Тестирование методами белого ящика»
Выполнил:
студент группы ПРО-332б Ихсанова Э. А.
Уфа – 2023
Имеется следующая программа на языке Python.
Необходимо провести структурное тестирование.
Блок-схема будет
иметь вид:
Соответствующий граф передач управления будет иметь вид:
Покрытие операторов. Критерий покрытия операторов подразумевает такой подбор тестов, чтобы каждый оператор программы выполнялся, по крайней мере, один раз.
Тестовый набор |
Ожидаемый результат |
Результат |
Тестируемый путь |
n |
0 |
0 1 |
1-2-3-7 |
-1 |
|||
123 |
6 |
123 6 |
1-2-4-6….-4-5-7 |
Покрытие решений (переходов). Для реализации этого критерия необходимо такое количество и состав тестов, чтобы результат проверки каждого условия (т.е. решение) принимал значения «истина» или «ложь», по крайней мере, один раз. Нетрудно видеть, что критерий покрытия решений удовлетворяет критерию покрытия операторов, но является более «сильным».
Тестовый набор |
Ожидаемый результат |
Результат |
Тестируемый путь |
n |
0 |
-5 0 |
1-2-3-7 |
-5 |
|||
230 |
6 |
230 5 |
1-2-4-6….-4-5-7 |
Покрытие условий. Критерий покрытия условий является еще более «сильным» по сравнению с предыдущими. В этом случае формируют некоторое количество тестов, достаточное для того, чтобы все возможные результаты каждого условия в решении были выполнены, по крайней мере, один раз.
Наша программа проверяет четыре условия:
n < 0
n > -10
n < 10
n == 10
Тесты, удовлетворяющие этому условию:
n = -5, условия 1) да, 2) да, 3) нет, 4) нет.
n = 124, после нескольких рекурсивных вызовов 1) нет, 2) нет, 3) да, 4) да
Тестовый набор |
Ожидаемый результат |
Результат |
Тестируемый путь |
n |
0 |
-5 0 |
1-2-3-7 |
-5 |
|||
124 |
7 |
124 7 |
1-2-4-6….-4-5-7 |
Комбинаторное покрытие условий. Этот критерий требует создания такого множества тестов, чтобы все возможные комбинации результатов условий в каждом решении и все операторы выполнялись, по крайней мере, один раз.
Вот несколько тестов, которые обеспечивают комбинаторное покрытие этих условий:
Тест, когда n равно -5 (n < 0 и n > -10)
n равно 5 (n < 10 или n == 10)
n равно 10 (n < 10 или n == 10)
n равно 15 (все остальные случаи, когда n >= 10)
n равно 12345 (все остальные случаи, когда n >= 10)
n равно -8 (n < 0 и n > -10)
n равно 0 (n < 10 или n == 10)
Тестовый набор |
Ожидаемый результат |
Результат |
Тестируемый путь |
n |
0 |
-5 0 |
1-2-3-7 |
-5 |
|||
5 |
5 |
5 5 |
1-2-4-5-7 |
10 |
10 |
10 10 |
1-2-4-5-7 |
15 |
6 |
15 6 |
1-2-4-6…-4-5-7 |
12345 |
6 |
12345 6 |
1-2-4-6…-4-5-7 |
-8 |
-8 |
-8 0 |
1-2-3-7 |
0 |
0 |
0 0 |
1-2-4-5-7 |