Опубликован: 05.03.2005 | Доступ: свободный | Студентов: 15166 / 2217 | Оценка: 4.11 / 3.63 | Длительность: 13:20:00
ISBN: 978-5-9556-0027-7
Специальности: Тестировщик
Практическая работа 10:

Описание автоматической генерации MSC тестов

Конструкция loop (рис. 10.5) имеет несколько форм. Наиболее общая форма - loop <n, m>, где n и m - натуральные числа. Это означает, что конструкция может быть выполнена от n до m раз. Вместо натурального числа может использоваться ключевое слово inf, обозначающее бесконечность.

Цикл

Рис. 10.5. Цикл

Оператор opt имеет структуру, аналогичную loop, но без операндов, и обозначает то же, что и оператор alt с пустой MSC в качестве второго операнда.

Одним из важных понятий в MSC является условие или состояние. Состояние - это особое событие на трассе объекта. В отличие от прочих событий, одно и то же состояние может разделяться одним, двумя и более объектами. По числу объектов на диаграмме, разделяющих некоторое состояние, различают глобальные состояния (общее для всех объектов), разделяемые состояния (разделяемые несколькими, но не всеми объектами) и локальные состояния (разделяемые единственным объектом). Если два объекта разделяют одно и то же состояние, то сопряженные события приема и посылки сообщений должны происходить либо оба до соответствующего состояния, либо оба после соответствующего состояния.

Состояние (условие)

Рис. 10.6. Состояние (условие)

Основной недостаток стандартной MSC - невозможность описать отношения данных в параметрах сообщения. Эта проблема решается с использованием некоторого расширения стандартного MSC - mMSC (macro MSC). Основные из этих расширений включают в себя:

Макроподстановки (рис. 10.7). Они позволяют создавать множество MSC-диаграмм с одинаковой структурой и разными параметрами сообщения, циклами и т. п. Макроподстановки начинаются с символа # и могут быть константами или функциями. Функции, кроме названия, содержат параметры, заключенные в скобки.

Макроподстановки

Рис. 10.7. Макроподстановки

Типы макроподстановок описываются в определенном файле, и на основе этой информации вместо них подставляются конкретные значения.

Временные ограничения служат для указания времени посылки/приема сообщения, его длительности и типа (синхронное с явно заданным моментом выполнения, асинхронное). Время может задаваться относительно начала работы (абсолютное), относительно предыдущего сообщения (относительное) или относительно метки. На рис. 10.8 сообщение M01 должно отправиться через 5 единиц времени, в течение 5 единиц после получения сообщения M00 (указано с помощью метки).

Использование времени

Рис. 10.8. Использование времени

Применение MSC-диаграмм для описания поведения моделей

Благодаря своему главному преимуществу - ясному графическому представлению, которое дает интуитивное понимание поведения описываемой системы, MSC-диаграммы широко применяются для различных целей:

  • для определения требований;
  • как спецификация интерфейсов;
  • как спецификация взаимодействия процессов;
  • как базис для генерации тестов;
  • для документации;
  • для объектно-ориентированного анализа и разработки.

Хотя изначально MSC-диаграммы предназначались для описания телекоммуникационных систем, сейчас они с успехом применяются и в других областях.

Обработка MSC-диаграмм

В случае достаточно сложных систем могут быть обнаружены ошибки, возникшие как при создании диаграммы, так и при проектировании тестируемой системы. Исправление тех же ошибок, если они будут обнаружены на более позднем этапе жизненного цикла продукта, потребует гораздо больших затрат.

Проверка MSC-диаграммы на полноту

Большинство систем или их частей можно в том или ином виде представить с помощью механизма state-машин. Тогда каждому состоянию системы на диаграмме будет соответствовать условие - конструкция condition. Для каждого события диаграммы (под событием будем понимать сообщение или действие - action) можно составить множество всех состояний, которые могут непосредственно предшествовать ему (предусловия). В этом случае проверка на полноту MSC-диаграммы будет заключаться в проверке того, все ли возможные случаи предусловий для каждого события представлены в ней. Если это не так, то, возможно, диаграмма не описывает полностью все возможные сценарии работы системы, и множество тестов, сгенерированных по этой диаграмме, будет неполным.

Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Илья Ардов
Илья Ардов

Добрый день!

Я записан на программу. Куда высылать договор и диплом?

Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Сергей Пантелеев
Сергей Пантелеев
Россия, Москва