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

       

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


Методика предназначена для эффективного решения задачи выборочного повторного тестирования. Ее исходными данными являются: программа 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.


    Это подмножество можно упорядочить, а также указать число тестов, выполнения которых достаточно для соответствия какому-либо критерию минимизации. Для безопасных методов отбора тестов множество T' удовлетворяет следующим ограничениям:ti
    T, ti
    T'
    P(ti)
    P'(ti)
  4. Применение подмножества T' для регрессионного тестирования измененной программы P' с целью проверки результатов и установления факта корректности P' по отношению к T' (в соответствии с измененным техническим заданием), а также обновления информации о прохождении тестов из T' на P'.
  5. В случае необходимости - создание дополнительных тестов для дополнения набора регрессионных тестов. Это могут быть новые функциональные тесты, необходимые для тестирования изменений в техническом задании или новых функциональных возможностей измененной программы; новые структурные тесты для активизации оставшихся (непокрытых) структурных элементов (предварительно установив их соответствие проверяемым функциональным требованиям).
  6. Создание T'' - нового набора тестов для P', применение его для тестирования измененной программы, проверка результатов и установление факта корректности P' по отношению к T'', обновление информации о ходе исполнения теста и создание базы данных тестов измененной программы для хранения этой информации и выходных данных тестов. Удаление устаревших тестов. T'' формируется по следующему правилу:T'' = (T
    Tновые) \ Tустаревшие


Содержание раздела







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