
- •Основные требования к методологии проектирования программного обеспечения
- •Основные требования к методикам и методам проектирования ПО
- •Сложная система.
- •Разработка технического задания.
- •Диаграмма Use-Case (диаграмма прецедентов)
- •Методология быстрой разработки приложений – RAD.
- •Структурный подход в проектировании.
- •Методология Гейна/Сарсона.
- •Нотация Йордена/Де Марка
- •Синтаксис графического языка IDEF0.
- •Модель IDF3
- •Типы отношений.
- •Диаграмма атрибутов
- •Диаграмма потоков данных (ДПД, DFD)
- •Методология RUP и пример ее использования на простом примере о торговой фирме.
- •Спецификации прецедента «обновить данные из внешней системы».
- •Возможные отношения между сценариями.
- •UML, разновидности предметов, существующих в UML.
- •Операции
- •Группировка
- •Множественность. Как ее обозначить?
- •Реализация
- •Деревья наследования
- •Автомат
- •Диаграмма деятельности.
- •Зацикливание, выбор вариантов и циклы.
- •Оценка производительности распределенных информационных систем на этапе проектирования
- •Модели реализации.
- •Компонентная диаграмма
- •Computer-Aided Software/System Engineering (CASE)
- •Критерии классификации CASE-систем.
- •Тестирование ПО
- •Этапы тестирования.
- •Нагрузочное и предельное тестирование
- •Интеграционное тестирование при структурном подходе к программированию.
- •Тестирование при объектно-ориентированном подходе.
- •Сложность тестирования интеграционного класса.
- •Структурное тестирование программного обеспечения
- •Способ тестирования базового пути.
- •Потоковый граф
- •Графы и отношения
- •Отношения (симметричность, транзитивность)
- •Тестирование циклов
- •Тестирование очередей и потоков данных.
- •Как тестировать очереди.
- •Тестирование потока транзакций.
- •Тестируем декларацию.
- •Лекция 03.05.2011
- •Международные стандарты на разработку ПО
- •Стандарты, регламентирующие документирование программных средств и баз данных.
- •Профиль стандартов документирования объектов
- •Эксплуатационная документация
- •Исследовательская документация
- •Пользовательская документация
- •Лекция 10.05.2011
- •Характеристики качества программных средств
- •Модель качества ПП
- •Основные количественные характеристики программных средств и их атрибуты
- •Основные качественные характеристики программных средств и их аттрибутов.
- •Пример требований к количественным характеристикам качества программного средства.
- •Характеристики качества баз данных.
- •Жизненный цикл профилей стандартов

Интеграционное тестирование при структурном подходе к программированию.
Структура программы:
|
|
|
|
|
|
М1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
М2 |
|
М3 |
|
М4 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
М5 |
|
М6 |
|
М7 |
|
М8 |
|
М9 |
Если нижние модули отвечают за обработку и ввод информации, то нужно начинать снизу вверх. Если не отвечают – то можно попробовать отрабатывать сверху вниз. ПОэтмоу сначала тестируем сверху вниз: сначала одну ветку: М1->М2->М5, а на остальные делаем заглушки.
Драйвер (в контексте тестирования) – модуль, обеспечивающий вызов и передачу тестируемому модулю данных и необходимых результатов.
Заглушка – модуль, имитирующий функции модулей, вызываемых при тестировании.
Пошаговое тестирование – последовательно добавляем в систему по модулю и каждый раз тестируем.
Сборка при тестировании:
Сверху вниз
Снизу вверх
Пошаговая
Монолитная – тестирование целиком системы.
Процесс тестирования – процесс многократного повторения кода программы в различных условиях для обнаружения как можно большего количества ошибок.
Тестирование при объектно-ориентированном подходе.
Построение графовой модели программы для начала тестирования.
При объектном подходе «модульное тестирование» означает тестирование класса.
Графовая модель программы –ГМП.
Вершины графа – методы
Ребра графа – вызовы методов
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 43 |

|
|
MM-путь |
|
|
|
|
КлассN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Четыре MM пути: |
|
|
|
MsgA |
1 |
|
|
|
|
|
|
|
|
|
Метод3 |
|
|
|
|
1. MsgA M3 Msg3 M4 MsgD |
|
|
|
|
|
|
|
Msg3 |
|||
|
|
|
|
|
|
2. MsgB M1 Msg1 M4 MsgD |
|||
|
|
|
|
|
|
|
|
||
MsgB |
|
Метод1 |
Msg1 |
2 |
Метод4 |
MsgD |
3. |
MsgB M1 Msg2 M5 |
|
|
|
|
|
|
|||||
|
|
|
Msg2 |
|
|
|
|
4. |
MsgC M2 |
MsgC |
4 |
Метод2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Call method5()(p_пути) |
|
3 |
|
Метод5 |
|
|
|
|
|
|
|
|
|
|
Число MM-путей зависит от схемы обработки сообщений данным классом, что должно быть определено в спецификации класса.
Сложность тестирования интеграционного класса.
Общая формула.
Сложность тестирования по критерию C – это функция от количества точек входа и количества коэффициентов:
Kmsg – число точек входа в класс, которые могут быть вызваны извне.
Kem – число определяется как сумма методов, которые могут быть вызваны из других классов.
–если call method5() - public
–если call method5() - private
Итак, каждый класс тестируем отдельно. Оцениваем. Теперь строим интеграционную модель всех классов, которые могут между собой все взаимодействовать.
Дерево классов проекта.
|
Msg1 |
Порожденный класс 1.1 |
|
|
Порожденный класс 1.1.x |
Базовый класс1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порожденный класс 1.2 |
Msg1 |
||
|
|
|
|
|
|
… |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Класс N.1 |
|
|
|
Базовый классN |
|
|
|
|
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Класс N.K
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 44 |

Класс3 |
|
Класс1 |
Класс2 |
M1 |
M1 |
|
|
|
M2 |
M3 |
M1 |
Методика тестирования классовой модели в несколько этапов.
1.Сначала тестируется каждый метод в каждом классе
2.Объединяем их в графовую модель программы
3.Интеграционное тестирование как дерево классов, отслеживаются реакции программы на внешние события
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 45 |