Tips and tricks Best practice guides, FAQ & more
When you customize Salesforce, you have to test it too. It’s a task that frustrates many, especially when undetected bugs stop your workforce from doing their job. But the larger the business, the more crucial testing becomes and the harder it is to get the test coverage you need.
This puts an immense strain on developers because they are tasked with fixing issues quickly.
And it puts strain on QA managers, who are responsible for ensuring a bug-free Salesforce.
What you’ll find in this post:
The core of a developer's job in Salesforce is to build new customizations, along with troubleshooting and fixing bugs that are discovered through testing.
But their day-to-day doesn’t always look like this. Sometimes, delays or lack of sufficient testing can get in the way. This puts a strain on developers in a couple of different ways:
When you test Salesforce manually, it is impossible to get good test coverage. This often results in a risk-based approach, meaning only the most critical parts of Salesforce are tested.
The result? Bugs can quickly go undetected and make their way into a production environment. The higher the number of human errors and bugs in production, the more time developers have to spend fixing bugs. This takes time away from value-creating tasks for the business, such as the development of new and improved features.
This makes QA and product verification slow and difficult, which can cause friction between developers and QA.
When using code-based automation for testing, the problem grows in complexity depending on the setup. We’ll highlight three scenarios:
Most automation tools that bring the promise of faster testing and higher quality software require extensive coding and maintenance. This stops most testers and quality assurance engineers from participating in building test automation. Instead, developers are relied on heavily for scripting test cases.
In cases where a code-based/low-code tool is in use, testers with some programming knowledge may be able to use it for simple cases. But when test cases grow in complexity, they will rely on developers to fulfill that coverage. This leads to developers spending a lot of time building and maintaining tests.
It’s far from the ideal scenario of a developer whose performance is measured by their ability to deliver new and improved features. This adds to the friction between QA and developers.
Some teams cannot spare additional development and QA people for building code-based test automation, so they hire new resources. This adds cost to your project because of the scarcity of experienced test engineers for Salesforce.
It also makes the project reliant on what’s known as ‘tribal knowledge’: once that person leaves, the knowledge of how to use the code-based solution is lost, and you’re back to square one.
Quality assurance (QA) has become a pillar to the success of development projects, but a skills gap in agile teams remains. Some aim to solve it by getting testers to learn how to program so that they can contribute toward test automation.
This presents additional challenges, as Hans Buwalda states in Experiences of Test Automation, “forcing a tester to become a programmer may cause you to lose a good tester and gain a poor programmer. Testers should have access to test automation, too! If they are excluded from automation, the full extent of their skills may not be realized, nor will the full potential of test automation”. Not all testers are technical, and not all want to become programmers.
“We see a trend towards wanting QA engineers who have developer-type skills, who yet retain their quality mindset and business-cum-user centricity. Is this expecting too much? Yes, we think so. Only a few QA professionals can have all these skills in their repertoire.” - Capgemini World Quality Report 2020-'21
With all that being said, test automation in Salesforce still isn’t the first choice. Salesforce is notoriously difficult when it comes to automated testing due to the heavy DOM structure and dynamic elements. It’s not uncommon for teams to drop their automation attempts and revert back to manual testing. But it doesn’t have to be that way.
In fact, the communication gap between developers and QA (testers) can be bridged. And yes, it is possible to ensure high-quality Salesforce customizations with test automation. But it requires the adoption of a tool that amplifies the full extent of skills that are available to QA.
So what can businesses do to ensure testing is fast and smooth? How can they remove the strain that’s put on developers (or QA, for that matter)?
With the right test automation tool, you will be able to empower your QA and development teams to do more with less so that they can focus on strategic initiatives. Below we highlight three elements you should be able to check off when looking for a solution:
Want to learn more about test automation in Salesforce that doesn’t put more strain on developers? Check out our webinar on How to Automate Salesforce Testing without Coding.