Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО-лекции3.pdf
Скачиваний:
107
Добавлен:
09.02.2015
Размер:
1.51 Mб
Скачать

Интеграционное тестирование при структурном подходе к программированию.

Структура программы:

 

 

 

 

 

 

М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