Тестируемость

Тестируемость

РОСС состоит из 4-х компонентов: Роутер, Операция, Сценарий и Сервис. Архитектура сформирована таким образом, что тестирование всех четырех компонентов будет означать тестирование всего приложения целиком на всех уровнях:

  • Компонентное тестирование (Unit Testing);
  • Интеграционное тестирование (Integration Testing);
  • Системное тестирование (System Testing);
  • Приемочное тестирование (Acceptance Testing).

Тестирование сервисов – это классические Unit-тесты. Unit-тест на сервис работает с контрактом (интерфейсом) сервиса: вызывает методы и отслеживает состояние через свойства.

Тестирование операций – это интеграционные тесты. Здесь проверяется связка между ключевыми сервисами, передаваемыми на вход в операцию, и контекстным сервисом (вью-моделью).

Тестирование сценариев – это системное тестирование. Здесь проверяется логика взаимодействия операций в рамках некоторого пользовательского сценария (User Flow), выраженного одним или несколькими ROSS-сценариями. Здесь проверяется функционирование системы целиком, но без UI-слоя, что упрощает тесты и снижает их хрупкость.

Тестирование роутера – это UI-тесты, т.е. самое высокоуровневое, приемочное тестирование. Может быть реализовано как вручную, так и в виде автоматических UI-тестов на пользовательские сценарии.