Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Надежность] / НКДЕ 10 ЛЕКЦИИ-rus_edit.doc
Скачиваний:
204
Добавлен:
07.02.2016
Размер:
2.72 Mб
Скачать

9.9 Функциональные методы тестирования

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

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

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

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

Вопрос выбора тестов решается разными путями. Один путь — выбор тестов целенаправленно по содержательному признаку.Вторая возможность —стохастический выбор тестов.

Привыборе тестов по содержательному признакунеобходимо исходить из определённой задачи, подходя к программе по кибернетическому принципу, как к «чёрному ящику», на вход которого подают контрольные тесты в виде входных переменных, констант, команд и т.д. а на выходе получают выполнение искомой функции yj.

Рисунок 9.6- Функциональный контроль программы

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

При стохастическом выборе тестов(стохастическое тестирование) требуется, чтобы тесты в стохастическом стиле соответствовали реальным задачам.

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

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

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

Затем проводится проверка соответствия генерированных значений требуемым значениям по оценке математического ожидания i-ой переменной

, для

где n — число экспериментов;

z — число переменных. По оценке центрального момента k-ro порядка i-ой переменной

оценка корреляционного момента между i-ой и j-ой переменной

где изменённое значение i-ой переменной в v-эксперименте.

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

Проверка правильности результатов вычислений по генерированным случайным исходным данным может осуществляться путём проверки соответствия эталону по:

— оценке области принадлежности значения;

— оценке времени выполнения программы;

— сравнению с другими (соседними) значениями;

— через достижение цели управления.

Эталоном могут являться и вычисления, выполняемые по другой аналогичной программе. Эталоном могут служить математические ожидания значений, тогда удобно пользоваться критерием принадлежности его некоторой области.

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

Поскольку обнаруженные ошибки в программе следует исправлять, оценку надёжности программы при стохастическом функциональномтестировании целесообразно производить на основании заключительной серии стохастических тестов, когда отказы программы отсутствуют. Тогда,для оценки вероятности безотказной работы программыможет быть использована формула

Pн=(l-qн)l/n

где Рн— нижняя доверительная граница вероятности безотказной работы программы при однократном прохождении;

qн — доверительная вероятность;

n — количество прохождения программы при тестировании.

Соседние файлы в папке [Надежность]