Increased Complexity Due to Multiple Integrations
The client’s dynamic sales process is held together by Salesforce CRM which integrates with multiple other systems and architectures. This makes end-to-end testing very difficult.
Inherent Test Automation Complexity of Salesforce
A powerful platform like Salesforce has multiple technical challenges to make test automation reliable. These challenges include shadow DOMs, heavy DOM structure, hidden as well as dynamic UI elements, and test data management. Automation frameworks built over a period of time lead to unsteady test automation and cannot cut through this complexity and hence fail to deliver their promise of successful test automation.
Frequent Salesforce Releases
In this global implementation program, there were three major releases a year (Spring, Summer, and Winter). This means that these updates have to be continuously tested prior to deployment into production across all regions. This increased the workload of testers as they had to manually write a new code every time to update automation suites to be ready for each release.
Limitations of the Existing Automation Framework
Framework built using Selenium had multiple limitations. It was extremely inflexible, and maintenance could not cope up with the speed of multiple releases. This led to higher costs and 80% of the defects were still slipping into the UAT environment.
Multiple Testing Environments
Being a global leader, the client had multiple implementation tracks for different global regions to cater to their specific requirements. This multiplied by various environments like dev, QA, staging, and UAT for each version and track, where testing was to be performed. As a result, the speed and quality of testing cycles were affected. This also increased the cost of testing that involved a large number of regression and acceptance test executions during short release cycles.