Опубликован: 05.03.2005 | Уровень: специалист | Доступ: платный
Лекция 3:

Критерии выбора тестов

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

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

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

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

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

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

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

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

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

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

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

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

T - время выявления n ошибок.

Если допустить, что за время T выявлено n ошибок, то справедливо соотношение (1), утверждающее, что произведение скорости выявления i ошибки и времени выявления i ошибки есть 1 по определению:

(1) (N-i+1)*C*ti = 1

В этом предположении справедливо соотношение (2) для n ошибок:

(2) N*C*t_{1}+(N-1)*C*t_{2}+…+(N-n+1)*C*t_{n}=n 
\\
    N*C*(t_{1}+t_{2}+…+t_{n}) - C*\Sigma (i-1)t_{i} = n
\\
    NCT - C*\Sigma (i-1)t_{i} = n

Если из (1) определить ti и просуммировать от 1 до n, то придем к соотношению (3) для времени T выявления n ошибок


(3) \Sigma 1/(N-i+1) = TC

Если из (2) выразить C, приходим к соотношению (4):

(4) C = n/(NT - \Sigma (i-1)t_{i})

Наконец, подставляя C в (3), получаем окончательное соотношение (5), удобное для оценок:

(5) \Sigma 1/(N-i+1) = n/(N - 1/T*\Sigma (i-1)t_{i})

Если оценить величину N приблизительно, используя известные методы оценки числа ошибок в программе [ 2 ] , [ 13 ] или данные о плотности ошибок для проектов рассматриваемого класса из исторической базы данных проектов, и, кроме того, использовать текущие данные об интервалах между ошибками t1, t2tn, полученные на фазе тестирования, то, подставляя эти данные в (5), можно получить оценку tn+1 -временного интервала необходимого для нахождения и исправления очередной ошибки (будущей ошибки).

Если tn+1>Td - допустимого времени тестирования проекта, то тестирование заканчиваем, в противном случае продолжаем поиск ошибок.

Наблюдая последовательность интервалов ошибок t1, t2tn, и время, потраченное на выявление n ошибок T=\Sigma t_{i}, можно прогнозировать интервал времени до следующей ошибки и уточнять в соответствии с (4) величину C.

Критерий Moranda очень практичен, так как опирается на информацию, традиционно собираемую в процессе тестирования.

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Сергей Чурбанов
Сергей Чурбанов
Екатерина Столярова
Екатерина Столярова
Россия, УдГУ
Ольга Акбашева
Ольга Акбашева
Россия, Самара, Аэрокосмический университет, 2013