Тестирование софта - статьи

       

Покрытие операторов исходного кода


Тестовый набор удовлетворяет критерию покрытия операторов исходного кода, если при выполнении этого тестового набора каждый оператор исходного текста программы выполняется хотя бы один раз. Элементами тестового покрытия в данном случае являются операторы исходного текста. Для заданного оператора q значение оценочной функции

Покрытие операторов исходного кода
тем больше, чем ближе тест t к тесту, покрывающему оператор q. Для построения оценочной функции рассмотрим граф потока управления тестируемой системы S. Вершинами графа являются операторы исходного кода, то есть множество
Покрытие операторов исходного кода
. В графе существует ребро, идущее из вершины q1 в вершину q2 тогда и только тогда, когда оператор q2 может быть выполнен непосредственно после оператора q1. Пусть
Покрытие операторов исходного кода
- это множество всех элементов q' из
Покрытие операторов исходного кода
, для которых выполняются следующие условия:
  • существует путь в графе потока управления ведущий из q' в q или q' = q;
  • Покрытие операторов исходного кода
    .

Обозначим через dist(q', q) длину кратчайшего пути в графе потока управления, ведущего из q' в q (dist(q, q)≡0). Тогда оценочную функцию можно определить следующим образом:

Покрытие операторов исходного кода
(6)

Выражение, стоящее справа, определяет, за какое минимальное количество переходов можно добраться до элемента покрытия q от уже покрытых элементов из множества

Покрытие операторов исходного кода
. Функция
Покрытие операторов исходного кода
принимает значение 0 на тех и только тех тестах, которые покрывают элемент q. Заметим, что

Покрытие операторов исходного кода


Содержание раздела