Best Practice

Isolated Testing 

Isolated testing made easy: Minimize dependencies, maximize efficiency, and boost software quality with seamless CI/CD integration.

The Scenario

In agile software development projects, multiple independent teams often work concurrently on complex applications. Dependencies frequently arise with existing legacy or adjacent systems whose functionality is critical for development and testing processes. Simultaneously, market demands require the early and high-quality validation of new functionalities to identify errors promptly and accelerate product launches.

These requirements pose a significant challenge for teams, as they must perform functional tests independently of the development progress of other teams or the availability of external systems. Consequently, organisations require solutions that facilitate efficient, isolated testing without compromising the depth or breadth of test coverage.

Picture

The Challenge

The primary challenge lies in conducting comprehensive system tests early, independent of external dependencies. Neighbouring systems are often unavailable, and inter-team dependencies complicate test preparation and execution. This results in delays and increased effort, adversely affecting timelines and software quality. 

A practical solution must mitigate these dependencies, provide flexible testing resources, and ensure high test coverage to support efficient and reliable development processes. 

Isolated Testing 

Isolated testing ensures a more efficient use of time, infrastructure, and resources, as external systems or interfaces do not need to be available during testing.

Furthermore, the test procedure can remain entirely focused on the system under test, eliminating the need to automate adjacent systems or their specific technologies.

This significantly reduces the effort required and minimises the complexity of test automation.

An additional advantage is the simplified design of test cases. With complete control over the test data, testers can design scenarios with precision and flexibility. This enhances testing reliability and enables quicker iteration during troubleshooting.

The Solution

We provide tailored test drivers for the relevant neighbouring systems to enable isolated testing in agile projects. Our solution leverages mocking frameworks such as WireMock to create flexible mock systems capable of simulating synchronous and asynchronous interfaces with adjacent systems. The test drivers can either be pre-populated with data specific to the testing phase or dynamically enriched at runtime for each test case using tools such as the Robot Framework. This approach ensures high clarity for business departments and ease of maintenance for development teams.

The provided test drivers are a central foundation for manual and automated testing. They support the validation of frontend, backend, and API functionalities, enabling these components to be tested in isolation and independently.

This ensures comprehensive test coverage, addressing both functional and non-functional requirements.

Our solution emphasises key requirements such as abstraction, robustness, and performance. Furthermore, seamless integration of the test drivers into build and deployment pipelines supports automation within existing CI/CD environments. Verification points at input and output interfaces enable the early detection of unexpected changes.

This approach empowers teams to commence testing early, regardless of the progress of other teams or the availability of neighbouring systems. As a result, we ensure high software quality and efficient development from the outset.

The Results 

By implementing this solution, teams are empowered to perform continuous, development-accompanying testing independently of other teams. Reusable test drivers significantly reduce project-wide effort, as individual teams no longer need to develop their mocks. This approach supports adherence to the testing pyramid, ensuring high-quality test coverage is achieved at the lower testing levels, which remain the responsibility of individual teams. This prevents reliance on achieving comprehensive coverage too late in the process during integrative testing stages, as is often the practice case. As a result, the strategy becomes more efficient and delivers higher-quality outcomes

Fincon Reply is a business and IT consultancy specializing in the financial services industry. Fincon Reply proactively advises banks, the Sparkassen Finance Group, insurance companies and near-financial companies as well as their suppliers on their digital transformation. The company provides on-site support with specialised teams of consultants and developers and delivers turnkey solutions.