5.21. Оценка полноты проверки программы

Иногда желательно знать, насколько полно выполнено тестирование той или иной программы. Если программа велика по объему и содержит много логических блоков, то имеются основания полагать, что она будет проверена не особенно хорошо. Однако и в этом случае полезно иметь представление о степени полноты выполненной проверки программы. Элементами такой оценки могут служить следующие данные:

1) доля проверенных частей программы; здесь следует стремиться к 100%;

2) процент условных переходов программы, которые при тестировании проверялись по обоим логическим направлениям; здесь тоже следует стремиться к достижению предела 100%;

3) степень сегментированности программы; хорошо сегментированные программы обычно легче тестировать, а следовательно, и само тестирование выполняется более тщательно;

4) степень проверки различных ситуаций взаимодействия отдельных частей программы.

Самым уязвимым местом тестирования является, как правило, последний элемент оценки.

В больших программах нет возможности проверить все логические пути и опробовать все мыслимые сочетания данных, однако все главные ветви подлежат обязательной проверке. Что касается неосновных ветвей, то здесь программисту следует, полагаясь на свою интуицию, решить, какие из них могут обеспечить наибольший эффект тестирования (т. е. определить пути, наиболее подверженные ошибкам). На этом этапе процесс тестирования программы превращается из науки в искусство. В связи с тем что число сочетаний и перестановок логических путей может достигать астрономических значений, большая программа никогда не может быть испытана до конца. Однако особый интерес должны представлять два режима тестирования: минимальные и максимальные значения входных переменных. Обычно и те и другие определяются довольно легко. Основные факторы, которые испытатель программы должен принимать во внимание, — это важность конкретных логических путей, объем предварительного тестирования модулей, уязвимость программы для ошибок, затраты на испытания и возможная отдача.

5.20. Планирование тестирования программ || Оглавление || 5.22. Повторное тестирование


Услуги