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



             

Методика регрессионного тестирования


Методика предназначена для эффективного решения задачи выборочного повторного тестирования. Ее исходными данными являются: программа P и ее модифицированная версия P', критерий тестирования C, множество (набор) тестов T, ранее использовавшихся для тестирования P, информация о покрытии элементов P (M(P,C)) тестами из T. Необходимо реализовать эффективный способ, гарантирующий достаточную степень уверенности в правильности P', используя тесты из T.

Методика строится на основе сочетания процедур обычного и регрессионного тестирования

Рассмотрим процедуру обычного тестирования. В ней для получения информации о тестируемых объектах в ходе тестирования необходимо установить соответствие между покрываемыми элементами и тестами для их проверки. Соответственно, процедура тестирования должна включать приведенную ниже последовательность действий:

  1. Определить требуемые функциональные возможности программы с использованием, например, метода разбиения на классы эквивалентности.
  2. Создать тесты для требуемых функциональных возможностей.
  3. Выполнить тесты.
  4. В случае необходимости - создать и выполнить дополнительные тесты для покрытия оставшихся (еще не покрытых) структурных элементов (предварительно установив их соответствие функциональным требованиям).
  5. Создать базу данных тестов программы.

По аналогии с обычным тестированием, процедура регрессионного тестирования в процессе сопровождения состоит из следующих этапов:

  1. Использование функции предсказания целесообразности. Если прогнозируемое количество выбранных тестов больше, чем порог целесообразности, провести повторный прогон всех тестов. В противном случае перейти к шагу 2.
  2. Идентификация изменений ?P в программе P' (и множества ?М измененных покрываемых элементов) и установление взаимно однозначного соответствия между покрываемыми элементами М(P, C) и М(P', C) в соответствии с изменениями: ?M = (M(P, C) \ M(P', C))
    (M(P', C) \ M(P, C))
  3. Выбор T'?T - подмножества исходных тестов, потенциально способных выявить связанные с изменениями ошибки в P', для повторного выполнения на P', с использованием результатов, полученных в пункте 2.


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