The automated regression testing solution crafted by our Quality Engineering team provides an integrated test environment. Corresponding test results can be reported using advanced analytics. Our solution demonstrates that, despite involving both UI and API scenarios, automated regression testing can be successfully conducted, achieving efficiency and effectiveness.
Our solution included an enhanced reporting portal with these features:
- Real-time reporting
- High scalability
- Easy integration
- Advanced analytics
- Role-based access control
- Test execution in multiple environments
- Extensibility
The new system architecture is built on the Spring Boot framework, where we leveraged a combination of Java and Selenium for automating Web and API test scenarios. We’ve integrated Cucumber BDD, TestNG, and Selenium GRID into the framework for a more streamlined operation. Within the overall workflow, we’ve employed REST Assured for automating APIs, while Kafka is utilized for messaging queue automation.
We have incorporated several automation elements into our system for improved performance and efficiency. A new Jdbc template streamlines configuration processes and ensures reliable connection closures. Additionally, we’ve harnessed the power of Kafka to facilitate accurate and timely message validation.
Two key factors that make our solution stand out include:
- Significant speed improvement: Our engineers implemented Selenium Grid with TestNG rather than JUnit. Our solution massively improves the test suite run speed by enabling parallel testing.
- Increased test flexibility: The ‘@Profile’ annotation in Spring Boot allows us to choose one or more profiles to initiate the testing process without having to rewrite any tests.
Here are some other notable takeaways from the solution:
- Dynamic parameterization: The new testing platform allows test engineers to execute tests irrespective of logic changes by simply changing the command line arguments.
- Enhanced reporting portal: Reporting is 100% transparent and can verify test execution progress without generating a status request. The company no longer needs to follow verbal test team reports and can instead get test status information for themselves. New reports available in the portal include API, UI, and Messaging reports.
- Greater resource usage efficiency: Shared objects and helper libraries are now incorporated into a single service management component. Our team greatly increased test efficiency using Spring Boot dependency injection to provide shared services to components within the new testing infrastructure.