For organizations using and customizing Salesforce, performance testing can be very difficult—and frustrating. In addition to not having any control over third-party app servers and their loads, organizations must meet restrictions imposed by Salesforce to reduce the impact on other customers. Performance test plans also require advance evaluation and approval. Yet, companies that curtail performance testing due to these impediments—or even worse, eliminate it all together—risk post-release performance nightmares and, potentially, user rejection. Depending on the severity of problems, firms can even face sanctions by Salesforce.
While there are no true workarounds for these restrictions, implementing proven test strategies and approaches can help teams attain reasonable confidence regarding performance. Earlier this year, Orasi published a white paper that outlines the challenges of effectively testing Salesforce customizations and offers targeted suggestions for improving outcomes. In this blog, we will highlight a few key points of the white paper. To request a copy of it in its entirety, click here.
Challenges—and Potential Solutions
The main challenges of performance testing Salesforce customizations, which are described in greater detail in our white paper, include:
• The multi-tenant environment of software as a service platforms
• Scheduling complexities
• System governors, which throttle performance any time running code fails to meet varied criteria established by Salesforce
• A total prohibition by Salesforce against stress testing
These limitations can create serious hurdles for software teams, illustrating the importance of effectively designed, managed, and executed performance testing. Complicating the situation, Salesforce management encourages organizations to avoid performance testing unless they are developing highly customized code or have large transactional volumes.
With all due respect to the Salesforce platform, we view this approach as an oversimplification. Salesforce provides some ready-made tools to help firms achieve acceptable performance, but in our experience, they hit their ceilings pretty quickly with all but basic customizations. Furthermore, fixing performance problems, especially under the constraints that Salesforce enforces, is always more expensive than avoiding them. As a result, we recommend that, at the minimum, customizing organizations explore the options for more effective performance testing before plowing ahead without it.
The essential steps for an effective, efficient performance testing plan, which are fully detailed in the performance white paper (including a comprehensive list of necessary testing best practices), include:
• Benchmark the environment to establish a baseline for performance in all load scenarios.
• Evaluate the current test plan and adjust it if necessary to ensure it adheres to best practices.
• Confirm resources are sufficient to achieve the desired result, and adjust them if not. This includes not only appropriate server resources to handle the extreme loads that may be generated, but also personnel resources.
• Aggregate the necessary information to meet Test Plan requirements imposed by Salesforce and submit it in the format and timeframe required by Salesforce.com Customer Service.
• Monitor tests to ensure performance and confirm in-range results. Remediate problems quickly to avoid failure—or at the minimum, test plan shutdown by Salesforce.
The Final Outcome
Implementing and managing a quality-focused performance testing program for Salesforce customizations isn’t easy, but it is essential. Consider this:
• Studies by reputable organizations (such as the Pew Research Center) show worker productivity rises measurably when technology tools, such as software, work as expected.
• Poorly functioning or failed customizations, especially for Salesforce, will almost certainly have a negative impact on sales and customer service.
Given these considerations, enterprises cannot afford the cost of performance failure for their Salesforce customizations. Prudent business leaders will accept the reality that the value inherent in developing and running a successful performance testing program fully justifies the effort.