Salesforce combines powerful built-in capabilities with the flexibility to create your own low-code capabilities. But as any seasoned developer will tell you, developing applications is the easy part. The real challenge is making sure they don’t break down over time and having solid protections to allow you to continue building-and experimenting-without fear of failing.
This is why testing is so important, especially automated testing. Testing is an important aspect of achieving digital change. Regardless of the size of the company, if teams don’t emphasize testing, they won’t achieve the speed and reliability of the changes they need.
Interested to learn more about how teams manage their testing processes, Salesforce reviewed more than 275 Salesforce professionals, who shared details of their testing teams ’strengths and weaknesses. . Here are some great takeaways:
- 41% of teams do not have time to test each change before each release.
- 92% experience production issues due to inadequate testing.
- 84% still rely at least partially on manual testing.
- 51% of organizations have 25+ full-time QA resources (20% have 100+ resources).
- 95% have a higher total cost of ownership for manual testing compared to commercial test automation.
See also: Guide to Digital Transformation: Definitions, Types and Approaches
Common Testing Challenges
Testing needs to happen at many levels, from unit tests to cross-system UI testing. Salesforce unit testing helps, but the unit testing culture among Salesforce developers is weaker than other languages like Ruby.
Salesforce mandates 75% unit test code coverage to be deployed in production, but since continuous integration was not uncommon in Salesforce until recently, most Salesforce developers don’t fully appreciate the importance of these tests. Thus, it is common to see false tests that meet the 75% threshold but provide little or no actual protection.
UI testing is also confusing in Salesforce, especially with their newer UI, Lightning. Lightning uses the shadow DOM (document object model) for security and performance purposes, but this makes it difficult for tools like Selenium that rely on the DOM.
The underlying DOM is also subject to modification without warning, which can crash tests even if the actual system is working properly. This means that UI testing tools for Salesforce need to have significant intelligence built-in.
Salesforce is also often integrated with other systems such as ServiceNow, SAP, and Oracle Financials. This means that test tools need to test all connected systems to ensure end-to-end functionality.
As a low-code platform, Salesforce development can act quickly. The underlying Salesforce platform is also updated three times a year. Faster cycles of this software mean more changes and updates that bring unpleasant surprises in the future if you don’t have good testing in place.
The behavior of the system can also depend on the underlying data in the system. So test data management is important, especially when working with complex apps built on top of Salesforce such as Salesforce CPQ, Veeva, and nCino.
Finally, Salesforce is designed to help low -end coders. This means that ideally, test tools should be easy to use by non-coders as well.
See also: DevOps, Low-Code and RPA: Pros and Cons
Some Trends in Salesforce Testing
As Salesforce grows in scope and sophistication, organizations need to be prepared for high-quality, cross-cloud customizations and verify third-party integrations with other technologies and platforms.
Teams in our survey (41%) said they didn’t have enough time to adequately test all of the changes before a release. Our analysis shows that teams feel pressure to deliver features because of aggressive project timelines and that development takes longer than expected.
The test, ultimately, was thrown on the backburner as a result. Teams often fail to give testing the respect it deserves, and relegate it to the end of a sprint, rather than follow development-driven testing or other means of shifting quality to left.
See also: What 2022 Holds for Intelligent Automation
Low Code Testing in the Early Stages
Low-code platforms like Salesforce will continue to dominate the digital landscape as each business moves its infrastructure to the cloud. The speed and ease of development on these platforms is unmatched, but they require robust testing to ensure that changes do not disrupt existing systems.
Low-code platforms remain in the early stages of testing. Based on Salesforce research among its professionals, most teams rely heavily on manual efforts. But the rise of DevOps and the acceleration of innovation means that automated testing is the next frontier for digital businesses today.
About the Author:
Andrew Davis, Salesforce DevOps Specialist and Senior Director of Research and Innovation, Copado.