Salesforce Automation Guide

Transcription

Salesforce Automation GuideGet started with test automation for Salesforce

Table of contents3Introduction4Why automate?6What is Salesforce automation?7Test automation for Salesforce10 How to choose your Salesforceautomation tool11 1. Scalability13 2. User-friendliness13 3. Compatibility15Leapwork for Salesforce test automationSalesforce Automation Guide 2

IntroductionSalesforce is a popular CRM system that helps sales,commerce, marketing, service and IT teams connectwith their customer base and gather informationabout it. This means that many organizations rely onSalesforce to perform business-critical tasks.In order to ensure that all those business-criticalprocesses are working as intended, software testingmust take high priority in the quality assuranceprocess. But as organizations grow and theirbusiness evolves, so do the requirements for testing.Many teams therefore automate their Salesforcetests to optimize organizational use of time andresources and to ensure high-quality delivery atspeed.In this guide, we’ll take a look at opportunities forSalesforce test automation and how it can benefityour business. We’ll share examples of automationuse cases and help you choose the most suitabletesting tool for your organization.Salesforce Automation Guide 3

Why automate?In today’s increasingly digital world, businessesneed to keep up to speed with rapid changes in themarket and shifting customer demand.This requires Product teams to deliver new featuresand customizations faster than ever before, andit puts pressure on Quality Assurance, who mustensure the functionality and security of thesereleases.Salesforce is a programming platform with its ownprogramming language (APEX) and own databasesystem, meaning that enterprises can build totallycustomized applications, with unique screens andfeatures, on top of this technological foundation.Salesforce Seasonal Release:A Complete Testing ChecklistWith the limited time available for testingSeasonal Releases, how can you ensure newfeatures aren’t breaking customizations andconfigurations? Get this checklist for insightinto rethinking how testing is done in yournext seasonal release.Get the checklistOn top of that, Salesforce regularly update theirplatform to enhance user experience and/or tofix underlying issues. Each release can include bigimprovements to the cloud-based interface.Salesforce Automation Guide 4

Unfortunately, these changes can impact usercustomizations and even standard uses of theplatform. For QA teams, this means a lot ofmaintenance.Organizations who have taken a manual approachto testing know that it becomes an ever-increasingbottleneck, causing slower time to market, resourcescarcity, and risk to business continuity.Automation, on the other hand, can speed up thetesting process while mitigating human error. Withthe right approach, resources can be saved andcosts can be driven down.With a tool that’s simple to use and maintain,testers can own the automation task, anddevelopers can focus on new feature development.Reduce riskNot all testing has to be automated, but by taskingrobots with repetitive, predictable tasks, such asregression testing, testers can focus on highervalue work that requires their critical and creativethinking.Main driversfor test automationIncreaseexecutionMany companies will turn to a manual, “riskbased approach” to testing in which testers focuson the most important features - and ignore therest. At a time when companies should be movingtowards continuous, 24/7 testing, this fragmented,manual approach leaves considerable gaps in testcoverage and quality.Lower costsSalesforce Automation Guide 5

As a result of automation, inefficiencies can beeliminated and errors minimized.To the business, greater efficiency means operationalcosts can be reduced to the business, benefitting thebottom line.To the Product and QA teams, this means fewertedious, time-consuming tasks and more capacity tofocus on enjoyable, value-generating work.What is SalesforceWhat is automation?Salesforce automation?Salesforce automationSalesforceis many automationOneis manysimple example ofOneSFAsimpleisexample of SFA is inthings. Often, when peoplethings.talkOften, when peoplein processingtalksales leads:processingwhen sales leads: when a leadabout Salesforce automation,about Salesforcethey’re automation,a lead is they’recreated throughis createdathrough a Salesforce form,referring to process automationreferring to process automationSalesforce form, the salesthe salesrep rep receives a notificationwithin Salesforce. Thiswithinis calledSalesforce.Sales Thisreceivesis calledaSalesnotificationtotofollowfollowupupon that lead. This is anForce Automation (oftenForceabbreviatedAutomation (oftenon thatabbreviatedlead. This is anautomatedautomatedfunctionality offered withinto SFA).to SFA).functionality offered withinthe Salesforcetheproduct.Salesforce product.Like any type of automation,Like any type of automation,Although Salesforce can handle simplethe purpose of SFA is theto increasepurpose of SFA is Althoughto increaseSalesforce canautomation,handle more complex typesproductivity by reducingproductivitythe amountby reducingsimplethe automation,amountmoreof automationcomplex like test automation,of tedious, repetitive work.of tedious, repetitive work.types of automation likerequiretest external tools.automation, require external tools.Salesforce Automation Guide 6

