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 become 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.
Watch how easy it is to use Eggplant to test your Salesforce system
Our Salesforce testing strategy
Eggplant is a modern AI-assisted testing solution uniquely positioned to meet the challenges of Salesforce testing. The Eggplant Salesforce Solution helps you test smarter and release faster by auto-generating test assets that are specific to your Salesforce environment, and much more:
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.
UI validation and code verification
By validating the user experience and verifying object IDs within the DOM, the Eggplant Salesforce Solution creates robust test assets that don't break after every new release, update, or upgrade.
With the help of our intelligent automation, you can ramp up test cycles and increase coverage. Remove the limits of manual testing.
Auto-generated test cases
Accelerate deployments by auto-generating test cases and reduce testing from months to just minutes.
To learn more and grab a free copy of our "Introduction to Salesforce Testing" guide, head over to our resource center dedicated to Salesforce testing.