Challenges Of Automated Software Testing With Robotic .

Transcription

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 2020Challenges of Automated Software Testing with Robotic ProcessAutomation RPA - A Comparative Analysis of UiPath and AutomationAnywhereDavid AndradeFranklin University, USAAbstractThe research work in this study explored the topicof Robotic Process Automation (RPA) and how it isbeing applied to modern software testing.Comparative analysis was designed to discover thefeatures available from two of the leading RPAcompanies, UiPath and Automation Anywhere. Thepurpose of this study was to examine modernsoftware testing challenges, utilization of RPA, andhow RPA is being applied to solve significantchallenges that cannot be addressed by manualsoftware testing. RPA can heavily automate humantasks by emulating the same steps that a humanwould take, mostly in the form of UI interactions, butalso in software scripts that emulate the process ortasks within a workflow commonly referred to as“bots” or “robots” [1]. Repetitive tasks automatedwith bots save money and increase the longevity ofsupport by automating the tasks and generatingquicker results than a human software tester.Implementing RPA into an organization adds valueto business software management, performance, andprocesses of any complexity. Highlights of this studydiscussed strengths and weaknesses of RPA from thefeatures available in both UiPath and AutomationAnywhere when being applied to specific softwaretesting challenges. The analysis of the informationbeing collected for this research project mentionedauthors’ opinions, case studies, indicators, and othercomprehensive applications. Comparisons beingmade included pros and cons, cost savings, andeffective decision making when selecting automation.Future research needs to be conducted intoimproving RPA software testing of business logicwith Artificial Intelligence (AI) and MachineLearning (ML).1. IntroductionOrganizations and businesses are constantlytrying to find new, exceedingly efficient, ways to domore work at consistently lower monetary costs.Most organizations do not want to just automate theirentire workforce but are seeking to optimize theirexisting human resources’ time and effort beingspent on routine operational tasks that can beimproved by automation. Many organizations arenow implementing Robotic Process Automation(RPA) to improve productivity, reduce costs,improve quality, and increase accuracy and thereforeCopyright 2020, Infonomics Societyit is important to understand how to utilize RPA andhow it can be applied to different organization’soperational tasks which has been shown by a recentuptick in the adoption of such solutions that integrateRPA into existing operational practices. Banking,insurance, engineering, retail, HR, IT and otherbusinesses or departments within organizations canall benefit from RPA ability to automate theirworkloads. In fact, in 2019 it was predicted that 90%of large to medium sized organizations would beintegrated with some form of RPA solution by 2020and that the search term ‘RPA’ only started tobecome a trendy topic in search engines in 2017 [2].Implementing RPA can alleviate existingemployee/contractor resources’ workloads that arerepetitive and predictable. By shifting these humanresources’ focus to other more innovative tasks thatare not repetitive and not predictable then theorganization can create greater value to theirproducts or services. Every department within anyindustry’s organization can integrate RPA in someway to optimize their efficiency, including thesoftware industry, a company’s digital teams, orsoftware development teams.Software complexity is increasing rapidly andscaling with this growing complexity is just onechallenge that many software development teams arecurrently facing. RPA can add value to softwaretesting challenges and help improve the efficiencywith which any organization carries out testing, doesbusiness, or provides solutions that can then berealized by their leaders, users, customers, andpartners in terms of value.This paper explores the topic of RPA and how itcan be applied to modern software testing challengesby providing a comparative analysis that highlightsfeatures available from two of the leading RPAcompanies, UiPath and Automation Anywhere.2. Robotic Process AutomationRPA can heavily automate human tasks byemulating the same steps that a human would take,mostly in the form of UI interactions, but also insoftware scripts that emulate the process or taskswithin a workflow commonly referred to as “bots” or“robots” [1]. All the tools in an RPA platform arethen linked together in a control dashboard ororchestrator to manage their core capabilities, key1066

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 2020components, integrations, view reports, managesecurity, and administrate other related assets orfeatures. Repetitive tasks automated with bots cansave money and increase longevity of support byautomating the tasks and generating results quickerthan a human would be able to do so [1]. RPA is partof a bigger solution movement of “low code” or “nocode” tools that are different from traditionalsoftware coding which allows for faster and easierdeployments for End-to-End E2E testing automation[3]. So rather than coding the automation solutionmanually for each case RPA companies havedevelop suites of tools that allow their users tointegrate specifically tasked bots for processautomation using visual workflows that is similar towhat one might find in Unified Modeling Language(UML) diagramming tools or flowcharting softwarewith some special integration for specific systemsincluded to allow access to specific infrastructure inthe target environment.According to the Gartner Magic Quadrant Study,conducted by Ray, S., Villa, A., Tornbohm, C.,Rashid, N., and Alexander, M, UiPath andAutomation Anywhere are the two leadingcompanies in the RPA space that are scoring veryhigh in the quadrant [1]. RPA platforms are offeredin on premise, cloud, and hybrid deployments andhave many features that allow them to integrate withother types of popular Enterprise Resource Planning(ERP) solutions and Business Process Management(BPM) tools, software, web-based interactions, andother modern technical solutions or architectures.This is the key selling point of RPA which monetizesthe prospect that anything that can be done by ahuman with a screen, mouse, and keyboard can bereplicated by a bot with the definable steps codedthat the human also follows to accomplish thesetasks, for example data entry, data validation, or datatransformation. RPA takes this a step farther too, asthe most advanced RPA systems can performcomplex calculations and even be equipped withartificial intelligence, machine learning, naturallanguage processing, natural language generation,and computer vision to create intelligent automationsolutions that can interact with humans and adaptmore rapidly to changing input conditions that otherproducts are not able to beyond the recording of thesteps taken for playback.RPA has therefore positioned itself to be able toservice a wider variety of industries and are oftenseen in the wild in the form of service bots or chatbots that you might interact with when gettingassistance from companies like Amazon on an orderpurchased, as a first line to resolve your issue beforesending you to a human agent if it is unable to satisfyyour request. In fact, today the buzzword ‘ForthIndustrial Revolution’ is quite widely used todescribe the impact that automated technologies likeRPA will have on the economy [3]. Although theCopyright 2020, Infonomics Societyscale of which automation will initially be deployedseems to get exaggerated, studies show that 5% oftotal jobs may be totally replaced by some form ofautomation in the future [3].For this study we examined some specificchallenges related to the software developmentindustry has towards the testing of software and howthe RPA tools could be integrated to relieve thehuman testers of the burdens of repeated tedious taskto the bots thus increasing the quality, accuracy,productivity, delivery, efficiency. And overall lowerthe costs of operating the testing routines beingcarried out.3. Software Testing ChallengesAutomation and software development are twodifferent terms, although each borrows some aspectsfrom one another and are often found co-existingtogether in many modern enterprises’ andorganizations’ system architectures. Alok ManiTripathi, author of Learning Robotic ProcessAutomation, states that if some portion of aworkflow can be programmed to be done withouthuman intervention that it could be called“automation” [4]. Software that ties together systemsand workflows within in an enterprise environmentare known as Business Process Management (BPM)[4]. Enterprise Resource Planning applications suchas SAP, Oracle, Microsoft Dynamics, and BPMssuch as Pega systems and Appian can all beintegrated with some form of RPA [4]. Additionally,custom software applications built on .NET, Java,command-line, or mainframe terminals are easy toport use with RPA [4].Bath and McKay discuss the automation oftesting as simply “automate the automatable”, andthey recommend that consideration should always begiven to the potential for automated test execution[5]. Bath and McKay’s opinion is that if automationis determined to be viable then the automationcoding should occur during the test implementationstage of the test process [5].Tripathi also separates automation into processesthat can be automated and processes that should beautomated [4]. Therefore, various aspects should betaken into consideration when selecting automationcandidates. Processes that Tripathi says should beautomated include repetitive steps, time-consumingsteps, high risk tasks, tasks with a low-quality yield,tasks involving multiple people and that also mightinvolve multiple steps [4]. Then, to determine if theprocess is a good candidate for automation Tripathirecommends reviewing the candidate process for thefollowing characteristics: well defined and rulebased steps, logical, an input to the task can bediverted to the software system, input can bedeciphered by software systems with available1067

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 2020techniques, the output system is accessible, andbenefits are more than the cost.Automation techniques that programmers havebeen using with enterprise include custom software,runbooks, batch file processing, wrappers, browserautomation, desktop automation, and database/webdesign service integrations [4]. Some of the mostcommon software testing challenges include repeatedregression testing, business logic testing, and scalingcombinatorial testing. Regression testing seems tomeet the criteria that Tripathi lays out as the teststhat can be performed to verify the correct resultsafter a code change can be carried out with welldefined testing criteria that follow a logical path tocompletion and report a result. Additionally,business logic could also be considered automatablebut there is some debate that will be presented in thesection Automation of Software Testing / Cons thatadvocates the use of oracles of business logic toevaluate and tests systems manually for adherence tobusiness logic. Finally, combinatorial testing is also agood candidate for automation with RPA because ofthe high number of permutations that can be tested inshort amounts of time by RPA.3.1. Automation of Software Testing ProsPerhaps one of the biggest pros for the automationof software testing with RPA is that the robots canwork 24/7 non-stop thus relieving the stress and timeconsumed by human resources at the same processes.When effectively tuned to the processes beingautomated the bots can process greater amounts ofwork at less risk for error and the results of whichcan also be logged the same ways a human testerwould which translates into better qualityinformation being presented to the human testers toanalyze [2].For test cases with well documented, logical,repeatable, and predictable input/output, likeregression testing, test automation can provide apositive cost-benefit and can increase the speed andaccuracy at which the testers perform the test casesand retrieve results. Therefore, the implementation ofscripted testing or automation coding should alwaysbe considered when designing around the type oftesting and the automation framework’s capabilities[5].RPA software dashboards can allow theintegration of reporting and monitoring of activity,scheduling of tasks, administration of settings,utilization, and analytics that can be exported toother tools to lend to the human decision makingfrom management of teams in certain instances. Thisreporting can also be used to quickly find problems,errors, or bugs that can then be addressed by humanprogrammers and mitigated quickly before a newrelease of software features or services.Copyright 2020, Infonomics SocietyAdditionally, not all RPA is unattended. RPAassistants are bots that can be ran on demand on yourlocal computer to automate even the simplest oftasks needing to be performed, like copy and pastinga lot of data from one application to another, or tomultiple applications. After the process finishescontrol is returned to the human performing the taskand allowed to continue with their workflow ormanual operational processes [3]. This allows a userof RPA to customize, design, and automate onlycertain portions of their work to accomplish tasksfaster and free of errors. By starting small to developtrust and understanding for automation beforeworking towards a larger or more complex scale ofautomation a developer can gain insight and increaseproductivity using RPA. Furthermore, UiPathpredicts that there will be an emergence of a gigeconomy based around customized, and evenindividually personalized RPAs that they describe as‘a robot for every person’ [6]. This could certainlyallow for early adopters of the technology likeindependent developers to design specific yetflexible bots to cover a variety of common tasks thatthey could monetize for testing client’s ations in a consultant like market space.RPA is certainly a transformative technology, but itdoes still have its limitations and drawbacks whichwe will discuss in the next section.3.2. Automation of Software Testing ConsWhittaker [7] takes a much difference stance onautomation. On his Microsoft blog Whittaker statedthat he has been asked several questions surroundingmanual vs automated testing. Whittaker’s beliefs thatmanual testing had extreme advantages by usinghuman testers whose minds are fully engaged duringthe entire process rather than automation thatforegoes that same benefit as soon as it starts to run.Whittaker is opposed to examples like “automatedtesting is better at regression testing and API testingwhereas manual testing is better for acceptancetesting or GUI testing.” [7]. Whittaker elaborated onhis point asking his readers to think about our owncode in terms of business logic and infrastructurecode because he sees this as a similar division thatseparates manual vs automated testing. Whittakeradvocated intuition of the human testers intuitivelyby arguing that manual testing should be better attesting business logic because the logical rules forbusiness requirements in a software application areeasier for a human to understand than they are toteach to a piece of automation.Manual testers become domain experts who storebusiness logic with the most powerful testing tool,their minds, resulting from the fact that manualtesting is slow and thus manual testers use that timeto analyze and understand the subtleties of business1068

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 2020logic [7]. Whittaker grants that automation excels atlow-level details by detecting crashes, hangs,incorrect return values, error codes, trippedexceptions, memory usage, and that it is high speed,but also at the cost of a high drag coefficientmeaning that tuning the testing for business logic canbe risky or difficult. Therefore, it is recommendedthat test cases would have to be modeled in the testsuites and once modeled can be ran repeatablyagainst the software program or user interface’sperformance on related systems or evenhardware/infrastructure.Addressing the inadequacies of automation andRPA can be addressed with more research into theintegration of AI and ML to enhance the capabilitiesof services like RPA to react to unpredictable datainputs and are already being integrated into manyproviders’ products like UiPath and AutomationAnywhere, making them more adaptable to a varietyof use cases including using artificial intelligence,machine learning, natural language processing,natural language generation, and computer vision tocreate intelligent automation that rivals humanabilities and greatly lowers the risk of commonhuman errors.4. UiPathUiPath started as DeskOver in 2005, a companythat got its start by building automation libraries andsoftware development kits (SDKs) for companieslike IBM, Google, and Microsoft [3]. By 2012 theyhad specifically started to target the RPA market andwere working heavily with Business ProcessOutsourcing (BPO) providers like Cognizant,Accenture, and Deloitte to refine their tools for avariety of industries like the banking and financialservices industry (BFSI), healthcare, telecom, media,and retail [4]. UiPath is headquartered in Bucharest,Romania and is currently headed by Daniel Dines astheir CEO [3]. UiPath’s RPA platform consists of 3distinct software components: UiPath Studio, UiPathRobot, and UiPath Orchestrator (2020). UiPathStudio is the component that allows users to designthe processes, UiPath Robot is for automating thetasks designed in Studio, and Orchestrator is used torun and manage the processes. UiPath AutomationCloud features both Community and EnterpriseEditions. Therefore, there is both a free and a paidtier for utilizing the products and the informationneeded to operate the software tools whether you area novice or managing a large deployment.There can be too much information for anadministrator or a smaller team to take in but there isalso an online learning component offered byUiPath. UiPath has an online learning platform foradvancing users’ knowledge about the tools andservices available from UiPath. It has a multitude ofservice offerings, training, and certifications to addCopyright 2020, Infonomics Societyvalue to their platform and encourage the adoptionand integration of their product into their customers’enterprises. The online learning platform offers allthe information that one would need to deploy,operate, and scale their robotic factories, includingmanaging licenses, multi-tenant support, user access,and orchestration services to create robots,environments, machines, processes, run jobs, createschedules, all from a centralized dashboard.In addition to all the features and informationmentioned above, it is important to highlight that forthis study we are going to look specifically atUiPath’s Automation Testing product TestSuitewhich combines four UiPath products[8]: Test Manager StudioPro Orchestrator RobotsUiPath’s TestSuite aligns with addressing thespecific challenges we will discuss that come fromsoftware testing and software development that canbe addressed with RPA. UiPath Test Suite isadvertised as an End-to-End E2E Automationsolution for software testing. Therefore, some if notall the most common software testing challenges,including repeated regression testing, business logictesting, and scaling combinatorial testing, could beaddress with the tools offered by UiPath.4.1. Pros of UiPathAccording to the study UiPath has more than 250technology partners supporting integrations from allmajor enterprise products, there have also been over1.5 million downloads of their product with acommunity of 750k developers who can shareautomation and AI libraries in its marketplace [1].The three strategic strengths in UiPath as follows: integration and partner ecosystem operations product portfolioOperationally, as discussed in the last section,UiPath has resources exclusively devoted to helpingtheir developers and partners scale their RPAsolutions by offering both free and paid versions,learning resources, online training, and certifications.This includes UiPath’s TestSuite, which aligns withaddressing the specific challenges faced by softwaretesters and software developers that can be used to1069

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 2020address the challenges through the integration ofRPA, their community, and their marketplace.4.2. Cons of UiPathThe information in the 2020 Gartner MagicQuadrant study of UiPath further discusses the threestrategic weaknesses which include pricing, customer support product upgrades deploymentWith UiPath’s rapid adoption, their pricing hasevolved from a simple collection of products to aplatform model with role-based pricing thus addingto the complexity of UiPath’s pricing structure. Thisaspect might deter potential customers that havealready seen pricing structures for cloud-basedsolutions in their organization and might not beready to justify the additional investment in UiPathas their primary RPA vendor when other lower costoptions might exist. Additionally, due to this samecomplexity and rapid growth, the Gartner MagicQuadrant report cites that despite their excellentoperations they have noticed certain aspects ofUiPath’s customer satisfaction have been in declineover the years. This type of decline in customersatisfaction can directly contribute to a lack ofconsumer confidence and start to make potentialcustomers hesitate from hearing of bad customerservice experiences. Finally, the Gartner MagicQuadrant study also found product upgrades anddeployment issues that customers using UiPathversions 2018.4 or older found when trying upgradeto the newest product version [1]. There isspeculation that it is because UiPath has beenfocusing on more advanced features rather than thebase set of features in the product thus effecting itsoverall quality of the user experience. But somecompanies may see this as a risk when trying toprogress from one version of the RPA system to thenewest version, especially with the amount of timeand money they have already spent to create theirRPA’s current state. Therefore, there could be apotential issue with addressing the specificchallenges faced by software testers and softwaredevelopers that use UiPath for testing softwaresystems if those systems do not algin with theirsupport model or not being forward compatible withnewer versions of UiPaths automation tools whentime to upgrade comes due.5. Automation AnywhereThe Automation Anywhere, also a leader in theGartner Magic Quadrant, is based out of San JoseCopyright 2020, Infonomics SocietyCalifornia and is led by CEO Mihir Shukla [4]. Also,a company that got its start with a vision forreplacing manual scripting applications with processautomation that could be designed by their users toautomate business and E2E process, AutomationAnywhere is pushing the envelope of innovationwhen it comes to RPA. The Automation Anywhere’scontrol room is a centralized dashboard to develop,configure, and monitor bots with a high level ofdetail using a collection of web services that haveplug-ins that can be installed on the local computerthat access the control room [3]. AutomationAnywhere also works heavily with BPO providerslike Accenture and Deloitte to refine their tools for avariety of industries like the banking and financialservices industry (BFSI) which makes up more thanhalf of their revenue as well as healthcare, motorvehicle manufacturing, and telecom giants likeGeneral Motors, ATandT and JP Morgan Chase [3].Automation Anywhere is also advertised as an E2EAutomation solution for software testing. Therefore,some if not all the most common software testingchallenges, including repeated regression testing,business logic testing, and scaling combinatorialtesting, could all potentially be addressed andcustomized with the tools offered by AutomationAnywhere.5.1. Pros of Automation AnywhereThe A2019 release of Automation Anywhere hasundergone a redesign that has enhanced the userexperience and other features like multipersona,guided navigation, reusable ML libraries, strongsecurity, improved analytics, and cloud delivery. TheAutomation Anywhere have three strategic strengthswhich that uses product portfolio, pricing andinnovation. IQBots, Bot Insight, and other majorcomponents are all available within the enterprisepackage and with A2019 are offered in three bundledsolutions that are competitively priced [1]. The threeeditions of Automation Anywhere are Community,which is free with limited functionality, Enterpriseon-premises, and Enterprise Cloud. AutomationAnywhere features a development client for creatingbots, a runtime environment for deployment, and acentralized command center for managing bots andanalyzing performance [4].The Automation Anywhere no longer has adedicated testing product suite like UiPath there arecertain bots that can be customized around softwaretesting. Previously the testing suite was calledTestingAnywhere and is still available in limitedrelease to some customers, but you must fill out aspecial form to get a copy of the software that isconsidered a legacy on-prem solution. The tools andbots from the TestingAnywhere solution were eitherdiscontinued or carried on into the developmentclient and command center.1070

