Who is the Company

A leading US-based retail company that sells high-quality home furnishings and kitchenware.

The Challenge

The company faced a significant challenge handling API and UI testing with Selenium and Cucumber. They wanted to incorporate dynamic parameters and a reporting portal for optimal visibility of test results.

Another area of improvement they needed was when the application was customized to exhibit different behaviors based on user roles, application functionality, and switches. When the company wanted to apply this variability to all scenarios, they had to rewrite and re-run multiple test cases, extending test run time and tying up valuable engineering resources.

In yet another challenge, sometimes the same ‘Page Object’ was recreated between tasks in the Screenplay pattern. Similarly, various parts of the application utilized the same library of helpers. The net result of this duplication was a tremendous waste of time and resources.

Hence, the company wanted to:

  • Reduce test execution time: In the old system, there was a marked delay in execution time when performing tests using Selenium. The company sought a way to improve the overall execution time, allowing greater scalability.
  • Run tests in different environments: To run the same test in a different environment, test engineers needed to perform significant modifications. The company wanted to reuse the same tests in any environment they chose. They also required the ability to apply variables such as user roles and different functionality without having to rewrite existing tests.
  • Incorporate advanced visualization into the test reports: The company used Allure Framework to produce test reports but needed to easily expand what was in the reports. They wanted a more flexible reporting system that ideally included visualization tools.
  • Improve resource utilization efficiency: The company needed a way to share common resources like Page Objects or shared helper libraries between tasks.

    The Solution

    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.

    Business Impact

    • Advanced reporting and visualization facilitate better test progress evaluation: The company can view the status or progress of the execution and number of runs on a test suite in a new test reporting portal. The reporting portal offers advanced visualization capabilities, making monitoring and evaluating test quality progress easier.
    • On-demand monitoring improves transparency: There is no need to wait for the report to be produced at the end of the entire execution cycle. Company stakeholders can now view monitoring reports, failure services, and ‘passed’ scenarios while the test suite is still in progress.
    • Vastly increased scalability improves customer satisfaction: One of the main benefits of regression test automation is visible as the application is enhanced and expanded. New test suites can easily be added without substantially impacting the time it takes to run the tests. The net result is faster time-to-market for new features, resulting in greater customer satisfaction and retention.
    • Lower operating costs: With the massive boost in performance comes an equivalent reduction in operating costs, directly affecting the company’s bottom line.

    Technologies Used

    Technologies - Java, Spring Boot, Selenium, Cucumber, TestNG, Selenium Grid
    Tools – IntelliJ, Docker, ReportPortal, MySQL

    Related Capabilities

    Utilize Actionable Insights from Multiple Data Hubs to Gain More Customers and Boost Sales

    Unlock the power of the data insights buried deep within your diverse systems across the organization. We empower businesses to effectively collect, beautifully visualize, critically analyze, and intelligently interpret data to support organizational goals. Our team ensures good returns on the big data technology investments with the effective use of the latest data and analytics tools.

    Do you have a similar project in mind?

    Enter your email address to start the conversation