Testing Exploration
Testing Exploration
by RahulJanuary 2, 2020
After the 2 key grand acquisitions of Tablue and Mulesoft, company is expecting its revenue to
be double in size by fiscal 2024, which translates to revenue between $34 to $35 billion.
Well, how about the Testing of Salesforce applications? What types of Testing we can perform,
what challenges are there and the testing best practices specific to Salesforce apps? Made an
effort to give a quick overview of Salesforce Testing. Hope it would add some value to the
Salesforce beginners.
What is Salesforce!
Before starting this Salesforce testing tutorial, lets see what’s Salesforce! Salesforce.com,
Inc. (usually abbreviated as SF or SFDC for Salesforce.com) is an American cloud-based
software company headquartered in San Francisco, California.
Salesforce was ranked first in Fortune’s 100 Best Companies to Work For in 2018 and
second in 2019.
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.
What is SalesForce Testing?
Salesforce testing is a validation of the configuration and customisation performed in
Salesforce.
Salesforce CRM is built on a platform development language called APEX.
It also provides built-in unit test case for developers to validate their code. Manual
Testing in Salesforce is performed by the QA team which includes happy flow
testing, functional testing, integration testing, regression testing and system testing.
Automation Testing in Salesforce can be done by any of these tools available in the
market—Provar, AutoRABIT, Assure Click, Selenium and QTP. Selenium is the best choice
as it is the open source tool.
Functional flows report based on status of test cases, where testers are required to create
the functional flows to understand the functionality of application.
Process builders to check the behaviour of the system, by giving different entry and rule
criteria.
Workflows to check the functionality of time-based events.
Unit testing process is conducted by Apex developers. It involves writing clauses in their
code which automatically tests its coverage.
It helps you to evaluates how many records of data are effected, so that the code would
successfully run on in that environment.
To deploy Apex code into a Production environment your code coverage ratio should be
minimum 78%.
System Testing
UAT Testing
It Is conducted by the end users.
Performed with test scripts which mimic the real case business scenarios with expected
business outcome.
The desired output should be that the client confirms that the system is fit for purpose
Regression Testing
Performed by System users, the main objective is to verify that the released code
and configuration features do not affect the existing processes in the system.
It is done after the release of features that are intended for specific set of users and
tested by system users to whom the release is not intended.
The main purpose of the testing is to confirm that the system users for whom the
released features are not intended can perform their day to day activities without any
issue.
But, going a step ahead, a tester should have a clear knowledge of:
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.
Benchmark the environment to establish a baseline for performance in all load scenarios.
Evaluate the current test plan and adjust it if required to ensure it adheres to best
practices.
Confirm resources are enough to achieve the desired result and adjust them if not. This
includes not only appropriate server resources to handle the extreme loads that may
be generated, but also personnel resources.
Aggregate the necessary information to meet Test Plan requirements imposed by
Salesforce and submit it in the format and timeframe required by Salesforce.com
Customer Service.
Monitor tests to ensure performance and confirm in-range results. Remediate problems
quickly to avoid failure—or at the minimum, test plan shutdown by Salesforce.
The Final Outcome
Implementing and managing a quality-focused performance testing program for
Salesforce customizations isn’t easy, but it is essential. Consider this:
Studies by reputable organizations (such as the Pew Research Center) show worker
productivity rises measurably when technology tools, such as software, work as expected.
Poorly functioning or failed customizations, especially for Salesforce, will almost certainly
have a negative impact on sales and customer service.
Like exploratory testing on other web applications, Salesforce Testing should also involve:
Afterthoughts……
What’s in Salesforce for Testers
Salesforce has a dedicated community of developers and testers whom one can connect
to in the hour of need.
Testers doing Salesforce testing are often called ‘Quality Engineers’ compared to the
‘Quality Assurance’ tester in general
Salesforce can be used using a web browser without the need to install additional
hardware or software, which makes it the ideal choice for organisations worldwide.
Career growth aspects for Salesforce platform testers are very rapid.
With more than 90K companies using Salesforce platform, testers can opt for
SalesForce.com administration certification or SalesForce.com developer certification and
improvise their career.