Краткое резюме
Резюме из https://www.cs.drexel.edu/~jhk39/teaching/cs576su06/L4.pdf
Тестирование пути:
- 100% покрытие пути.
- Выполните все возможные пути потока управления через программу.
Тестирование заявлений:
- 100% охват заявлений.
- Выполнить все операторы в программе хотя бы один раз при выполнении некоторого теста.
Тестирование ветки:
- 100% охват филиала.
- Выполните достаточное количество тестов, чтобы гарантировать, что каждая альтернатива ветвления была проверена хотя бы один раз в каком-либо тесте.
В общем, тестирование путей >= тестирование ветвей >= тестирование утверждений с точки зрения того, насколько они могут быть уверены в правильности вашей системы.
Обсуждение
Покрытие путей подсчитывает количество полных путей от ввода до вывода через программу, которая выполняется, тогда как покрытие ветвей подсчитывает количество ветвей, которые были протестированы в любой момент времени. В этом определении полное покрытие пути приведет к полному покрытию ветвей.
Может быть несколько путей, которые соответствуют одному условному оператору, и полное покрытие пути может проверять различные варианты (поскольку внутри оператора if может быть вызван внешний ресурс, покрытие ветвей которого не будет идентифицировать). Покрытие ветвей больше похоже на проверку того, что ветвь попала в какой-то момент, и аргумент правильно передается фиктивному внешнему ресурсу (не обязательно тому, что происходит потом).
Как показано здесь: https://www.cs.drexel.edu/~jhk39/teaching/cs576su06/L4.pdf, иногда мы можем представить набор всех путей в виде блок-схем, и цель состоит в том, чтобы убедиться, что каждый путь от начала до конца работает должным образом при тестировании путей.
Дополнительные примечания по тестированию ветвей
Отсюда: Тестирование ветвей
Testing in which all branches in the program source code are tested at least once
Дополнительные примечания по тестированию пути
Отсюда: http://www.qualitytesting.info/forum/topics/what-is-difference-between-2 и http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Web/Testing/PathTest.html
A path is a sequence of executable statements. Testers are concerned with
"entry-exit paths", which begin at the entry point into a given process and
proceed to its exit point.
The objective of path testing is to ensure that each independent path through
the program is executed at least once. An independent program path is one that
traverses at least one new edge in the flow graph. In program terms, this means
exercising one or more new conditions. Both the true and false branches of all
conditions must be executed.
person
Anil Vaitla
schedule
09.04.2013