- •Основные понятия мпо.
- •Основные цели:
- •Виды метрик и шкал, используемых при оценке:
- •Критерии оценки качества программ
- •Способ формирования зависит от этапа:
- •Классификация видов сложности пп
- •Метрики Холстеда.
- •Основные измеряемые параметры:
- •Дополнительные параметры:
- •6 Марта 2007 года
- •Методы и средства измерения характеристик программ
- •Необходимые условия применения измерительных методов:
- •Общая схема проведения измерений.
- •2 Основных способа регистрации параметров программы:
- •Измерительные мониторы (им)
- •Требования к им:
- •Классификации им.
- •Типы измеряемых характеристик программы.
- •Аппаратные измерительные мониторы (аим)
- •Достоинства аим:
- •Недостатки аим:
- •Гибридные измерительные мониторы (гим)
- •Программные измерительные мониторы (пим)
- •Автономные пим
- •Общие особенности программных мониторов.
- •Проблемы, возникающие при построении мониторов
- •Общая схема использования пим
- •Способы расстановки контрольных точек.
- •Основные способы мониторинга
- •Сопоставление возможностей аим и пим.
- •Структурный анализ качества программных продуктов
- •Маршруты делятся на:
- •Анализ сложности программных средств с модульной организацией
- •Свойства модульной организации
- •Понятие корректности программ
- •2 Метода проверки корректности:
- •Критерии корректности:
- •Корректность программ:
- •Эталоны и методы проверки корректности
- •Способы формирования эталонных тестов
- •Понятие верификации программы
- •Основные задачи анализа корректности при верификации
- •Тестирование программ
- •Особенности
- •Основные принципы тестирования
Маршруты делятся на:
1) Вычислительные маршруты. На каждом маршруте фиксируются данные и для каждого данного выбираются максимальные, минимальные значения, значения в точках разрыва и 1-2 средних значения. Сложность ,
- число вычислительных маршрутов
- число данных в i-м маршруте
2) Маршруты принятия логических решений. Сложность оценивается числом ветвлний на каждом маршруте.
Общая сложность программы ,
где с1 и с2 – весовые коэффициенты, задаваемые в зависимости от назначения программы.
Для оценки структурной сложности при тестировании логики программы вводят упрощенные критерии тестирования, поскольку полное тестирование невозможно.
Критерий 1. Критерий минимального покрытия. Отобранные маршруты должны хотя бы один раз покрывать каждую вершину и каждую дугу графа управления программы. Повторная проверка дуг не требуется.
Пример 1.
Критерий 1.
| |
М1: 1-2-4-8 |
2 |
М2: 1-2-4-5-6-8 |
3 |
М3: 1-3-4-5-7-8 |
3 |
|
жирным выделены ветвления
Пример 2.
,
Критерий 1.
| |
М1: 1-2-14 |
1 |
М2: 1-3-4-6-8-6-8-14 |
5 |
М3: 1-3-5-7-9-10-11-12-13-14 |
5 |
М4: 1-3-4-5-7-9-10-9-10-11-7-9-10-11-12-14 |
9 |
|
Критерий 2. Отбор базовых маршрутов, оцениваемых по цикломатическому числу графа (число McCabe)
ЦМЧ:
где - число связных компонент графа, равно числу дуг, необходимых для того, чтобы граф стал максимально связным (граф, в котором любая вершина достижима из любой другой вершины)
(если нет тупиков)
Выбираются все линейно-независимые циклы и линейно-независимые ациклические маршруты. При этом каждый маршрут отличается от остальных хотя бы одной вершиной или дугой.
Для примера 1.
М1: 1-2-4-8
М2: 1-2-4-5-6-8
М3: 1-3-4-5-7-8
М4: 1-2-4-5-7-8
(М5): 1-3-4-8 – возможен, но не включается так как состоит из М1 и М3
(М6): 1-3-4-5-6-8 – возможен, но не включается так как состоит из М2 и М3
Для примера 2
М1: 6-8
М2: 9-10
М3: 7-9-10-11
М1-М3 – линейно-независимые циклические
М4: 1-2-14
М5: 1-3-4-6-8-14
М6: 1-3-5-7-9-10-11-12-13-14
М7: 1-3-4-5-7-9-10-11-12-13-14
М8: 1-3-4-5-7-9-10-11-12-14
М4-М8 – линейно независимые ациклические
S2=26
жирным – ветвления
Исследование графов реальных программ позволяют сделать замечания:
1) суммарная структурная сложность в основном определяется числом ветвлений и меньшей степени зависит от других структурных компонент графа
2) при фиксированном числе вершин в «широких» графах будет больше маршрутов, но сами маршруты будут короче, и наоборот, «узкие» графы имеют меньшее число, но более продолжительных маршрутов, в результате чего оценка сложности S2 меняется меньше чем цикломатическое число и больше коррелированна с общим числом графа. Для автоматического анализа графа по второму критерию можно использовать матрицы смежности, в которых элемент aij=1 если вершина j достижима из вершины j за одни шаг, и матрицы достижимости, в которых элемент dij, если вершина j достижима из i за любое число шагов.
n – число вершин
Основным средством анализа является матрица достижимости, в которой единичные диагональные элементы соответствуют циклам, а одинаковые строки образуют тела соответствующих циклов.
Успешно тестируются программы, у которых Z<=10
Могут тестироваться программы с Z<=30
Для программ с Z>30 успешное тестирование практически невозможно
Критерий 3.
Основанный на выделении полного состава базовых маршрутов выполнения программы. При отборе учитываются все ациклические маршруты и все входящие в них циклические маршруты. При этом для каждого ациклического маршрута должны учитываться все достижимые из них циклы.
Для примера 2.
М1: 1-2-14
М2: 1-3-4-6-8-14
М3: 1-3-4-6-8-6-8-14
М4: 1-3-5-7-9-10-11-112-14
М5: 1-3-5-7-9-10-9-10-11-7-9-10-11-12-14
М6: 1-3-4-5-7-9-10-11-12-13-14
М7: 1-3-4-5-7-9-10-11-7-9-10-11-12-13-14
М8: 1-3-5-7-9-10-11-12-13-14
М9: 1-3-5-7-9-10-11-7-9-10-11-12-13-14
М10: 1-3-4-5-7-9-10-11-12-14
М11: 1-3-4-5-7-9-10-11-7-9-10-11-12-14
S2=66
Недостаток:
учет только однократного повторения циклов, в действительности при тестировании необходимо проверить минимально возможное повторение циклов, максимальное значение повторения циклов и 1-2 промежуточных значения