About the client
Business Challenge
To maintain its disruptive leadership position in the market, the client undertook to upgrade its platform that would offer an integrated front end that dramatically simplified the experience for both online customers and their agents. The new front-end interface needed to:
- Speed up, by up to 3x, the ability for a new customer to go live on their platform
- Reduce the costs of customer implementation by up to 50%
- Provide a frictionless customer experience for online consumers
- Ease navigation across the process with improved menus
- Switch from traditional linear flow and be able preset multiple policy states
- Improve view and drill down into data across functions
- Improve cross-site searchability
Additionally, the new platform was designed to allow the insurance policyholders to self-serve. This would exponentially increase the business rules, scenarios, and components that must be validated before the market release without compromising release agility.
Trigent solution
To achieve the desired Customer Experience (CX), the client switched from using a very old version of React, Typescript, Gulp, and Bower to the latest version of React and Typescript, supported by Webpack and npm.
The client partnered with Trigent to augment and extend their QA capabilities, undertake functional testing, and build automated checks across the new platform. Trigent’s testing team got involved in defining the test strategy, the core elements of which were:
- Shift left the tests early by identifying errors or missing business rules early in the DIY workflows
- Build rapid fail-fast cycles of tests to ensure errors in weekly builds were trapped as early in the sprint cycle
- Ensure a strong focus on consistency of the UX across all stages of the insurance process
With recognized Test Automation credentials, Trigent ensured release readiness and built automated checks across the upgraded platform. The automation team focused on the component integration and the end-to-end business functional tests. Scenarios to automate were chosen to increase test coverage in areas of risk and business criticality.
The API integration test cases were run at every pull request in the local development branch, periodically, in the main development branch and whenever a release was undertaken (usually weekly). API tests were integrated into the CI/CD pipeline and controlled through Jenkins jobs. UI tests, that covered critical business functionality, were to be run twice daily to check for regressions on the development branch and against release candidates on different test environments.
Trigent’s AutoMATE framework formed the basis and jump-started the framework development process, thus saving time, in an already time-crunched project.The team ensured the automation of maximum test scenarios across high-risk scenarios. The enhanced framework enabled:
- Implementation of page object models having separate classes for each page
- Parallel execution of tests with no dependency on any pre-conditions
- Creation of data through APIs (stored in JSON) and passed on to UI tests for validations
- Avoidance of code duplication
- Handling dynamic waits thus reducing the flakiness of tests
- Implementation of utilities like Date Utils to format date, Faker utils to generate fake data
- Generation of Mochawesome reports showing a detailed representation of test cases and messages
- Static code analysis using ESLint
Automation coverage achieved
Achieved automation of 90% of the test scenarios across high-risk and business-critical scenarios.
600+
API tests
150+
End-to-end business functional scenarios
- Building test data (encapsulation of test data in JSON into the test case)
- Creating JSON data files for each entity with all the required test data; handling different data combinations to validate for edge and corner cases
- Validating code correctness using ESLint
- Randomizing the functional scenario execution to simulate a real-time environment. For example:
- Multiple policy workflows with random policy actions
- According to business workflow from policy creation to lapse
- Covering edge scenarios and negative scenarios
- Deploying correct Configuration through API and executing tests on that environment
- Execution of tests on different customer configurations
- Adding sufficient assertions and verifying all possible validations
- Verifying audit logs are generated correctly and verifying correct date, and timestamp to name a few
- Trapping any console errors
Client benefits:
- Efficient automation testing and bug status reporting identified a good number of defects early in development that ultimately reduced the production defect and post-production issues in customer configurations by 75%
- With code checks for 600+ API tests run at every pull request, daily (and on every build) runs of 150+ UX tests helped identify regression issues early and reduced the testing cycle time by 70%.
- The ability of the automation framework to integrate with the CI/CD process enabled the client to improve its release velocity for the sprint by 25%.
- Ensured release readiness with a significant reduction in the overall test execution time from 3 weeks to 2 days for each intermediate