A multi-tier application separates responsibilities into layers so teams can evolve complex systems without mixing business meaning, workflow rules, and technology-specific interactions. In test automation, layering creates a scalable safety net around an existing system and reduces regression risk while new improvements are introduced. section 14.0
A layered test automation system commonly divides responsibilities as follows:
- Specification layer: captures stakeholder-important workflows, business rules, usage examples, actors, and goals. section 14.2.1
- Domain layer: models the activities required to complete those workflows and gives sequences of lower-level actions business meaning. section 14.2.1
- Integration layer: translates domain activities into exact interactions with the system under test and its external interfaces. section 14.2.1
The arrangement keeps business-facing specifications distinct from implementation details. Teams can then focus the domain layer on the business process while encapsulating lower-level test tools in the integration layer, improving reuse and portability across suites and teams. section 15.0
Retrofitting an airline system
For an existing airline system without acceptance-test coverage, first identify high-value journeys and automate their important scenarios. Express the business context in the Specification layer, model the required activities in the Domain layer, and connect those activities to the system through the Integration layer. section 14.0 section 14.2.1
Use the layer diagram to trace how specifications, domain abstractions, and integration details are arranged in a Serenity/JS test automation system. section 14.2.1






