Client:
Global Telecommunications Company
Industry:
Telecommunications
Technology and Platforms:
System Technologies: Salesforce Apex, Salesforce Object Query Language (SOQL).
Solution Technologies: JAVA, Selenium, Jenkins, Heroku, NodeJS and Azure Cloud Services.
The client's Salesforce instance was highly customized, which resulted in long quality assurance (QA) cycles involving numerous QA engineers. The Salesforce platform presents challenges in terms of release, deployments and testing. We needed to implement and extend a test automation framework in Salesforce that reduced the amount of manual regression testing effort, while remaining maintainable. In addition, the organization had difficulty coordinating manual and automation testing efforts across separate teams and projects, while establishing a consistent quality process.
Salesforce’s Lightning UI interface is a modern user experience framework specifically tailored for the Salesforce ecosystem. It streamlines processes and enhances productivity with a range of custom and reusable components. However, this sophistication comes with its own set of challenges, especially when it comes to automating tasks and testing customized interfaces. We were faced with complexities that make automation in Lightning UI challenging, including:
We delivered a comprehensive and custom test automation framework that addressed the challenges presented by the Salesforce Lightning UI interface. We shifted to a component-based test automation approach, which reduced the complexity of the tests and increased maintainability. Scripts were created to automate the process of setting up a new/refreshed development environments for testing.
We created a distributed test execution approach in Jenkins to reduce the time that automated tests ran. In addition, we created a test definition interface to allow manual testers to write automated tests and execute them from within the Salesforce platform. Finally, we used custom Salesforce Apex components, Salesforce Object Query Language (SOQL) and Rest API calls to set up data and reduce the amount of required UI navigation steps.