Test automation for SalesforceAs the name suggests, test automation is abouttesting, or verifying, processes and integrationswithin Salesforce and between Salesforce andexternal systems and tools. This is as opposed toSFA and other types of process automation, whichare about performing processes.What to automateRegression testsCritical featuretestsEnd-to-end processverificationsWhile testing processes manually is possible, it’s atime-consuming and error-prone task. Particularlywhen it comes to regression testing, which is abouttesting existing (rather than new) functionalitybefore a release.Regression tests are predictable because they’vebeen performed before, and repetitive becausethey are performed at every release. This makesthem a good candidate for automation.In addition to regression tests, critical featuretests and end-to-end process verifications areoften automated and run on a scheduled basis tomonitor the health of systems and ensure seamlesscustomer experiences.Salesforce Automation Guide 7

For example, a company might have a customerfacing website for selling its products. Once acustomer purchases something, the companywants this information to be updated in theirSalesforce database. Test automation is thenused to verify that that information was in factupdated, and to notify someone or take anaction in case it wasn’t. If this process isn’t testedregularly and happens to break – even for ashort amount of time – customer informationand business opportunities could be lost, and thecompany could risk substantial monetary loss.Salesforce Automation Guide 8

CASEUS building materials manufacturer usesLeapwork for end-to-end Salesforce testingOutcomes10releases each month (from 11 each year)90%increase in testing efficiency9full time employees savedSituationAs one of the premier window manufacturersin the United States, this company mustrespond quickly and efficiently to theircustomer base, salespeople, suppliers, andemployees to remain competitive.The company implemented Salesforce as thefoundation for the company’s operations,and added many modules, customizations,and unique deployments to fit the needs ofeach department. Everything from payroll tosales invoicing, employee communications tocustomer requests, and factory production toshipment tracking is managed in Salesforce.All these customizations required extensivetesting before being released to the wholeorganization. And the consequences ofdowntime could have massive financialimpacts – up to 40K per hour.Manual testing is extremely expensive andprone to human error, so the companystarted looking for an automation provider.They experimented first with a dedicatedJava developer and next with severalautomation tools on the market.While the Java developer was immediatelyoverwhelmed with test requests, the otherautomation tools failed to operate at theenterprise-scale required. That’s when thecompany turned to the no-code automationplatform Leapwork.SolutionWith no-code automation in place, theorganization was able to acceleratethe organization’s release schedule forSalesforce updates – from 1 to 10 releaseseach month – helping them adopt a trulyagile, DevOps methodology.They chose Leapwork’s platform primarily forthe easy user experience. With Leapwork’svisual test automation language, businessusers across finance and sales teams cancreate and maintain their own tests.We needed something that we couldbring in that wouldn’t require a wholeton of highly specialized resources.Something approachable - that wasextremely important for us.”Enterprise ArchitectLeapwork makes it possible to test acrossthe company’s customized modules, suchas Marketing and Commerce Cloud, plustheir add-on products, such as their OrderManagement System, and employee desktopapplications.The success and efficiency within the firstbusiness units have meant that the company isnow deploying automation across additionalunits to maximize their gains going forward.Salesforce Automation Guide 9

How to choose your Salesforceautomation toolAutomation can benefit your business in multipleways. But the success of your automation effortswill depend on the approach you take and the toolyou choose.There are three things, in particular, you’ll wantto take into consideration when researching youroptions:Considerations when choosinga Salesforce test automation tool1. Scalability3. Compatibility2. User-friendliness1. Scalability: How well does the tool allowyou to scale automation?2. User-friendliness: Which skills are neededto operate the tool, and how long does ittake to learn?3. Compatibility: How well does the toolhandle Salesforce specifically, and can itmeet all your automation requirements?Supported technologiesFrameworkCode-based frameworksNo-code automation toolsSalesforce Automation Guide 10

1. ScalabilityIf you’re taking a strategic approach to automation,you’ll also be considering how you can scale theuse of your chosen automation tool down the road.Scalability is essential because the demand fordigital products and services will grow over time,and with it, the need to test them; more applicationsand features means more releases and testing.Technologies that a test automation tool should ktopTwo things, in particular, will determine the tool’sscalability: The technologies supported and theunderlying framework.Technologies supportedWhen looking for a Salesforce automation tool,many focus on the tool’s ability to automateSalesforce and only Salesforce. But even if you onlysee the need to automate one specific Salesforcefunctionality or integration now, you may haveadditional requirements in the near future thatinvolve the automation of additional functionalities,integrations or technologies.For this reason, you should look for a tool that willwork across these use cases. Doing so will giveyou a higher return on your tool investment overtime. For example, rather than implementing anopen-source tool like Selenium that only automatesweb applications, look for a tool that will let youautomate across web, desktop, mobile, legacy andvirtual applications.Salesforce Automation Guide 11

The underlying frameworkYou can go down two main paths for Salesforce test automation: code-based frameworks or no-code automation tools.Code-based frameworksThere are various options to choose betweenwhen it comes to code-based solutions. Many optfor Selenium, a free, open-source framework thatdevelopers can get started with easily.The downside of Selenium is that it requiresdevelopers with strong programming capabilities.And because it requires code, it takes a lot of timeto set up and maintain – time that could havebeen spent better elsewhere.No-code automation toolsAs opposed to code-based solutions, no-codetest automation tools that use a visual languagedon’t require developer time for test setup andmaintenance.When the developer or IT dependency isremoved, anyone in the organization with a deepunderstanding of Salesforce can contribute to testautomation and quality assurance. This frees upresources and removes bottlenecks.On the flipside, no-code automation isn’t free.But even though the startup costs are greater, thesavings over time make up for this; no-code meansa quicker return on investment because setup andmaintenance time is reduced, and the solution canbe scaled without much additional cost.Costs of free code-based and no-code solutionsTotal lesforce Automation Guide 12

