Тестируемость
РОСС состоит из 4-х компонентов: Роутер, Операция, Сценарий и Сервис. Архитектура сформирована таким образом, что тестирование всех четырех компонентов будет означать тестирование всего приложения целиком на всех уровнях:
- Компонентное тестирование (Unit Testing);
- Интеграционное тестирование (Integration Testing);
- Системное тестирование (System Testing);
- Приемочное тестирование (Acceptance Testing).
Тестирование сервисов – это классические Unit-тесты. Unit-тест на сервис работает с контрактом (интерфейсом) сервиса: вызывает методы и отслеживает состояние через свойства.
Тестирование операций – это интеграционные тесты. Здесь проверяется связка между ключевыми сервисами, передаваемыми на вход в операцию, и контекстным сервисом (вью-моделью).
Тестирование сценариев – это системное тестирование. Здесь проверяется логика взаимодействия операций в рамках некоторого пользовательского сценария (User Flow), выраженного одним или несколькими ROSS-сценариями. Здесь проверяется функционирование системы целиком, но без UI-слоя, что упрощает тесты и снижает их хрупкость.
Тестирование роутера – это UI-тесты, т.е. самое высокоуровневое, приемочное тестирование. Может быть реализовано как вручную, так и в виде автоматических UI-тестов на пользовательские сценарии.