Стратегия тестирования по принципу «Белого ящика»
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Стратегия тестирования по принципу Белого ящика - также называемая стратегией тестирования управляемая логикой программы позволяет проверить внутреннюю структуру программы. Исходя из этой стратегии тестировщик получает тестовые данные путем анализа логики работы программы.
Стратегия Белого ящика включает в себя следующие методы тестирования:
- покрытие операторов
- покрытие решений
- покрытие условий
- покрытие решений и условий
- комбинаторное покрытие условий
Содержание |
Покрытие операторов
Критерии покрытия операторов подразумевает выполнение каждого оператора программы, по крайней мере, один раз.
Рассмотрим пример:
void func(int a, int b, float x) { if((a > 1) && (b == 0)) x = x/a; // пути с(истина) и b(ложь) if(a == 2 || x > 1) x++; // пути e(истина) и d(ложь) }
Чтобы выполнить каждый оператор не менее одного раза, нужно составить единственный тест со следующими значениями входных данных (a = 2 b = 0 x = 3).
Данный подход обладает недостатками. Вот, например, если в условии x > 1 программист допускает ошибку и пишет x < 1 или x > - 1, то с помощью нашего теста эта ошибка не будет обнаружена.
Покрытие решений
В соответствии с этим критерием необходимо составить такое число тестов, при которых каждое условие в программе примет как истинное значение, так и ложное значение.
Покрытие условий
Данный критерий является более эффективным по сравнению с предыдущими.
Записывается число тестов достаточное для того, чтобы все возможные результаты каждого условия в решении были выполнены, по крайней мере, один раз.
Однако этот критерий не всегда приводит к выполнению каждого оператора, по крайней мере, один раз. Поэтому к этому критерию добавляется дополнительное условие, каждый оператор должен быть выполнен хотя бы один раз.
- a = 2 ; b = 0 ; x = 4 a—-c—-e
- a = 1 ; b = 1 ; x = 1 a—-b—-d
Если после составления тестов у нас останутся не покрытые операторы, то мы должны дополнить свой набор тестов таким образом чтобы каждый оператор выполняется не менее одного раза.
Покрытие условий и решений
В соответствии с этим критерием необходимо составить тесты так, чтобы результаты каждого условия выполнялись хотя бы один раз, результаты каждого решения так же выполнялись хотя бы один раз, и каждый оператор должен быть выполнен хотя бы один раз.
Хотя метод и является достаточно мощным и позволяет находить достаточно большое количество ошибок, он имеет и недостатки:
- не всегда можно проверить все условия
- невозможно проверить условия, которые скрыты другими условиям
- метод обладает недостаточной чувствительностью к ошибкам в логических выражениях
Комбинаторное покрытие решений
Это критерий требует, чтобы все возможные комбинации результатов условий в каждом решении, а также каждый оператор выполнились, по крайней мере, один раз:
4 комбинации 2³ = 8
Достаточно 4 теста.
При составлении этих тестов мы перекрыли 3 пути из 4 возможных. Для составления хорошего начального теста необходимо покрыть и 4 путь.
- a = 2 ; b = 0 ; x = 2 a—-c—-e
- a = 0 ; b = 0 ; x = 0 a—-b—-d
- a = 2 ; b = 1 ; x = 0 a—-b—-e
- a = 0 ; b = 1 ; x = 2 a—-b—-e
- a = 1 ; b = 1 ; x = 0 a—-b—-d
Таким образом, для программ, содержащих только одно условие на каждое решение, минимальным является критерий набора тестов которого:
- вызывает выполнение всех результатов каждого решения, по крайней мере, один раз
- выполняет каждый оператор, по крайней мере, один раз.
Для программ содержащих более одного условия минимальный критерий состоит из набора тестов, вызывающих выполнение всех возможных комбинаций результатов условий и выполняющий каждый оператор минимум один раз.
<imagemap>
Image:Wiki_letter_w.svg
| Для улучшения этой статьи желательно?:
|
На эту статью не ссылаются другие статьи Википедии. Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.
|
↓