2. User-friendliness3. CompatibilityThe second important factor to take intoconsideration is the tool’s ease of use. Evaluate userfriendliness by looking at how simple or complex theuser interface is, as well as the amount of codingthat the tool requires.Last, and perhaps most importantly, you shouldconsider if the tool is optimal for Salesforceautomation. This seems obvious, but the truth is thatmany tools - even those marketed as Salesforceautomation tools - can’t access and automateSalesforce to the extent that many teams require.Deciding who will be responsible for setting up andmaintaining automation flows because the tool’scomplexity should be based on their capabilities. Ifyou already know that you will want to use the toolthroughout a team with mixed skill sets, it’s safer tochoose a tool that doesn’t require coding and hasan easily understandable user interface.Although the Salesforce interface is designed in away that offers numerous features and benefits toits users, the underlying software presents severalchallenges to those wishing to automate it.Here are the reasons why Salesforce is difficult toautomate from a technical perspective: Frequent system updatesWith no-code tools, creating and maintaining automation is omethingPassSalesforce regularly update their platformto enhance the user experiences or to fixunderlying issues. Unfortunately, these changescan impact user customizations and evenstandard uses of the platform. For QA teams,this means a lot of maintenance, and with acode-based automation platform, it meansthey must make changes to the code.Salesforce Automation Guide 13

Shadow DOMsSalesforce uses Shadow DOMs to isolatecomponents. This makes it difficult to identifyelements in UI test automation. Heavy DOM structureSalesforce’s DOM structure is heavy witha complex tree structure. This means thatautomation tools will need more time toaccess them.Salesforce’s heavy DOM structure Element identifiers are hiddenUsually, a UI automation tool will needelement details to identify visual elementsin the application. Salesforce hides thesefor development purposes, making testautomation difficult. Dynamic elementsUI elements that change with every test scriptrun can be a real burden. Without an elementlocator strategy, maintenance of Salesforcetests will become a major time sink with everytest run. IframesIn Salesforce, a new tab is a new frame.These frames are difficult to identify becausethe UI automation tool needs to identify theelements under the frame. This can be difficultto automate with a script-based tool likeSelenium and you’ll need to add that scriptlogic in yourself, a task only for experiencedSelenium testers.These challenges, however, can be overcome withthe right tool.Salesforce Automation Guide 14

Leapwork for Salesforce test automationAlthough Salesforce is a technologically complexplatform, automating it doesn’t have to be complex.With Leapwork’s no-code test automationplatform, the complexity of programming isremoved and replaced with an easy-to-use visualinterface, making it simpler to create and maintainSalesforce tests.Unlike most other Salesforce automation tools,Leapwork handles challenges like frame navigation,object dependency, and dynamic content under thehood, so you don’t have to spend hours modifyingand updating tests at every run.Leapwork automation flow for SalesforceSalesforce Automation Guide 15

Here’s an overview of how Leapwork can automate some of the key elements in Salesforce:COMMON SALESFORCE CHALLENGESHOW LEAPWORK HELPSNavigating through framesLeapwork uses smart visual recognition that only requires a single click to switchbetween frames.Executing against dynamiccontentLeapwork’s locator strategy allows dynamic web elements to be efficientlyidentified, with the option to tweak or change the chosen strategy as required.Handling tablesLeapwork includes a row/table column-based strategy that can handle thecomplex tables in Salesforce out of the box.Object dependencyLeapwork automatically maintains object dependency, complete with anoversight of the objects used for a flow.Heavy DOM structure andshadow DOMsLeapwork automatically captures elements within the DOM structure (includingshadow DOMs).Driving dataWith Leapwork, you can test with data from spreadsheets, databases, andweb services, enabling you to execute the same use case for multiple Salesforceusers simultaneously.ReusabilityLeapwork’s tests can run smoothly despite frequent updates, thanks to reusablecases, visual debugging capabilities, and video-based reporting.End-to-end testing requiresmany stepsLeapwork’s smart recording, including recording sub-flows, enables automationof end-to-end use cases within a matter of minutes.Salesforce Automation Guide 16

If you are on the lookout for a Salesforce automation tool that will help you automateacross technologies, at scale, without a single line of code, then Leapwork’s no-codeautomation platform might be the solution for you.Download our solutions brief to learn moreand join our webinar on no-code automationwhere we show an example of how test automationcan be used for Salesforce.Download solution briefSign up for webinar

Salesforce Automation Guide 8. Leapwork makes it possible to test across the company’s customized modules, such as Marketing and Commerce Cloud, plus their add-on products, such as their Order Management System, and employee desktop