- •Методические указания
- •Для студентов специальности 6.050102
- •Всех форм обучения
- •1.Разработка технического задания. Лабораторная работа № 1
- •1.1 Теоретические сведения
- •1.2 Задание на лабораторную работу
- •1.3 Список контрольных вопросов
- •2.Оформление программной документации. Лабораторная работа № 2
- •2.1 Теоретические сведения
- •2.2 Задание на лабораторную работу
- •2.3 Список контрольных вопросов
- •3. Расчет метрик холстеда. Лабораторная работа № 3
- •3.1 Описание метрик Холстеда
- •3.2 Пример определения характеристик программы
- •3.3 Порядок выполнения работы
- •3.4 Список контрольных вопросов
- •4. Оптимизация программ. Лабораторная работа № 4
- •4.1 Теоретические сведения
- •4.2 Порядок выполнения работы
- •4.3 Список контрольных вопросов
- •5. Структурное тестирование. Лабораторная работа № 5
- •5.1 Задачи и методы тестирования
- •5.2 Структурное тестирование
- •5. 3 Выполнение работы
- •5.5 Список контрольных вопросов
- •6. Метод эквивалентных разбиений. Лабораторная работа № 6
- •6.1 Теоретические сведения
- •6.2 Выделение классов эквивалентности
- •6.3 Построение тестов
- •6.4 Порядок выполнения работы
- •6.5 Список контрольных вопросов
- •7. Метод функциональных диаграмм. Лабораторная работа n 7
- •7.1 Особенности метода функциональных диаграмм
- •7.2 Базовые символы для записи функциональных диаграмм
- •7.3 Пример построения функциональной диаграммы
- •7.4 Преобразование функциональной диаграммы в таблицу решений и построение тестов
- •7.5 Порядок выполнения работы
- •7.6 Список контрольных вопросов
- •8. Расстановка контрольных точек. Лабораторная работа №8
- •8.1 Теоретические сведения
- •8.2 Порядок выполнения работы
- •8.3 Список контрольных вопросов
- •9. Мутационный анализ. Лабораторная работа № 9
- •9.1 Теоретические сведения
- •9.2 Описание мутаций
- •9.3 Порядок выполнение работы
- •9.4 Список контрольных вопросов
- •10. Оценка надежности программ. Лабораторная работа № 10
- •10.1 Теоретические сведения
- •10.2 Порядок выполнения работы
- •10.3 Список контрольных вопросов
- •11. Определение показателей качества программного средства. Лабораторная работа № 11
- •11.1 Теоретические сведения
- •11.2 Номенклатура показателей качества
- •11.3 Методы оценки уровня качества пс
- •11.3 Порядок выполнения работы
- •11.5 Содержание отчета
- •11.6 Список контрольных вопросов
- •12. Расчет метрик чидамбера-кемерера. Лабораторная работа № 12
- •12.1 Теоретические сведения
- •12.2 Использование метрик Чидамбера-Кемерера
- •12.3 Порядок выполнения работы
- •12.4 Содержание отчета о выполнении работы
- •12.5 Список контрольных вопросов
7.5 Порядок выполнения работы
1. Построить функциональную диаграмму для индивидуального модуля.
2. Провести преобразование функциональной диаграммы в таблицу решений.
3. На основании полученной таблицы решений построить тестовые наборы.
Сравнить с тестами, полученными в работах 5 и 6.
4. Выполнить программу для полученных тестовых наборов. Результаты работы программы проанализировать.
5. Oформить отчет.
7.6 Список контрольных вопросов
1. Как в методе функциональных диаграмм используются особенности программы?
2. В чем заключаются недостатки рассматриваемого метода?
3. Что дает функциональное тестирование?
4. В чем отличие метода функциональных диаграмм от метода эквивалентных разбиений?
8. Расстановка контрольных точек. Лабораторная работа №8
Цель работы: изучение методики расстановки контрольных точек с целью восстановления маршрута выполнения программы.
8.1 Теоретические сведения
Любая программа может быть представлена в виде ориентированного графа, вершины которого соответствуют операторам программы, реализующим ветвления, а дуги - передаче управления между операторами или линейным участкам программы.
Остов графа - совокупность вершин и дуг, таких, что граф остается связен, а удаление любой дуги нарушает эту связанность. Все вершины и те дуги, которые не вошли в остов, называют коостовом. Дуги коостова называют хоpдами. Число хорд определяет цикломатическое число графа и вычисляется по формуле:
k = n - m+1
где n- число дуг; m- число вершин.
Так для графа на рис. остов и коостов выглядят следующим образом:
Рис. Остов графа Рис. Коостов графа
Минимальное по мощности множество контрольных точек получается, если контрольные точки размещаются в каждой хорде. При этом каждая хорда разрывается на две хорды и добавляется новая вершина, которая соответствует контрольной точке. При расстановке контрольных точек добавляется новая (фиктивная) дуга, которая замыкает конечную вершину с начальной (см. рисунок ).
Затем определяется множество базисных циклов. Базисный цикл - это замкнутый контур, содержащий только одну хорду и соответственно одну контpольную точку.
Для примера выше базисными циклами являются: ae, bd, bc.
Выбираются тестовые наборы таким образом, чтобы в результате выполнения программы все контрольные точки были пройдены.
С помощью линейной комбинации базисных циклов восстанавливается маршрут выполнения программы. Базисный цикл, соответствующий остову выбирается всегда. Например, если сработала только контрольная точка К1, то комбинация базисных циклов даст: ae + bd = abde маршрут выполнения программы. Если сработали контрольные точки К1 и К2, то маршрут можно вычислить по циклам: ae+bd+bc = abcbde.
Если при построении базисного цикла ориентация дуг мешает получить контур, то цикл сформировать можно, но в линейной комбинации он будет со знаком минус. Например, для условного оператора можно построить следующий граф управления, рис.
Базисные циклы: ab и bc. При этом дуги b и c не образуют правильного контура. Тогда при срабатывании контрольной точки K1 маршрут можно вычислить так: ab – bc = ac.