As we all know by now, Salesforce is by now one of the most popular Customer Relationship Management (CRM) system, which is used globally by enterprises of all sizes. The company was founded by Marc Benioff and is now headquartered at San Francisco, USA. The objective of Salesforce CRM is to effectively sustain customer relationship for organizations through the sales process and once after the product and services are delivered. Along with providing the customer relationship management solutions, Salesforce also started offering cloud storage services too late, which is claimed to reduce the hassle for organizations to maintain their own physical servers for storage or their data and web applications.
The major advantage is that cloud storage doesn’t require the users to maintain any additional software or hardware to use Salesforce application. Instead, it allows anywhere access and easy organization of tasks to reduce the overall development and maintenance cost in terms of building or customization application in a short time span.
Salesforce testing
In this tutorial, we are trying to explain various aspects of performing Salesforce testing and other basic terminology for beginners to get a better understanding. First, let’s explore a few quick benefits of Salesforce.
- The latest statistics show that about 82,000 enterprise users work on Salesforce platform globally.
- Salesforce is all set to maintain an engaging and productive relationship with customers at various levels.
- Establish an engaging the communication channel between organizations and customers.
- Automation of tasks.
- No extra software or hardware required.
- Increasing productivity of developers as the platform offers many in-built objects, which can cut short the developmental efforts.
- Existing applications to be reused by developers, and they can also use apps from the app store named App Exchange.
- Developers can also build their own unique applications and put it on App Exchange.
- There is an in-built reporting the mechanism which makes it real-time and easily accessible.
- Salesforce admins can also create any number of internal users to access the Salesforce platform and work simultaneously. Salesforce can provide a graphical representation of the real-time users who are logged in, the task is done by each of them, and new information added to the platform.
Terminology for testers
For the users, developers, and testers, it is essential to know the Salesforce terminology to work well with Salesforce applications. Here, we will have a quick overview of the top terms.
Opportunity
As Flosum.com points out, in CRM, an ‘opportunity’ means a prospective sales lead which an organization should keep a close track on. Organizations need to take the responsibility of making opportunities available to the public. Say, for example, in case if someone is approaching a bank for a personal loan, then a personal loan is an opportunity to track and close.
Lead
Lead is a prospective customer who expresses interest in a given opportunity. It can ideally be an incoming call to an organization nor further information. In the above example, the person who approaches the bank for a personal loan is a lead.
Account
An account is a company or an enterprise a salesperson is dealing with including all its stakeholders, vendors, partners, etc.
Contact
Contact is an individual who supports an account. In a typical Salesforce CRM environment, a contact can be an employee at the account whom the administrator may be coordinating as the first point of contact.
Tasks / Events
Refers to all the activities related to a particular contact, opportunity, account, etc.
Reporting
Salesforce features some built-in mechanisms for reporting and also to keep real-time tracking of data and information to assess the progress of each task or event from time to time.
Along with knowing terminology, testing also needs, testing also needs usage of complex methodologies as the majority of the Salesforce to come built-in and are customizable based on the user requirement. When you experience an issue, testers should ensure testing of the customized code than going after the in-built functionality. The APEX language (on which Salesforce is built on) offers some built-in test cases for unit testing with which the developers can test their codes. As a standard rule, Salesforce developers need to achieve 75% of code coverage with these units testing cases. However, a tester should aim at 100% of code coverage in each of the testing cycles.
The testing process for Salesforce
The testing process for Salesforce could be the same as of testing any web application. But, going a step ahead, a tester should have a clear knowledge of the customizable features of Salesforce as well as the built-in features of it in order to prioritize the test cases during the test runs. For testing Salesforce applications, there should be a dummy production environment which is availed by SandBox. Developers, as well as testers, use Sandbox for these purposes until it’s made live. Once you deploy the code in the Sandbox environment as it is ready to be released, then the code can be put into production directly from there. A tester needs to have a basic understanding of all these things before proceeding with Salesforce testing.
Some tips for Salesforce testing
Ensure that testing of Salesforce includes these features:
- Testing should cover:
-
- UI testing
- Functional testing
- Integration testing
- Regression testing
- System testing etc.
- You can also use tools like UFT or Selenium to run automation testing for Salesforce.
- Testers should be cautious on UI testing as the majority of the pages are Visual Force pages, which are dynamic in nature. Close attention to be paid like all the elements of such pages may not be loaded at a time.
- The tester should draw out the functional flows as both positive as well as negative flows to cover the full functionality of the applications.
- All workflows for different user roles should be tested.
- Test cases need to be properly defined and documented using test management tools like HP ALM.
- Proper preparation of test data to be done to validate the functionality of reports.
We may notice that the testers doing Salesforce testing are often called ‘Quality Engineers’ compared to the ‘Quality Assurance’ tester in general. Salesforce testing professional need to build more complex frameworks to run tests and also should understand the functionality of the application they are testing in-depth.