Одним из критериев покрытия программной логики и методом тестирования, который сильнее, чем покрытие оператора (которое на самом деле самое слабое) является покрытие альтернатив/покрытие ветвей либо покрытие всех сторон. Согласно этому критерию, Вам нужно написать достаточное количество тестов, чтобы каждое решение могло принимать значение True и False хотя бы один раз.
Иначе говоря, требуется выполнить каждое направление ветвления хотя бы раз. Примерами операторов принятия решения или ветвления являются операторы цикла с предусловием либо операторы «если«.
Можно показать, что покрытие альтернатив обычно соответствует критерию покрытия операторов. Поскольку каждый оператор лежит в некотором пути, который исходит либо из точки входа программы, либо из оператора ветвления, тогда при выполнении каждого направления ветвления каждый оператор должен выполняться. Но есть три исключения.
- Первое — это патологическая ситуация, когда программа не принимает решений.
- Второе — в программах или подпрограммах с несколькими точками входа (например, в программах на языке ассемблера); этот оператор может быть выполнен только в том случае, если запуск программы начинается с соответствующей точки входа.
- Третье исключение связано с операторами внутри оператора switch; выполнение ветви в каждом направлении не обязательно запускает выполнение всех тестовых случаев.
Тем не менее, услуги по тестированию электронной коммерции могут применяться для привлечения большего количества посетителей на любой веб-сайт, при этом повышая его производительность, удобство использования и безопасность.
Поскольку покрытие операторов считается предпосылкой, покрытие альтернатив, которое, по-видимому, является более сильным критерием, должно включать покрытие операторов.
Таким образом, для покрытия альтернатив требуется, чтобы каждая из них принимала значение True и False, а каждый оператор выполнялся хотя бы один раз.Наиболее простой и альтернативный способ выражения этого требования состоит в том, что каждая альтернатива имеет значение True и False и что каждая точка входа (включая каждый тестовый пример) должна получать контроль при вызове программы хотя бы один раз.
Вышеизложенное предполагает, что для программ, содержащих многозначные альтернативы (как и в случае с тестовыми примерами), должны быть изменены только двузначные альтернативы или ветвления.
Комментарии отключены.