Задать вопрос

Как рассмотреть все возможные сочетания во времени случайных событий?

Какие используют диаграммы или может иные методики для описания логики во времени, чтобы не упустить ни одного возможного сочетания событий?

В линейной логике if-else – дерево вариантов, все ветки очевидны. Несложные асинхронные процессы описывал UML-диаграммой. Всё неплохо, пока нет ветвления. Но заметно усложняется диаграмма с появлением новых условий, и есть риск упустить какой-то из сценариев.

Выдуманный пример: три независимых источника событий A, B и C. Каждый рандомно выпускает события то редко, то может вдруг кучно.

Механизм X должен запускаться по первому событию А, если до этого не было запусков в течение N секунд, или не было ещё K событий A. В то же время 10 событий B в окне M секунд отменяют все запуски механизма X на следующие L секунд. Однако группа из (5 событий C, паузы S секунд и ещё 5 событий C) даёт зелёный свет на запуск X безо всяких ограничений в течение P секунд. (Не стал усложнять пример кросс-взаимодействиями всех трех).

Как можно наглядно изобразить диаграмму такой логики, и как быть уверенным, что тесты исчерпывающе проверяют работу?
  • Вопрос задан
  • 21 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Пишете простой скрипт, в котором описываете все ваши условия и который на выходе выдаст все возможные связи и зависимости событий и элементов в виде какого-то формата. Ну и далее создаёте граф/диаграмму в виде картинки любой тулзой - например, через тот же UML или какой-нибудь mermaid.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы