test set generation based on a management stream model

14
Saint-Petersburg State Polytechnic University 1 Генерация тестового набора на основе модели потока управления П. Дробинцев

Upload: iosif-itkin

Post on 02-Jul-2015

365 views

Category:

Science


0 download

DESCRIPTION

Pavel Drobintsev, Vsevolod Kotlyarov, Igor Nikiforov, Nikita Voinov, Saint Petersburg State Polytechnic University, Saint Petersburg

TRANSCRIPT

Page 1: Test Set Generation Based on a Management Stream Model

Saint-Petersburg State Polytechnic University 1

Генерация тестового набора на основе модели потока управления

П. Дробинцев

Page 2: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 2

Проблемная область

• Проверки на модели недостаточно, необходимо

проведение тестирования на основе результатов

верификации

• Проблема взрыва количества состояний

• Мощность инструментов верификации позволяет

получить огромное количество трасс

• Необходимость автоматизации тестирования и

верификации для сокращения количества тестов

Page 3: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 3

Формальные модели • Типы формальных моделей

– Структурные

– Поведенческие

• Проблемы

– Однозначность интерпретации модели

исполнителем и заказчиком

• Тенденции

– Использование формальных моделей

– Повышение уровня абстракции в формальных

3

Page 4: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 4

Методы создания тестовых

сценариев • Поведенческие формальные модели

– Обычные и расширенные автоматы

– Системы переходов

– …

• Методы сокращения пространства состояний

– Методы на основе классов эквивалентности

– Методы на основе дедуктивного анализа

– Методы символьного анализа

– …

• Типы дефектов

– использование неинициализированных объектов, тупики,

гонки параллельных потоков…

Page 5: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 5

Нотация UCM

5

гдеRESUUCM ),,,,(

U – множество элементов

S – множество начальных состояний E – множество конечных состояний

R – множество переходов

Page 6: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 6

Предлагаемый подход

• Ручная формализация модели в высокоуровневой

графической нотации

• Верификация модели и ее корректировка

• Генерация символьных тестовых сценариев по

модели

• Генерация исполняемых тестов

• Исполнение тестов и оценка результатов

6

Page 7: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 7

Поддерживающий инструментарий

7

Page 8: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 8

Критерии покрытия

• Число выполненных операторов программы

• Покрытие ветвей

• Покрытие путей

• Покрытие проверенных значений данных

• Покрытие граничных значений функции

• Покрытие переходов между состояниями

8

Page 9: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 9

Использование гидов

9

}#,...,#,#{nnkkii

dududuGuide

u — элемент диаграммы

d — глубина между элементами

Метод подразумевает

наложение ограничений на

размер тестового сценария, что

дает возможность проверить

его допустимость.

Критерии покрытия

формулируют дополнительные

ограничения на поиск, отсекая

ветви поведения модели, не

удовлетворяющие тестовому

сценарию.

Использование глубин :

• для сокрытия альтернативного выбора

•для сокрытия цикла

•для сокрытия параллелизма.

Page 10: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 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

Page 11: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 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

Page 12: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 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

Page 13: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 13

Заключение

13

• 70%-ное сокращении временных затрат на весь цикл

тестирования по сравнению с подходом основанным на

простом обходе дерева поведения системы без использования гидов.

• Сокращение количества тестов сгенерированных

системой верификации более чем в 10 раз.

Page 14: Test Set Generation Based on a Management Stream Model

Санкт-Петербургский государственный политехнический

университет 14

Спасибо за внимание!

14