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



         

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


Множество T'реальное должно включать все тесты из T, активирующие измененный код, и не включать никаких других тестов, то есть тест t
T входит в T'реальное тогда и только тогда, когда t задействует код P в точке, где в P' код был удален или изменен, или где был добавлен новый код.

Если некоторый тест t задействует в P тот же код, что и в P', выходные данные P и P' для t различаться не будут. Из этого следует, что если P(t)

P'(t), t должен задействовать некоторый код, измененный в P' по отношению к P, то есть должно выполняться отношение t
T'реальное. С другой стороны, поскольку не каждое выполнение измененного кода отражается на выходных значениях теста, могут существовать некоторые такие t
T'реальное, что P(t) = P'(t). Таким образом, T'реальное содержит T'идеальное целиком и может использоваться в качестве его альтернативы без ущерба для качества тестируемого программного продукта.

Важной задачей регрессионного тестирования является также уменьшение стоимости и сокращение времени выполнения тестов.

Рассмотрим отбор тестов на примере рис. 11.1. Код, покрываемый тестами, выделен цветом и штриховкой. Легко заметить, что код, покрываемый тестом 1, не изменился с предыдущей версии, следовательно, повторное выполнение теста 1 не требуется. Напротив, код, покрываемый тестами 2, 3 и 4, изменился; следовательно, требуется их повторный запуск.

Отбор тестов для множества T'.

Рис. 11.1.  Отбор тестов для множества T'.




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