Стратегия тестирования по принципу «Белого ящика»
Стратегия тестирования по принципу Белого ящика - также называемая стратегией тестирования управляемая логикой программы позволяет проверить внутреннюю структуру программы. Исходя из этой стратегии тестировщик получает тестовые данные путем анализа логики работы программы.
Стратегия Белого ящика включает в себя следующие методы тестирования:
- покрытие операторов
- покрытие решений
- покрытие условий
- покрытие решений и условий
- комбинаторное покрытие условий
Покрытие операторов
Критерии покрытия операторов подразумевает выполнение каждого оператора программы, по крайней мере, один раз.
Рассмотрим пример:
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
Таким образом, для программ, содержащих только одно условие на каждое решение, минимальным является критерий набора тестов которого:
- вызывает выполнение всех результатов каждого решения, по крайней мере, один раз
- выполняет каждый оператор, по крайней мере, один раз.
Для программ содержащих более одного условия минимальный критерий состоит из набора тестов, вызывающих выполнение всех возможных комбинаций результатов условий и выполняющий каждый оператор минимум один раз.
| Для улучшения этой статьи {{Expansion depth limit exceeded|history|история = по истории | география = по географии | математика = по математике | физика = по физике | астрономия = по астрономии | химия = по химии | биология = по биологии | медицина = по медицине | pharmacology|фармакология = по фармакологии | геология = по геологии | лингвистика = по лингвистике | литература = по литературе | музыка = по музыке | искусство = по искусству | theater|театр = по театру | кино = о кино | архитектура = по архитектуре | философия = по философии | религия = по религии | развлечения = по развлечениям | спорт = по спорту | игры = по играм | компьютерные игры = по компьютерным играм | техника = по технике | флот=о флоте | транспорт = по транспорту | телекоммуникации = по телекоммуникациям | comp|computers|ит = по информационным технологиям | социология = по социологии | психология = по психологии | экономика = по экономике | legal|право = по праву | политика = по политике | образование = по образованию | авто|автомобиль = об автомобилях | автопроизводитель = о производителях автомобилей | автотехника = об автомобильной технике
}} желательно?: Шаблон {{Expansion depth limit exceeded|rq}} используется неверно. Укажите хотя бы один параметр. Если Вы уверены, что всё указано правильно, напишите об этом на странице обсуждения шаблона.
|
| На эту статью не ссылаются другие статьи Википедии. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....