Автор работы: Пользователь скрыл имя, 03 Февраля 2011 в 17:52, лекция
Для количественных оценок надежности используют различные характеристики и параметры, относящиеся к событиям как появление отказа или случайной ошибки функционирования, что позволяет предупредить или устранить их.
Для различных путей существуют различные входы и выходы.
«+» (символического тестирования предоставления числовым): если числовой текст позволяет проверить работу программы на отдельных числовых значениях входных наборов, то символическое тестирование оперирует множеством исходных данных, которые определены ограниченными.
Символическое выражение путей программы м.б. получены либо прямой подстановкой, либо обратной.
Прямая соответствует действиям, проделываемым при реализации определенного пути в структуре программы. При этом, символическое исполнение осуществляется для каждого исполняемого оператора, с запаздыванием промежуточных символических выражений.
В случае обратной: ограничения на входные переменные строятся снизу вверх при прохождении пути на графе программы в обратном направлении. В результате получаются такие же ограничения как и при прямой подстановке.
«+»
обратной: не требуется память для
запоминания символических
«+» прямой: имеется возможность раннего обнаружения несуществующих путей с противоречивыми ограничениями на входных данных.
При
символическом тестировании определенную
трудность предоставляют
Наиболее часто проблема м.б. преодолена подстановкой некоторого заранее оцененного числа итераций. При этом полученные ограничения могут оказаться неточными.
Второе затруднение связано с наличием в программе модулей. Данная проблема преодолевается символическим исполнением модулей.
Третья проблема: работа с массивами.
Названных выше недостатков лишено структурное тестирование. Генерирование тестов заключается в выборе множества путей, полностью перекрывающих граф программы и в определении тестовых данных, на которых эти пути выполняются.
Граф программы (граф управления) – это структурная модель программы, которая показывает связь м/ ее элементами. Вершины – операторы разветвления и объединения; дуги – операторы обработки и передачи данных.
Граф представляется в виде упакованной матрицы смежности (УМС) А.
А = {aij}
с v вершинами – есть матрица v l, l – max степень выхода i-ой вершины
dВХ(vi) – степень входа и dВЫХ(vi) – степень выхода некоторой вершины графа означает соответственно количество входящих и выходящих из вершины дуг.
Каждая строка i УМС заполняется в произвольном порядке номерами вершин, которые являются смежными с вершиной i.
Представление графов в виде УМС имеет следующие преимущества:
За критерий тестирования взят критерий ветвей, где под ветвью программы понимается некоторая последовательность операторов, которые выполняются строго 1 за другим.
Для построения min покрытия граф разбивается на ДД пути с использованием УМС исходного графа.
Множество вершин, у которых степень выхода dВЫХ(vi)>1, вх и вых вершины обозначаются как Д вершины. Тогда путь ДД – это простой путь м/ двумя Д вершинами, такой, что в его пределах нет Д вершин.
Затем определяют циклы, петли и из графа исключаются замыкающие их дуги.
Алгоритм построения min покрытия графа состоит из следующих этапов:
i [1, N-1] N – количество вершин графа.
Однако тестирование всех путей в структуре программы является нецелесообразным.
Компромиссным решением будет тестирование выборки путей, обеспечивающей испытания важнейших взаимодействий м/ частями программы.
На
графе, описывающем программу, такие
взаимодействия м.б. смоделированы
путем введения пар вершин, которые
должны взаимодействовать по крайней
мере при одном тесте.
Функциональные методы тестирования программ.
Оглавление
Законы распределения случайной величины (СВ) и их события. 1
Законы распределения, используемые в теории надежности. 2
Показатели готовности аппаратуры 6
Прогнозирование показателей надежности 7
Расчеты показателей надежности систем с последовательной структурой 7
Расчеты показателей надежности систем с параллельной структурой 9
Показатели надежности систем с комбинированной структурой 10
Определение параметров готовности аппаратуры 10
Надежность резервных вычислительных систем. Резервирование в ЭВМ и ВС 12
Резервирование на уровне ЭВМ 12
Резервирование на уровне устройств 13
Резервирование на уровне кодов 13
Резервирование в специализированных и управляющих ЭВМ 14
Описание резервных систем 14
Надежность резервированных ВС с последовательно-параллельной структурой при нагруженном резерве. 14
Определение вероятности безотказной работы 14
Определение средней наработки на отказ 15
Надежность резервированных ВС с последовательно-параллельной структурой при ненагруженном резерве. 16
Надежность ВС со сложной структурой резервирования 16
Применение сложных структур резервирования. Метод избыточного кодирования с обнаружением и исправлением ошибок 18
Мажоритарное резервирование 19
Расчет надежности ВС-ем и надежность нерезервированных восстанавливаемых систем 20
Приближенный метод расчета надежности ВС 22
Количественные характеристики надежности при постепенных отказах 23
Параметры надежности при хранении систем 24
Контроль в ЭВМ 25
Надежность системы с учетом влияния контролирующих устройств 27
Классификация ошибок программирования 28
Способы обеспечения и надежности программ 28
Модели надежности ПО 29
Модель Шумана. 29
Марковская модель. 30
Модель Елинского-Моранды. 31
Модель Шика-Волвертона. 31
Метод введения структурной избыточности в программе 32
Метод контрольных функций 33
Структурные методы тестирования программ 33
Генерирование
структурных тестов. 35