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

8.15.2. Генерация случайных векторов исходных данных

Процедура генерации случайных значений в соответствии с заданной функцией плотности f(x) заключается в следующем.

Функция плотности f(x) аппроксимируется ступенчатой функцией и при этом отрезок [a, b] разбивается на n отрезков (рис. 8.19).

  1. Генерируется равномерно распределенное случайное число

и определяется число , равномерно распределенное на отрезке

  1. Значение индекса k соответствует попаданию случайного числа xi в некоторый интервал

значение Lk равно высоте выбранной ступеньки.

  1. Генерируется следующее случайное число, которое принадлежит отрезку [0, 1],

и определяется случайное число

  1. Если точка А с координатами А(xi, yi) находится под кривой f(x), то xi является реализацией случайной величины X, имеющей заданное распределение f(x).

  2. Шаги 2, 3, 4, 5 повторяются до тех пор, пока не получится требуемое число реализаций случайной величины X, имеющей заданное распределение f(x).

8.16. Оценка правильности результатов выполнения программы

Одним из распространенных способов оценки правильности является сопоставление с эталоном.

В аппаратуре эталонные значения получаются заранее на контрольной, надёжно работающей аппаратуре.

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

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

  • значения, получаемые по другой известной версии тестируемой программы (N-версионное программирование);

  • значения, получаемые при помощи алгоритмов грубой оценки.

Критерием правильности результата тестирования программы является сравнение полученного результата с эталонным в пределах заданной погрешности.

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

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

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

9. Верификация программного обеспечения

Согласно стандарту СТБ ИСО 12207-2003 процесс верификации является процессом того, что программные продукты функционируют в полном соответствии с требованиями или условиями, реализованными в предшествующих работах

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

В общем, под верификацией понимается процесс проверки правильности какой-то работы ЖЦ. Чем раньше начать верификацию работ, тем выше будет качество будущего ПО, тем раньше будут найдены все дефекты при разработке ПО.

В данном разделе ограничимся рассмотрением верификации применительно к доказательству правильности алгоритмов и программ.

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