| Both sides previous revision Previous revision | |
| mdd:uml_mbt [2026/08/29 07:53] – Bulk sync migration user | mdd:uml_mbt [2026/08/29 07:59] (current) – external edit 127.0.0.1 |
|---|
| | ====== Подмножество UML для целей модельно-ориентированного тестирования ====== |
| |
| | В работе рассматривается оригинальный подход к модельно-ориентированному тестированию системы, основанному на UML, а также автоматической генерации тестов на основе критериев покрытия. Рассматриваемый метод встроен в LEIROS Test Designer tool и в настоящее время используется в корпоративном и финансовом софте. |
| | В работе определяется конкретное подмножество UML, необходимое для такого рода тестирования, также приводится пример его использования. |
| | |
| | Авторы рассматривают модельно-ориентированное тестирование как процесс автоматизации генерации тестов, основыванный на поведенческой модели тестируемой системы (ТС). Сами тесты генерируются в виде последовательностей операций, выполняемых на ТС, результат которых сравнивается с заранее известными правильными ответами. |
| | |
| | Описание подмножество UML (UML-MBT) основывается на 3 диаграммах: классов, объектов и состояний. При этом накладываются следующие ограничения: |
| | В диаграмме классов нет наследования, ассоциаций, аттрибуты могуть быть только Integer, Boolean, Enum. На диаграмме объектов запрещено динамическое их создание или уничтожение. Оно моделируется сорзданием / уничтожением ссылок. |
| | События в диаграмме состояний ограничены действиями, описанными в диаграмме классов. Каждое событие может быть обработано только после завершения обработки предыдущего. |
| | |
| | Для вызовов и обработки переходов UML-MBT использует OCL-выражения двух типов: пассивные и активные. В пассивном контексте выражение интерпретируется как булева формула. Активные выражения подразумевают изменения состояния, модели, переменных или используется для инициализации возвращаемого значения действий. |
| | Выражения OCL могут быть использованы для описания поведения моделей и генерации тестов на основе этого поведения. UML-MBT поддерживает определение внешних условий для модели. Определяются такие условия в специальных блоках комментариев, ограниченных маркерами вида “/*@REQ:” и “@*/”. |
| | |
| | В статье рассматривается конкретный пример применения UML-MBT для генерации тестов на основе описания модели. Моделируется стек с операциями push,pop,size и максимальным размером MAX. |
| | Ниже приведен список требований для модели, диаграмма классов, диаграмма объектов и диаграмма состояний. Также в работе приводится детальное описание переходов на диаграмме состояний. |
| | |
| | [[mdd:_detail:mdd:screen_shot_2014-05-30_at_12.47.03.png|]] |
| | [[mdd:_detail:mdd:screen_shot_2014-05-30_at_12.43.44.png|]] |
| | [[mdd:_detail:mdd:screen_shot_2014-05-30_at_12.44.31.png|]] |
| | [[mdd:_detail:mdd:screen_shot_2014-05-30_at_12.48.28.png|]] |
| | |
| | В результате, приводится набор тестов, который будет сгенерирован на основе такой модели: |
| | [[mdd:_detail:mdd:screen_shot_2014-05-30_at_12.53.27.png|]] |