Introduction to SalesForce Testing:
SalesForce.com is one of the most widely used Customer Relationship Management (CRM) tool. It was found by Marc Benioff and is currently headquartered in San Francisco, US.
The primary purpose of a CRM tool is to sustain the relationship of an organization with its customers once the product is delivered to customers. Over the time, along with providing CRM services, SalesForce started to offer cloud storage as well, which reduced the hassle of maintaining physical servers for data storage of web applications.
Also, cloud-based storage does not require a user to install any additional hardware or software for using the application. It allows the organizations to reduce the development cost and build applications within a short time frame.
This tutorial on Salesforce Testing will give you a brief introduction about the tool along with its benefits and other features in simple terms for your easy understanding.
What You Will Learn:
Mentioned below are the various benefits that are derived while using Salesforce:
SalesForce will show the graphical representation of a number of users logged in, tasks assigned to each user and information added to SalesForce.
The below image is a representation of how Salesforce.com dashboard screen will look like.
The below image shows the types of inbuilt reports that can be generated on the SalesForce platform.
SalesForce contains a terminology that is required to be understood by both the developers and testers in order to work with the SalesForce applications.
Below mentioned are some of the terms that are most widely used in SalesForce:
An opportunity is a potential sales deal that an organization wants to keep a track of. It is the responsibility of any organization to make the opportunities available to the general public.
Example: A customer approaching a bank salesperson in need of a personal loan. In this case, a personal loan would be an opportunity.
A lead is a person who expresses the interest in an opportunity. It could typically be a caller to the organization for further information on an opportunity.
Example: A customer approaching a bank salesperson in need of a personal loan. In this case, the customer would be the lead and personal loan would be the opportunity.
An account corresponds to any company that you want to manage including its customers, vendors, partners, and prospects.
A contact is a person who works for an account. Contact could be an employee of the account.
#5) Tasks and Events:
Tasks and events correspond to all activities involved in association to the particular opportunity, contact or account.
SalesForce provides built-in reporting mechanisms to keep a track of the real-time data and report the daily progress of each task.
The below image shows the terminology used in SalesForce. Each term has an icon associated with it as listed below.
Below is the snapshot of how Accounts and Opportunities are represented on SalesForce platform.
SalesForce testing requires the use of complex test methodologies as most of the features in SalesForce are built-in features that are customizable. When an issue is observed, the tester needs to make sure that he is testing the code that has been customized rather than testing the built-in salesforce functionality.
SalesForce is built on a platform development language named as APEX. The language provides built-in unit test cases for developers to test their own code. The standard rule of SalesForce requires a developer to achieve 75% of code coverage with unit test cases.
From a tester’s perspective, we should always aim for 100% code coverage within each test cycle.
The salesforce testing process would be the same as that of testing a normal web-based application. However, a tester needs to have a clear perspective of the customizable features that are being built so that during the testing process, a tester can focus on those features alone rather than the built-in Salesforce features.
Testing of Salesforce applications requires a production like an environment called SandBox. Developers and testers need to use the Sandbox environment for each of their purposes.
Once the code is deployed in a Sandbox environment and approved to be ready for release, the code would be moved into production from the Sandbox environment. It is assumed that the tester has the basic knowledge of all the terms used in Salesforce before proceeding with testing.
Salesforce testing must include the following features:
Testers involved in SalesForce are often referred to as ‘Quality Engineers’ as opposed to ‘Quality Assurance’ people as SalesForce testing requires the testers to build complex test frameworks, understanding the functionality of an application in depth and the ability to work with the developers and project stakeholders.
Please note that 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.
Given below are some of the major roles and responsibilities of a Salesforce tester.
Exploratory Testing in Salesforce would involve the following best practices:
Automated functional testing of SalesForce is a challenging one as most of the web pages are dynamic in nature on the SalesForce platform. Hence, SalesForce demands automation testers to build robust automation framework to sustain in the future. Also, there can be frequent updates to the applications as they are on cloud applications.
Test Automation on Salesforce can be achieved using any of the following tools:
Load testing involves testing the behavior of an application under varying loads. SalesForce.com is a highly scalable platform built for handling a large number of users. Salesforce.com is tested by the platform developers themselves for performance bottlenecks.
However, load testing becomes essential when a newly introduced piece of code yields performance bottlenecks that have to be addressed. Load Testing on Salesforce platform can be performed using performance testing tools such as HP LoadRunner and Apache JMeter.
Below are some of the Salesforce load testing strategies that can be implemented:
Security testing on the Salesforce platform is usually done by SalesForce development team. Before placing a request for security test, it is best to review the ‘Application and Network Vulnerability Assessment Summaries’ provided by Salesforce.
After reviewing the summary, if a security test is still required, then a Security Assessment Test can be scheduled with the Salesforce team.
Given below is the list of security testing tools that are offered by SalesForce:
Security source scanner is an on-demand static code analysis tool provided by SalesForce. This tool scans the source code that is provided as input and yields a summary report with the list of potential security vulnerabilities. Security source scanner requires a license to be used.
The tool can be accessed from here.
This is a standard library provided by SalesForce that helps the developers to enforce the best coding practices in terms of security. Usage of this library helps the developers to reduce the risk of developing high-risk applications with security vulnerabilities.
The library can be accessed from here.
SalesForce has a dedicated community of developers and testers whom one can connect to in the hour of need.
SalesForce can be used using a web browser without the need to install additional hardware or software, which makes it the ideal choice for organizations worldwide. Career growth aspects for SalesForce platform testers are very rapid.
Testers can opt for SalesForce.com administration certification or SalesForce.com developer certification and improvise their career on SalesForce platform.
Do you have experience in SalesForce Testing? We would be glad to hear from you.