test set generation based on a management stream model
DESCRIPTION
Pavel Drobintsev, Vsevolod Kotlyarov, Igor Nikiforov, Nikita Voinov, Saint Petersburg State Polytechnic University, Saint PetersburgTRANSCRIPT
Saint-Petersburg State Polytechnic University 1
Генерация тестового набора на основе модели потока управления
П. Дробинцев
Санкт-Петербургский государственный политехнический
университет 2
Проблемная область
• Проверки на модели недостаточно, необходимо
проведение тестирования на основе результатов
верификации
• Проблема взрыва количества состояний
• Мощность инструментов верификации позволяет
получить огромное количество трасс
• Необходимость автоматизации тестирования и
верификации для сокращения количества тестов
Санкт-Петербургский государственный политехнический
университет 3
Формальные модели • Типы формальных моделей
– Структурные
– Поведенческие
• Проблемы
– Однозначность интерпретации модели
исполнителем и заказчиком
• Тенденции
– Использование формальных моделей
– Повышение уровня абстракции в формальных
3
Санкт-Петербургский государственный политехнический
университет 4
Методы создания тестовых
сценариев • Поведенческие формальные модели
– Обычные и расширенные автоматы
– Системы переходов
– …
• Методы сокращения пространства состояний
– Методы на основе классов эквивалентности
– Методы на основе дедуктивного анализа
– Методы символьного анализа
– …
• Типы дефектов
– использование неинициализированных объектов, тупики,
гонки параллельных потоков…
Санкт-Петербургский государственный политехнический
университет 5
Нотация UCM
5
гдеRESUUCM ),,,,(
U – множество элементов
S – множество начальных состояний E – множество конечных состояний
R – множество переходов
Санкт-Петербургский государственный политехнический
университет 6
Предлагаемый подход
• Ручная формализация модели в высокоуровневой
графической нотации
• Верификация модели и ее корректировка
• Генерация символьных тестовых сценариев по
модели
• Генерация исполняемых тестов
• Исполнение тестов и оценка результатов
6
Санкт-Петербургский государственный политехнический
университет 7
Поддерживающий инструментарий
7
Санкт-Петербургский государственный политехнический
университет 8
Критерии покрытия
• Число выполненных операторов программы
• Покрытие ветвей
• Покрытие путей
• Покрытие проверенных значений данных
• Покрытие граничных значений функции
• Покрытие переходов между состояниями
8
Санкт-Петербургский государственный политехнический
университет 9
Использование гидов
9
}#,...,#,#{nnkkii
dududuGuide
u — элемент диаграммы
d — глубина между элементами
Метод подразумевает
наложение ограничений на
размер тестового сценария, что
дает возможность проверить
его допустимость.
Критерии покрытия
формулируют дополнительные
ограничения на поиск, отсекая
ветви поведения модели, не
удовлетворяющие тестовому
сценарию.
Использование глубин :
• для сокрытия альтернативного выбора
•для сокрытия цикла
•для сокрытия параллелизма.
Санкт-Петербургский государственный политехнический
университет 10
Использование гидов с глубиной
10
Для покрытия R6 необходимо построить 4 гида:
• R0, R1, R3, R4, R6; • R0, R1, R3, R4, R5, R4, R6;
• R0, R2, R3, R4, R6;
• R0, R2, R3, R4, R5, R4, R6.
С использованием глубины можно построить один гид:
• R0, R3#2, R6#3
Санкт-Петербургский государственный политехнический
университет 11
Генерация на основе критерия
ветвей
11
• Генерация базовых
протоколов по UCM проекту.
• Выделение ветвей в структуре
UCM.
• Генерация гида для каждой
ветви.
• Произведение оптимизации -
удаление избыточных
диаграмм.
R1
R1 R2
R1 R3
R1 R4
R1 R5(#2) R1 R5(#2) R6
R1 R5(#2) R7
R1 R2
R1 R3
R1 R4
R1 R5(#2) R6 R1 R5(#2) R7
Санкт-Петербургский государственный политехнический
университет 12
Результаты применения
12
Название проекта Кол-во
базовых
протоколов
Кол-во
ветвей
Кол-во гидов Кол-во
сгенерирова
нных
символьных
трасс
Количество
сгенерирова
нных тестов
Проект 1 358 149 437 372 958
Проект 2 163 240 139 131 522
Проект 3 191 111 87 72 216
Проект 4 214 200 118 104 312
Санкт-Петербургский государственный политехнический
университет 13
Заключение
13
• 70%-ное сокращении временных затрат на весь цикл
тестирования по сравнению с подходом основанным на
простом обходе дерева поведения системы без использования гидов.
• Сокращение количества тестов сгенерированных
системой верификации более чем в 10 раз.
Санкт-Петербургский государственный политехнический
университет 14
Спасибо за внимание!
14