Admins / Developers

Introduction to Regression Testing in Salesforce

By Stephen Crane

Regression testing is usually performed when there’s a change in Salesforce requirements and code is modified, a new feature is added, or a defect is encountered.

This is the age of declarative development — sometimes called “clicks, not code”. Salesforce is helping lead the low-code revolution, in fact, it’s never been easier—or faster—to deploy business applications thanks to point-and-click. While that’s been a boon to business agility, it’s placed the burden on Salesforce Admins to keep their apps running smoothly. This becomes increasingly difficult without an agile way to manage ongoing changes to apps and prevent incorrect configuration that may adversely impact other workflows in the environment.

Enter regression testing, which can deliver incredible value to any organization looking to deploy business applications faster, mitigating a large proportion of the risks. In this post, I will explain what regression testing is, why you should avoid manual testing, and finally, some things to look for in a solution for test automation.

What is Regression Testing?

Regression testing is a type of software testing used to confirm that a recent configuration update or deployment does not adversely affect existing functionality, processes, and workflows of a system. Regression testing usually performed when:

  • There’s a change in requirements and code is modified
  • New features are added
  • There is a possible defect or other app performance concerns

Avoiding Manual Testing – Old-school Approaches to New-school Testing

While development and QA teams can employ automated testing to make sure one change to an app doesn’t wreak havoc on other systems, Salesforce Admins have traditionally had to rely on time-consuming and terribly inefficient manual testing to prevent bugs in apps developed in Salesforce’s low-code tools.

Manual regression testing is costly and slow

Even assuming that a single test may only take an hour or two to write and complete, the multitude of tests required in an expansive Salesforce environment will eventually require dozens of employee hours and a couple of weeks to complete, while cutting deeply into existing budgets because of the high cost of test-related services and infrastructure.

It’s also high-risk with potentially no reward

Dedicating resources for manual testing means taking them away from higher-value activities that drive the business toward its strategic goals. It creates a no-win scenario for the admin who’s forced to decide between risking performance issues in favor of serving the business or holding up strategically important activities to make sure their apps are bug-free.

It isn’t scalable and doesn’t handle complexity well

Generally, manual testing isn’t scalable or sustainable. Regression tests inevitably become large and complex as your apps become more richly featured and your Salesforce environment expands.The number of test cases can easily number in the thousands for an enterprise Salesforce instance and will continue to grow as you discover other objects and workflows that require testing.

Since regression testing involves repeatedly running the same tests, it’s virtually impossible for a single person or small team to run manual tests without consuming significant time, resources, or missing an occasional test that will ultimately impact your end users and customers.

How to Automate Testing in Salesforce

Fortunately, a new generation of “AppOps” solutions is now available to help Salesforce admins and other non-developers quickly configure applications, remove bottlenecks in the development process, and automate regression testing to mitigate the risk of bugs — just like their developer counterparts.

These emerging technologies make agile development a reality for low-code applications built in Salesforce by arming Admins with rich, detailed, and automated testing capabilities incorporated directly into your release readiness process to find early warning of regressions introduced by Salesforce’s automatic upgrades or your own workflows.

What to Look for in an Automated Testing Solution?

As automated testing gains popularity, Admins will have a variety of options to choose from, so it’s important to look for tools that will allow you to:

  • Create test templates and test cases that can be re-run easily across multiple test case scenarios
  • Simulate configurations and calculation in an intuitive, visual interface that won’t require extensive training or a lengthy learning curve
  • Automate test instructions to ensure existing configuration and customizations are compatible against recent Salesforce updates
  • Access test pass/fail reports all the way down to the record detail level for maximum visibility and efficiency

Summary

The speed of business has never been faster and the explosion of low-code application frameworks makes it possible for teams to develop richly featured Salesforce apps in just a few months. Now, Salesforce admins can save time, resources, and a ton of headaches with robust regression testing tools that get important apps in the hands of the right people, at the right time — without the risk of costly errors.

Contact a Prodly Solution Expert to learn more App Ops and the industry-first regression testing platform for Salesforce or schedule a free personalized demo.

The Author

Stephen Crane

Stephen oversees Prodly AppOps flagship product, making apps built on Salesforce easier to manage through intuitive tools for change management, governance, and regression testing.

Comments:

    Mike
    July 21, 2020 2:01 pm
    Equally important to ensure you include your testing efforts in a CI (Continuous Integration) orchestration solution so the tests are triggered not only when Salesforce is changed but also when other systems are updated as Salesforce could be impacted due to an integration. By doing more frequent testing it will be easier to identify the offending change that caused the underlying issue.

Leave a Reply