Salesforce is a powerful platform for driving innovation within enterprises, but unlocking this power requires a modern release strategy that prioritizes quality.
As organizations continue to evolve their Salesforce environments, maintaining a quality system and ensuring that processes function without any disruption to end users requires consistent testing. Given the importance of this ongoing innovation, a strong testing strategy can make all the difference in an organization’s ability to use Salesforce to effectively accelerate innovation.
With that in mind, the following four strategies can help organizations improve testing within Salesforce —for example, by testing more efficiently to relieve bottlenecks, improving coverage, and increasing confidence in the quality of changes —to achieve critical outcomes, like boosting productivity and accelerating innovation.
1. Understand the specifics of testing Salesforce
Testing in Salesforce requires a tailored approach that matches its release cadence and customization options. First, Salesforce delivers updates three times a year. Second, Salesforce has a massive partner ecosystem that most enterprises tap into, and these partners deliver their own new releases several times a year. Finally, Salesforce is highly customizable, meaning that each organization has the opportunity to build unique solutions on top of Salesforce on a regular basis. Salesforce’s low-code and no-code environment means that these customizations can come from technical teams and business users alike. To deliver this innovation on schedule, organizations must be prepared to test frequently in an environment that’s highly susceptible to changes —from all directions.
One of Australia’s state departments recently experienced these challenges with a Salesforce implementation that spanned five projects, including Service Cloud, Community Cloud, and Visualforce, with a mix of Classic and Lightning experiences. The department focused its Salesforce development and deployment efforts on introducing new features, but the amount of changes —combined with a small team relying on manual regression testing —resulted in bottlenecks that threatened their agility and speed of innovation. In response, the department introduced test automation optimized for packed applications like Salesforce. This change enabled their team to better keep pace with the amount and frequency of changes, leading to more efficient testing and a higher ROI that put their innovation plans back on pace.
2. Align Salesforce testing with DevOps release processes
Aligning Salesforce testing with DevOps release processes is particularly important to balance speed and quality when it comes to getting changes into the hands of Salesforce users. However, doing so requires certain considerations given the unique challenges of testing Salesforce.
Specifically, the amount and frequency of changes coming into a typical Salesforce environment can very quickly create testing bottlenecks for organizations using manual regression testing. These bottlenecks not only delay getting changes to users, but can increase risk by reducing test coverage. To keep pace with all the moving parts of a typical Salesforce environment, organizations must align testing to DevOps release processes, in part by introducing test automation. However, this approach comes with its own challenges, since automated test cases are subject to break due to the constant changes to Salesforce.
The best approach to overcome these challenges is to introduce a test automation solution that works natively with Salesforce to account for updates and make adjustments to its solution accordingly so that tests maintain their integrity.
British automotive company Inchcape has seen the difference since aligning Salesforce testing to DevOps release processes. When the company relied on manual regression testing, its capacity for these tests began restricting the pace of development within Salesforce. Specifically, they had to execute 500+ regression test cases at a cost of 10 person days on a monthly basis, and each monthly release from Salesforce typically added another 50 regression test cases to the library. To overcome these challenges, Inchcape changed their approach to align to DevOps release processes by adopting a solution that allows for stable test automation for Salesforce testing. This change led to several benefits, including saving hundreds of man hours, increasing risk coverage by 50%, and allowing the team to create more rigorous tests.
3. Improve collaboration between IT and business stakeholders
The traditional testing approach breaks down testing by functional application area rather than addressing the application and business challenge as a whole; but, this breakdown makes it difficult to address and advance business challenges. This shortcoming, along with the fact that Salesforce has shared ownership by IT and business users, necessitates a different approach to testing that brings together the two traditionally separate groups.
One of the unique aspects of Salesforce is that it offers business users a no-code environment to customize the solution. This provides business users with a lot of flexibility to create value quickly, but it can also lead to blind spots for IT teams when it comes to potential points of failure in running tests and releasing new updates. The best response to these challenges is to encourage collaboration between IT and business users through a no-code testing environment that allows both teams to participate in the process as equal partners. Ultimately, combining each group’s technical and business knowledge throughout the testing process will help increase the speed of testing and accelerate innovation in a highly reliable way.
Linde Group, one of the world’s largest industrial gas companies, has realized several benefits from facilitating this type of collaboration. Previously, the organization experienced testing challenges around keeping up with frequent and fast changes, in part due to limited test automation capabilities. In response, Linde established a new approach to testing that brought together developers and business users to automate testing for Salesforce, SAP, mobile apps, and more. This approach allows business users to indicate what functionality is core to test so that technical resources can then use that blueprint to build the automation and evolve it as needed to keep pace with application updates. This change has resulted in reduced risk based on better prioritization for test coverage, a better ability to keep up with the pace of change, and reduced maintenance for automated tests.
4. Simplify end-to-end testing
Delivering efficient, high quality updates to Salesforce extends beyond Salesforce itself, as the average organization has dozens of API integrations that connect Salesforce with end-to-end business processes. Each of these integration points creates potential areas for failure that must be tested.
As a result, end-to-end testing —which tries to recreate the user experience by testing an application’s entire workflow from beginning to end —including all integrations and dependencies with other systems —is extremely important in a highly connected environment like Salesforce. However, end-to-end testing becomes increasingly challenging as more connection points exist.
Top challenges around end-to-end testing include maintenance challenges to ensure the tests reflect constant changes to the system, combating flakiness in tests due to network conditions and API failures, accounting for an ever-increasing volume of connected applications, finding and preparing proper test data, and ensuring alignment across teams.
Organizations that can overcome these challenges will be well-positioned to boost productivity and accelerate innovation with Salesforce. Some of the keys to achieving this goal include:
- Introducing test automation to maintain the necessary speed and coverage for all workflows and connection points
- Prioritizing certain workflows over others for end-to-end testing to avoid having to constantly write and rewrite tests for every possible area
- Using a solution that offers modular test design to reduce maintenance challenges and take advantage of a scriptless, no-code approach
- Introducing a test data management tool to automate the creation of synthetic test data
- Aligning on a solution that can synchronize information across a variety of technologies each group uses to create a single source of truth for all teams within the organization
Leading healthcare company McKesson recently experienced the power of simplifying end-to-end testing. Previously, the organization used a manual process that made it difficult to deliver updates on time, ultimately reaching the point where they could only achieve 30% coverage. The team introduced model-based test automation to resolve these challenges and was able to achieve 80% coverage and reduce testing time by 10x.