Page 9 - И.В. Рудаков, А.В. Ребриков - ПРОВЕРКА ВЫПОЛНЕНИЯ ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ К АЛГОРИТМУ НА ОСНОВЕ СТРУКТУРНОЙ ГЕНЕРАЦИИ МОДУЛЬНЫХ ТЕСТОВ

Рис. 2. Влияние глубины абстракции на время генерации и число найденных
ошибок
при глубине абстракции 3, после которого не происходит повышения
качества тестирования. Данный вывод подверждает устоявшийся ци-
кломатический критерий сложности.
Эксперименты проводились на модулях с открытым исходным ко-
дом репозитория CPAN [14]. Программный комплекс, реализующий
данную схему для алгоритмов, которые записаны на языке Perl, заре-
гистрирован в Объединенном фонде алгоритмов и программ [16].
Ручное составление тестов является наименее эффективным (см.
рис. 1) с точки зрения покрытия кода. При этом автоматическая гене-
рация тестов обеспечивает почти полное покрытие (исключение со-
ставляют функции, содержащие циклы). В то же время (рис. 3), для
ручного составления тестов требуется несравнимо больше времени,
чем п составлении автоматическими методами.
Важной характеристикой метода генерации тестов является число
тестов, после которого перестает возрастать степень покрытия кода:
η
=
n
s
n
,
где
n
s
число тестов, после которого перестает возрастать (или
незначительно возрастает) покрытие кода;
n
общее число тестов.
Тесты с номерами до
n
s
называются полезными тестами. Для слу-
чайных тестов этот показатель обычно низкий (в наших тестовых
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
75