International Journal of Intelligent Computing Research (IJICR), Volume 11, Issue 1, 20205.2. Cons of Automation AnywhereThe other three strategic weaknesses ofAutomation Anywhere are upgrade experience,customer service and attended bot deployment.Customers reportedly faced challenges upgrading tothe latest version that will now require a formalmigration process that is scheduled to be released inthe second half of 2020 and Automation Anywhereis advising them to wait for the tool’s release.Secondly, like UiPath, customers using an earlierversion reported a lower level of satisfaction with thesupport of their deployment experience, whichAutomation Anywhere has addressed in the A2019release [1]. Finally, existing customers referencedreported attended bot automation requires a lot ofmanual work to deploy and Gartner’s MagicQuadrant report recommend that customers requiringthese features take additional time to evaluate theircapabilities before devoting significant developmenttime to them unlike their unattended solutions whichhave stronger feature support but are more rigid intheir implementation [1].Previously, Automation Anywhere had a testingsuite comparable to UiPath TestSuite called TestingAnywhere. It has now been depreciated but is stillbeing made available in limited release to somecustomers in the form of an installable application,but you must first fill out a special form to get a copyof the software that may now be considered a legacyon-prem solution. The older tools and bots from theTesting Anywhere solution was either discontinuedor carried over into the newer development clientsand command centers of the newer releases.Therefore, with the upgrade experience beingconsidered a con it might also be hard to migratefrom legacy solutions forward into the newerversions of Automation Anywhere if ma majority ofthe testing capabilities are not carried over into thenewer solutions or could incur additional time andcosts to rewrite the testing in the new applicationframeworks. These cons could indicate that trying toadapt to Automation Anywhere to certain softwaretesting challenges might present a significant risk ifthe product and its features are not tested against thedesired test cases and scenarios that they must beintegrated with in the environment implementingRPA for testing.6. ConclusionThe findings of this study revealed that manualtesting is better at testing business logic and testingbusiness logic with RPA can be risky or difficult andcostly for both UiPath and Automation Anywhere toperform. Further research into the process forintegrating Artificial Intelligence AI and MachineLearning ML with RPA could greatly increaseimprove RPA’s position over human testers andCopyright 2020, Infonomics Societylikely contribute to the retooling of workforces withmore highly skilled human workers that couldmaintain the bot farms and process automation withtheir understanding of the business logic andprocesses. RPA has no problem testing many testcases and recording results faster than humans, butalso does not provide the same level of knowledge,insight, or skills that human testers can performwhen testing. However, even the greatest humantesters are susceptible to error and RPA greatlyreduces and minimizes the errors that human testersincur as workloads increase.A considerable amount of due diligence must beperformed to evaluate the RPA products fit in theenvironment and how well it will integrate withexisting software. Also, even though they areadvertised as low-cost low code and no risk theycould have a considerable amount of risk and costsassociated with the financial burdens ofimplementing the automation only to find out that itwill not carry forward without a considerable amountof additional time and effort involved with upgradingor adapting to the next iteration of operationalprocesses. Implementation costs of scripted testing orautomation coding should always be consideredwhen designing around the type of testing beingperformed and the automation framework’scapabilities [5]. To add to the risk that one facesfrom choosing these types of solutions it is rumoredonline that the full license for a year for theenterprise editions of UiPath and AutomationAnywhere a

Automation RPA - A Comparative Analysis of UiPath and Automation Anywhere. David Andrade . Franklin University, USA . Abstract . The research work in this study explored the topic of Robotic Process Automation (RPA) and how it is being applied to modern software t