Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НПО - ПОИТ (Бахтизин).doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

8.14. Мутационное тестирование

Данный вид является специфическим видом тестирования, дополняющим ранее рассмотренные подходы, который базируется на внесении в текст программы искусственных ошибок, то есть не больших изменений или мутаций (mutation). Очевидно, что в процессе тестирования внесение мутаций должно быть обнаружено. Если они обнаружены, это говорит о том, что тесты спроектированы удачно.

Кроме того, данный подход позволяет оценить эффективность проводимого тестирования. Если, например, в ПО внесено n ошибок, а обнаружено m из них (m ≤ n), то величина

n - m

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

8.15. Проектирование тестов, основанных на случайных наборах исходных данных

Используется при проведении одного из типов системного тестирования, например, тестирования надежности.

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

8.15.1. Анализ случайных векторов исходных данных

Необходимость генерации векторов исходных данных ставит проблему анализа случайных векторов исходных данных, адекватных заданному распределению.

Методы генерации значений скалярных и векторных случайных величин используют заданный закон распределения в виде известной функции распределения или функции плотности. Но часто аналитический вид функции распределения или функции плотности неизвестен, а известен ряд моментов исходного распределения (или реализация, выборка). В этом случае плотность или функцию исходного распределения можно представить в виде разложения по полиномам.

Наиболее общим способом представления скалярных и векторных случайных величин является представление их в форме линейных комбинаций некоторых эталонных функций.

Разложение искомой функции плотности обычно ищут в виде ряда

где: Сn - некоторый коэффициент разложения;

- весовая (эталонная) функция плотности;

Qn(х) - система ортогональных полиномов.

Выбор определяется характером исходного распределения. Если распределение исходных данных на заданном интервале близко к нормальному, то хорошие результаты дает разложение, основанное на нормальном законе. В качестве обычно берется нормальная функция плотности нормированной случайной величины ( - для удобства расчета):

В качестве Qn(x) используется полином Эрмита n-порядка, который определяется как

где:

n = 0, 1, 2, ...

- производная n-порядка

Выражение аппроксимирующей функции (8.1) имеет вид

где:

* - ряд, учитывающий асимметрию распределения;

Hn(х) - полином Эрмита n-порядка, определяемый как

в выражении (8.5) число сочетаний из n по 2m определяется формулой:

Cn - коэффициент разложения, определяемый как

Mn - центральный момент n-порядка:

Обычно ряд (8.4) называется рядом Грама-Шарлье типа А. В том случае, когда моменты исходного распределения не заданы, а известна выборка значений исходных распределений, в качестве центральных моментов берутся их оценки (8.8).

Из анализа выражения (8.7) для вычисления Cn видно, что необходимо знание центральных моментов исходного распределения до n-го порядка включительно.

Вопрос о сходимости ряда (8.4) не имеет значения; важно быть уверенным, что первые слагаемые данного ряда дают достаточно точное приближение.

Как показывает анализ литературы, аппроксимация исходного распределения с помощью ряда Грама-Шарлье типа А тем лучше, чем ближе исходное распределение к нормальному.