Mike Wager - 2 February 2021
Salesforce testing framework designed for success
With around 20% of the global Customer Relationship Management (CRM) market, Salesforce is considered by many to be the number one cloud CRM offering. Despite efforts to standardize deployments, with thousands of possible integrations and millions of users, no two companies will have the same Salesforce configuration. And with companies moving to Lightning and building their own apps with Salesforce DX, further complexities are introduced.
As Salesforce needs to deliver a single source of truth, testing a multitude of data sources, app integrations, development environments, and workflows becomes mission-critical.
Challenges faced when testing your Salesforce instance
Upgrading or migrating from Classic to Lightning introduces changes in underlying code, functionality, and behaviors. Test scripts written for one version won’t easily transfer to the other.
Lightning introduces new navigation, layouts, list views, filters, dashboards, integrations, and workflows. This massively expands the number of user journeys that need to be tested.
Once upgraded to Lightning, users can still toggle back to Classic. This means that you need to test user journeys that traverse both interfaces.
Salesforce Lightning uses complex web components, such as Shadow DOM, which are difficult to test with open source or code-based automation tools.
Apps from cloud marketplaces, such as Salesforce's AppExchange, introduce different codebases, requiring end-to-end testing to successfully integrate with your CI/CD pipeline.
Salesforce lacks a source repository and structured release process, so third party DevOps tools are required to build apps to connect internal workflows. These tools and workflows need end-to-end testing.
Regular system maintenance updates add advancements in security, availability, and performance but may introduce bugs, requiring new scripts every time upgrades occur.
Best practices for testing Salesforce
When testing your Salesforce platform, concentrate on these crucial areas:
Align IT and business to empower the business tester
QA Engineers understand how to write scripts. Business Analysts understand which business processes need to be integrated. Bring both together to build a testing plan which maximizes the capability and performance of your Salesforce platform.
Test a wide variety of user experiences
Create numerous test cases for various roles across your organization, as your team will be using Salesforce in very distinctive ways.
Don't just rely on testing linear user journeys. Instead, use exploratory testing to extend your test coverage to cover all possible user journeys and uncover bugs that linear test scripts won’t find.
Complex configurations can lead to defects and data problems, especially when migrating from Classic to Lightning. Manual testing just doesn't cut it, so use automation to increase velocity and test coverage.
Third party app integration testing
Your testing plan needs to effectively handle third party app integrations and the various customization options available to your teams. User journeys may span multiple apps, so make sure to test these thoroughly.
Testing of internally-developed apps
Business-critical workflows are often supported by internally-developed apps. While powerful, Salesforce DX requires additional tools for app development beyond continuous integration tools like Jenkins. Therefore, third party DevOps tools, such as Copado, are often needed for effective release management. This demands that workflows be accounted for in your testing plan.
Our Salesforce testing strategy
Recognized by Forrester and Gartner as leaders in software test automation, Eggplant is a modern AI-assisted testing solution uniquely positioned to meet the challenges of Salesforce testing. Testing tools that only look at code are simply not up to the challenge. Here's why:
Automatically map out user journeys that span different devices, browsers, operating systems, and programming languages. Use one model to test both versions of Salesforce.
No code/low code approach
Easily bridge the gap between IT and the Business by using a no-code/low-code approach, allowing anyone, regardless of technical ability, to create test models and scripts for all potential user journeys.
Image recognition and OCR
Non-invasive and intelligent testing that interacts with any text or image on the screen. If you can see it on the screen, Eggplant can test it.
With the help of our intelligent automation, you can ramp up test cycles and increase coverage. Remove the limits of manual testing.
Test from the user perspective
Automate processes just as a human would to ensure all functionality works as expected by testing not only what you think the user will do but everything they can do.