Основы тестирования программного обеспечения


         

Эта цель всегда может быть


Эта цель всегда может быть достигнута повторным выполнением всех тестов регрессионного набора, но более перспективно отсеивать тесты, на которых выходные данные модифицированной и старой программы не могут различаться. Результаты сравнения выборочных методов и метода повторного прогона всех тестов приведены в таблица 11.1.

Таблица 11.1. Выборочное регрессионное тестирование и повторный прогон всех тестов.Повторный прогон всех тестовВыборочное регрессионное тестирование
Прост в реализацииТребует дополнительных расходов при внедрении
Дорогостоящий и неэффективныйСпособно уменьшать расходы за счет исключения лишних тестов
Обнаруживает все ошибки, которые были бы найдены при исходном тестированииМожет приводить к пропуску ошибок
Задача отбора тестов из набора T для заданной программы P и измененной версии этой программы P' состоит в выборе подмножества T'идеальное
T для повторного запуска на измененной программе P', где T'идеальное = {t
T | P'(t)
P(t)}. Так как выходные данные P и P' для тестов из множества T
T'идеальное заведомо одинаковы, нет необходимости выполнять ни один из этих тестов на P'. В общем случае, в отсутствие динамической информации о выполнении P и P' не существует методики вычисления множества T'идеальное для произвольных множеств P, P' и T. Это следует из отсутствия общего решения проблемы останова, состоящей в невозможности создания в общем случае алгоритма, дающего ответ на вопрос, завершается ли когда-либо произвольная программа P для заданных значений входных данных. На практике создание T'идеальное возможно только путем выполнения на инструментированной версии P' каждого регрессионного теста, чего и хочется избежать.

Реалистичный вариант решения задачи выборочного регрессионного тестирования состоит в получении полезной информации по результатам выполнения P и объединения этой информации с данными статического анализа для получения множества T'реальное в виде аппроксимации T'идеальное. Этот подход применяется во всех известных выборочных методах регрессионного тестирования, основанных на анализе кода.

Содержание  Назад  Вперед