Критерии полноты тестового покрытия
Для тестирования программного обеспечения требуется создать репрезентативный набор тестов, то есть набор, охватывающий все возможные сценарии работы системы. Для оценки репрезентативности тестовых наборов используются различные критерии полноты тестового покрытия.
Пусть P - множество программных систем, T - множество тестов, а Σ - множество тестовых наборов, то есть множество всех конечных подмножеств множества T . Тогда задача генерации тестов может быть сформулирована следующим образом: для заданной тестируемой системы S





Многие критерии полноты тестового покрытия, имеющие практическое применение, строятся по следующей схеме: для тестируемой системы S критерий F определяет множество элементов тестового покрытия







Приведём несколько примеров часто упоминаемых критериев полноты тестового покрытия:
- каждый оператор в исходном коде выполняется хотя бы один раз;
- каждая ветвь графа потока управления выполняется хотя бы один раз;
- каждый путь графа потока управления исполнение выполняется хотя бы один раз;
- каждое логическое выражение хотя бы один раз вычисляется со значением «истина» и хотя бы один раз - со значением «ложь»;
- тестовый набор убивает всех мутантов из заданного набора.
Заметим, что все критерии, приведённые в качестве примеров, соответствуют ранее изложенной схеме.