Salesforce testing is critical for any successful deployment and business. Testing in Salesforce CRM is different from Testing the Applications on other platforms. In this post we will learn about different Salesforce testing types. Also learn about when and where we should perform those testing in Salesforce.
What is Salesforce Testing?
As Salesforce testing is different from other web testing. Other Web Testers can test the applications without the domain knowledge, but Salesforce Testers are not supposed to test a Salesforce CRM without Salesforce knowledge. So it recommend that Salesforce tester should have the basic knowledge on Salesforce to understand the functionality and know basic of Salesforce Admin.
Salesforce Testing Types
There are different type of Salesforce Testing we have in Salesforce.
- Unit testing
- Code review
- Functional Testing
- Integration testing
- System Integration testing
- User Acceptance testing
- Performance testing
- Smoke testing
- Regression testing
- Data migration testing
Lets learn about all different Salesforce testing types in details.
#1. Unit testing
The process of testing each unit of code in a single component. This testing is carried out by the developer as the component is being developed. Salesforce Developer also use Apex Test classes for unit testing.
When & where: During development on a developer environment
#2. Code review
Systematic examination of computer source code. It is intended to find mistakes overlooked in software development, improving the overall quality of software. Code Reviews are done in various forms such as pair programming, informal walkthroughs, and formal inspections.
When & where: At the moment of merging, commiting code on a developer environment.
#3. Functional Testing
A type of black-box testing that bases its test cases on the specifications of the software component under test. Functional testing usually describes what the system does.
When & where: After development of a certain piece of functionality, on the QA environment.
#4. Integration testing
Testing the interface between the modules; it can be top down, bottom up, big bang.
When & where: After merging multiple functionalities or features on the CIT environment.
#5. System Integration testing
A high-level software testing process in which testers verify that all related systems maintain data integrity and can operate in coordination with other systems in the same environment. The testing process ensures that all subcomponents are integrated successfully to provide expected results.
When & where: SIT phase on the SIT environment.
#6. User Acceptance testing
Last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.
When & where: UAT phase on the UAT environment
Learn more about Salesforce UAT.
#7. Performance testing
Includes Stress and Load testing. Coordinated with Salesforce,. Done using LoadRunner, SilkPerformer, Red View, …
When & where: Scheduled during development, SIT, UAT.
#8. Smoke testing
Preliminary testing to reveal simple failures severe enough to reject a prospective software release.
When & where: After deployment to any environment.
#9. Regression testing
A type of software testing that ensures that previously developed and tested software still performs the same way after it is changed or interfaced with other software.
When & where: After deployment to any environment
#10. Data migration testing
Testing that data is correctly migrated and that data integrity is maintained between systems.
When & where: UAT or Staging phase on the UAT or Staging environment.