Software has fueled amazing lifesaving advancements in the surgical and medical device industry over the past decade. For example, in 2018, nearly 1M robotic-assisted surgical procedures were performed in the United States alone—making surgery more effective, less invasive, and easier on surgeons and patients alike.
One leader in robotic-assisted surgery wanted to follow suit and make their software testing more effective, less invasive, and easier as well. The company leverages Salesforce Sales Cloud and Marketing Cloud to accelerate its growth and drive better awareness and adoption of its industry-leading products.
To remain on the cutting edge of technology internally, the company knew it was time to promote their Salesforce Classic environment to the latest functionality offered in Salesforce Lightning. One critical component of that transition was the ability to quickly test each business functionality in Salesforce during the transition, and for every subsequent quarterly release in Lightning.
The company’s implementation of Salesforce Classic included significant amounts of custom code that needed to be refactored for Lightning. It also included many critical integration points with their broader application stack (including SAP). All in all, confirming that these customizations and integrations would continue to work once they moved to Lightning meant more than 300 screens would need to be tested. This required a huge library of test cases. But this testing was not a one-time requirement. After the transition to Lightning, the customer wanted to repeat these tests continuously across future sprints to ensure that any new issues were uncovered as soon as they were introduced. They realized that to achieve the needed speed and repeatability, they needed reliable test automation.
At first, they tried automating their Salesforce testing with Selenium. They built a large suite of Selenium test cases to test their Salesforce Classic screens. However, the maintenance required to update Selenium tests for Salesforce soon raised red flags. These maintenance concerns are summarized in Salesforce’s own notice to developers, “Salesforce changes the DOM in each release. One side effect of all these changes is the impact on test maintenance. Because these improvements modify the Document Object Model (DOM) structure, tests that rely on specific implementation details in the DOM tend to be brittle and require continual updates from release to release.”
Because Selenium tests rely on the DOM, the company knew it needed to find a Salesforce test automation solution that was faster and easier to maintain.
“Continuous testing was needed to facilitate these changes. All the test cases HAD to work and we have a huge regression library. What was automated for one sprint, needed to be functional for the next without additional rework or intervention.”
- Faster-than-expected transition to Salesforce Lightning
- Test cases do not need to be modified when the UI changes, and they’re simple to update when the underlying process changes
- User acceptance testing is performed manually once, then captured in automated regression tests for Continuous Testing
- Automated tests are used as a quality gate for promoting releases