Salesforce is a popular CRM (Customer Relationship Management) platform nowadays.
Since Salesforce testing differs somewhat from other types of testing (such as web or mobile), web or mobile Testers can test the applications without the domain knowledge, but Salesforce Testers should have Salesforce knowledge to effectively test a Salesforce application.
In this Salesforce Testing tutorial, we will learn what Salesforce Testing is, how to perform Salesforce testing, and the following concepts in detail.
What Is Salesforce?
With the growing data generation, businesses are required to leverage a platform that helps them make use of their customer data well, and Salesforce is one such CRM (Customer Relationship Management) platform.
Salesforce services allow businesses to use cloud technology to better connect with partners, customers, and potential customers.
These were a few of the top cloud services offered by Salesforce such as: Sales Cloud, Marketing Cloud, Analytics Cloud, IoT Cloud … due to its diverse options, companies use Salesforce to assist with sales, marketing, and analysis. In this blog post, we will go dive into Marketing Cloud.
What Is Marketing Cloud?
Marketing cloud lets a business run campaigns, manage emails, messages, social media, content management, data analytics, etc., with the help of a tracking system.
Introduction to SalesForce Testing:
Testing in Salesforce Application is different from Testing the Applications on other platforms.
When Testing the Web Applications and Standalone Applications, we do not need to check / perform Configurations / Settings and all. But, in Salesforce we should be aware of the Salesforce configuration/ Administration settings to test the requirements.
So it would be better if the Salesforce tester has the basic knowledge on Salesforce to understand the functionality. They should have clear knowledge with standard Salesforce functionalities such as creating Fields, Objects, Report…and so on.
Salesforce terminology:
Here are some essential terms:
- Objects: Tables in Salesforce that store data. There are two types of objects in Salesforce: custom object and standard object.
- Standard object: a standard object is created by default in Salesforce. Eg: Contact, Account…
- Custom object: a custom object is created by the user and can contain any information that the user wants. Eg: You can create a custom “Location” object to store information about the location of various branches of a company.
- Fields: Columns in an object that store specific data points.
- Records: Rows in an object that represent a single instance of data.
- Reporting: SalesForce provides built-in reporting mechanisms to keep track of real-time / nightly sync data and report the daily progress of each task.
- Synchronization data pushed to SaleForce
- Real-Time Data Sync:
- Real-time synchronization involves updating data in both Salesforce and the integrated system as soon as a change occurs.
- This approach is crucial for scenarios where immediate data availability is essential, such as in customer support systems or financial transactions.
- Batch Processing:
- This is for Efficiently Managing Large Data Volumes.
- Batch processing involves transferring data between Salesforce and the integrated system at scheduled intervals.
- This approach is ideal for handling large volumes of data that do not require immediate consistency, such as nightly data syncs or periodic reports.
- Real-Time Data Sync:
How Does Salesforce Work?
- Salesforce is a centralized platform for managing customer accounts, sales leads, activities, customer support cases, and more.
- Users can access Salesforce through a web browser, mobile app, or desktop application.
- Salesforce allows users to customize and create custom objects, fields, processes, and reports and integrate them with other software products.
- Salesforce helps businesses keep track of customer interactions and sales data.
Salesforce test case example:
As a marketing team member, I want to send account data (Account Name, LoginName) to Salesforce Sales & Service cloud upon sign up for subscription and account is created, so that I can track customer activity and contribute for customer success.
Flow will be as followings:
Upon an account is created in the integrated system, call Sales Force API and add the account data (Account Name, LoginName) in Salesforce Sales & Service cloud.
AC1: Validate account data (Account Name, LoginName) that are pushed to Salesforce upon account is created.
AC2: Validate the updated data are also pushed to Salesforce after updated account (Account Name, LoginName)
In which: [ Account Name, LoginName ] is designed as real time sync data
Data Mapping Objects

Step 1:
- Create custom fields
- Relate the custom object to other records
To validate AC1 we will go to the Step 2 – Step 3
Step 2:
Go to the integrated system, then sign up a new account, having following info, for example:
- Login name: test01
- Account name: test01 QA
step 3: create and run report to generate Account data (Account Name, LoginName) that are pushed to Salesforce upon account is created. At this step, will push following info to Salesforce report.
- Login name: test01
- Account name: test01 QA
To validate AC2 we will go to the Step 4 – Step 5
Step 4: Go to integrated system, then update following info:
- Login name: “test01” -> updated to “test01 update01”
- Account name: “test01 QA” -> updated to “test01 QA update02”
Step 5: Run the report again
Due to those fields above are designed as real time data synced so after updated them from the integrated system, no need to wait , just re-run the report then will see the change is pushed to SaleForce right away. At this step, will push following info to Salesforce report.
- Login name: test01 update01
- Account name: test01 QA update02
In case those fields are designed as nightly data syncs or scheduled data synced then we have to wait after the schedule job is triggered then after re-run the report, will see the change is pushed to SaleForce. At this step, after waiting the sync data job triggered finished then will push following info to Salesforce report.
- Login name: test01 update01
- Account name: test01 QA update02
Best Practices for Salesforce testing:
- Make sure that the testing team is checking the software code which has been customized, and not the built-in Salesforce functionalities.
- Some of the default functionalities provided by SalesForce cannot be removed, although your organization may not use them.
- Testers need to ignore the default functionality and focus on the customized functionality built by the organization.
- Testers need to have clear communication with the development team to understand the customizable features that are being built into SalesForce.
- Testing should involve negative test flows, such as deleting the default data generated and validating the behavior of an application.
- Testing should involve user input validation in the form fields.
- Testing must include Maximum length validation for each of the editable input fields along with invalid data validation.
- Testing must also include error message validation when invalid data is passed onto the applications.
- Workflows using various user roles must be constructed and tested.
Reference docs:
- https://www.simplilearn.com/what-is-salesforce-article
- https://blog.mastek.com/technical/testing-practices-in-salesforce-com
- https://www.softwaretestinghelp.com/what-is-salesforce-testing/
- https://www.softwaretestingmaterial.com/salesforce-testing/#google_vignette
- https://www.leapwork.com/blog/what-is-salesforce-testing
- https://testsigma.com/blog/salesforce-test-case/