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


         

Стохастические критерии (класс III)


Стохастическое тестирование применяется при тестировании сложных программных комплексов - когда набор детерминированных тестов (X,Y) имеет громадную мощность. В случаях, когда подобный набор невозможно разработать и исполнить на фазе тестирования, можно применить следующую методику.

  • Разработать программы - имитаторы случайных последовательностей входных сигналов {x}.
  • Вычислить независимым способом значения {y} для соответствующих входных сигналов {x} и получить тестовый набор (X,Y).
  • Протестировать приложение на тестовом наборе (X,Y), используя два способа контроля результатов:
    • Детерминированный контроль - проверка соответствия вычисленного значения yв
      {y} значению y, полученному в результате прогона теста на наборе {x} - случайной последовательности входных сигналов, сгенерированной имитатором.
    • Стохастический контроль - проверка соответствия множества значений {yв}, полученного в результате прогона тестов на наборе входных значений {x}, заранее известному распределению результатов F(Y).

      В этом случае множество Y неизвестно (его вычисление невозможно), но известен закон распределения данного множества.

Критерии стохастического тестирования

  • Cтатистические методы окончания тестирования - стохастические методы принятия решений о совпадении гипотез о распределении случайных величин. К ним принадлежат широко известные: метод Стьюдента (St), метод Хи-квадрат (?2) и т.п.
  • Метод оценки скорости выявления ошибок - основан на модели скорости выявления ошибок [12], согласно которой тестирование прекращается, если оцененный интервал времени между текущей ошибкой и следующей слишком велик для фазы тестирования приложения.


Рис. 3.1.  Зависимость скорости выявления ошибок от времени выявления

При формализации модели скорости выявления ошибок (рис. 3.1) использовались следующие обозначения:

N - исходное число ошибок в программном комплексе перед тестированием,

C - константа снижения скорости выявления ошибок за счет нахождения очередной ошибки,

t1,t2,…tn - кортеж возрастающих интервалов обнаружения последовательности из n ошибок,




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