liveBook · Manning

Integration layer

As explained in BDD in Action, Second Edition

An integration layer is the architectural layer of a test automation system that translates domain activities into low-level interactions with external system interfaces and manages their clients.

The integration layer bridges business activities and technology interfaces. It translates domain-level actor activities into exact interactions with the system under test and manages the clients that perform them, such as HTTP clients and web browser drivers. section 14.4 section 15.2

Typical integration-layer responsibilities include:

  • Connecting domain activities to web interfaces, mobile applications, and programmatic APIs such as REST or GraphQL. section 15.2
  • Identifying interactable elements, setting up test data, producing test reports, and integrating with test tools. section 14.2.1
  • Integrating with the test execution environment, test infrastructure, and the people and processes that run tests and analyze results. section 15.2

Keep low-level interactions out of specifications

A maintainable test keeps business-facing workflow steps in the Specification and Domain layers, then delegates browser-driver or HTTP-client details to the integration layer. Calling Selenium WebDriver APIs directly from a specification couples the workflow to a specific interface and tool, making later techniques such as blended testing harder to introduce. section 14.2.1 section 14.4

Figure 14.15 Layers of a typical test automation system based on Serenity/JS, with their contents

Use the layer diagram to locate the integration layer beneath the Domain and Specification layers and see the technologies and responsibilities assigned to it. section 14.2.1

How BDD in Action, Second Edition covers it

How deep it goes
Defines responsibilities and architectural boundaries, including low-level interaction translation, client management, test data, and reporting.
Examples
Uses HTTP clients, web browser drivers, web interfaces, mobile apps, REST APIs, GraphQL APIs, test data, and reports.
What you can do after
Apply it by isolating interface-specific interactions and clients beneath domain-level workflow abstractions.
How it connects
Connects the Domain layer with the Specification layer, external interfaces, test tools, test data, reporting, and execution environments.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of BDD in Action, Second Edition. The section links point to the parts of the book it draws on.