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



             

Цели и задачи регрессионного тестирования - часть 2


Эта цель всегда может быть достигнута повторным выполнением всех тестов регрессионного набора, но более перспективно отсеивать тесты, на которых выходные данные модифицированной и старой программы не могут различаться. Результаты сравнения выборочных методов и метода повторного прогона всех тестов приведены в таблица 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'идеальное. Этот подход применяется во всех известных выборочных методах регрессионного тестирования, основанных на анализе кода.


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