Starting point
The client needed repeatable checks of web user journeys and system behaviour under load, but had no existing automation suite or anything else to build on.
Design and implementation
The web automation was built in Python with Selenium, using the Page Object Model design pattern.
It also included custom retry logic for situations where it was useful to distinguish a random technical issue from an actual failure. Retries did not hide the test result; they helped provide better evidence around the failure.
Performance scenarios were implemented in Apache JMeter. Together, the solution covered dozens of web and load scenarios.
Execution and reporting
The client's team ran tests on demand. Reporting followed its preference for simple text output: the email contained a concise failure description and a detailed test log.
Performance testing went beyond response time. It evaluated stability under load and looked for specific bottlenecks between service calls.
What the solution delivered
- The team regularly used the web tests to check key scenarios.
- Reports gave the team an overview of failures, with detailed logs to support their analysis.
- The performance test results helped the client identify a bottleneck whose cause they could then address.
- The client gained one coherent solution for functional and performance verification instead of isolated scripts.
- Automation eased the workload of the manual testing team by reducing repeated checks of web scenarios.