Меню


Site Logo

Пример оформления сценария и чек-листа

Ниже приведен пример оформления сценария работы исполнительного модуля, взаимодействующего с контроллером светофора.

; Сценарии работы модуля-исполнителя
: Kernel\Targets
1: Uniteller.DeviceController
  S01: Переключение сигнала светофора
    Описание : @nonutx
      Перед началом работы, модуль DeviceController должен быть проинициализирован. После инициализации модуль может принимать сообщения от управляющей логики.
      Единственная цель модуля - обеспечить переключение сигналов светофора по команде.
    Подцели:
      01: Инициализация
      02: Установка сигнала
      03: Выгрузка
    Проверки
      01: Инициализация, установка сигнала светофора, выключение по команде Kernel.Stop
      02: Инициализация, выключение по команде Kernel.Stop
      03: Последовательная успешная смена цвета по команде setlight: зеленый, желтый, красный.  
  Инициализация
    Описание : @nonutx
      Модуль DeviceController включается сообщением Kernel.Start.
      При его получении модуль устанавливает сигнал светофора  и запоминает этот цвет в переменную CurrentLight.
      Независимо от результата модуль переходит в состояние ожидания новой команды.
    Проверки:
      01: При включении модуль установил сигнал по умолчанию, работа в штатном режиме.
      02: При включении модуль не установил сигнал по умолчанию, работа в штатном режиме.
  Установка сигнала
    Описание : @nonutx
      Модуль DeviceController принимает от управляющей логики  сообщение SetLight с параметром ColorType.
      Сперва гасится цвет, который был ранее включен, CurrentLight:
        * Если цвет не может быть погашен, то управляющей логике отправляется сообщение Fail. 
          Установка нового цвета прерывается. Модуль возвращается в состояние ожидания новой команды.
      После успешного гашения предыдущего сигнала включается новый:
        * Если модуль смог установить сигнал нужного цвета, то отправляет управляющей логике сообщение Success.
        * Если модуль не смог установить сигнал нужного цвета, то он отправляет управляющей логике сообщение Fail.
      В переменную CurrentLight запоминается новый цвет.
      Модуль возвращается в состояние ожидания новой команды.
    Проверки:
      01: Попытка выставить красный сигнал успешна, модулю управляющей логики отправлено Success.
      02: Попытка выставить жёлтый сигнал успешна, модулю управляющей логики отправлено Success.
      03: Попытка выставить зелёный сигнал успешна, модулю управляющей логики отправлено Success.
      04: Попытка выставить красный сигнал неуспешна, модулю управляющей логики отправлено Fail.
      05: Попытка выставить жёлтый сигнал неуспешна, модулю управляющей логики отправлено Fail.
      06: Попытка выставить зелёный сигнал неуспешна, модулю управляющей логики отправлено Fail.
      07: Попытка погасить красный сигнал при установке зелёного неуспешна, модулю управляющей логики отправлено Fail.
      08: Попытка погасить жёлтый сигнал при установке красного неуспешна, модулю управляющей логики отправлено Fail.
      09: Попытка погасить зелёный сигнал при установке жёлтого неуспешна, модулю управляющей логики отправлено Fail.
  Выгрузка
    Описание : @nonutx
      При получении сообщения Kernel.Stop модуль гасит на светофоре цвета CurrentLight.
      После получения результата, независимо от успеха модуль завершает работу.
    Проверки
      01 : Выгрузка модуля при включенном красном, успешно погашен
      02 : Выгрузка модуля при включенном жёлтом, неуспешно погашен
      03 : Выгрузка модуля при включенном красном, успешно погашен 

Включенные в тело сценария проверки составляют чек-лист. При такой форме записи дополнительный документ с чек-листом составлять не нужно.