RPA has
taken the IT world by storm. I won’t say that it is the newest thing in
business because it has been there around for about 10 years now. But now is
the time when it is spreading like wildfire. More and more companies want to
adopt it.
To set
the context, let’s look at how AI has broken all the barriers of our
imagination. I bet that a few years ago when we used to see robots in movies,
we would think that they are just part of our imagination or even if we
considered them to become reality someday, we always thought that the day to be
many years away. But what we never imagined was that technology will progress
so much so soon. Today Artificial intelligence is making machines more and more
human-like. They want machines to not only follow our instructions but to
think, and possibly also to exhibit emotions. It is almost like humans want to
assemble humans in labs. No wonder then that a robot named Sophia was very
recently even given citizenship of Saudi Arabia.
Now going
back to Robotic Process Automation. Going just by the words, it seems like
Robots automating processes. The catch, however, is that that when we say
Robot, we don’t mean an actual physical robot, but a virtual one — the
automation program.
What’s
the big deal about RPA in software test automation?
Many
could argue that in traditional Automation also we were creating automation
programs. So what is all the hype about?
The key
distinctions according to me are :
- It is script less: Coming
from a Manual testing background it was always a challenge for me to
always keep learning the latest scripting languages but now I don’t need
to learn any programming language to automate a test scenario. You just
need to be good with your logics and should be able to think out of the
box scenarios.
- Focus is back to product
quality: I am
not saying that in Traditional automation the product quality was getting
hampered, But in my own experience I feel that when I was working on
Automation via scripts, most of my time was getting consumed in writing
code and at the end of the day, only very few scenarios were automated,
and I was not able to cover as much scenario and I didn’t have the time to
dive into variety of scenario. So I feel that out of two 1 thing was
always getting compromised either the Coverage or the deadline. But with
RPA tool this problem of mine has been resolved to a great extent.
How things
work when automating test cases with RPA?
There are
many RPA tools available in the market like UI Path, Automation Anywhere, Blue
Prism and many more. You can use any (FYI: I am not promoting any specific
tool).
There are
few basic criteria on which all the RPA tools are based on:
- Already defined user actions: Most of the user actions
that one can think of while automating a test case like the click of a
button, mouse hover, opening browser, typing into a text box and many
more, they are already defined and the user doesn’t have to code.
- Built-in decision logics and
looping statements: The best part about using RPA tool for
creating scripts was, I didn’t have to worry about the syntax of my
decision logic and adding loops, for example, do-while, for, etc. They are
built-in and I just needed to use them.
- Configuring of user events
through Parameters: Every user action or event that we use can be
easily configured using its parameters. Almost every property of a user
event is made available so as it can be customized as much and as easily
as possible.
- Easy to create variables: RPA tools make it very
easy to create a variable without stressing upon the syntax.
- Error handling: If there is an error that
occurs while configuring the user events or in the full flow, RPA tools
have very good error handling mechanism. It helps the user to narrow down
the area of error and also gives very clear and specific error messages
making it very convenient for the user to correct the error.
What RPA
has changed in my Automation Testing approach?
- So as I said above, for me
RPA has put the focus back to thinking about logic, covering some
out of the box test scenarios, rather than spending hours just automating
the basic functionality.
- RPA has improved
my testing coverage also, as I am able to cover number and
different types of scenarios.
- Thanks to RPA, I am able to automate
the test scenarios faster as I don’t have to write every single line
of code on my own.
- Another advantage of using
an RPA tool is, I face less number of errors while automating a
test case. As in RPA tool, they have built-in codes for most of the logics
and I just have to make sure that I use them in correct flow.
- With RPA tool, I was able to
manage my scripts much easily as most of the times it just making tweaking
into the properties of the built-in user actions.
- Also when I create my
scripts using RPA tool, they are more easily readable and I am able
to explain them to another person in a better way
- Being from a manual testing
background, it was always a big challenge for me to always keep on
learning the latest scripting languages but now I don’t have to invest
my time learning the coding languages.
- I can invest my mind in
more decision making tasks rather than some boring and repetitive
tasks that can be done by machines also.
Now, when
I extract the essence of all the benefits, the bigger picture that I get is RPA
helps to increase Test Automation Coverage, reduces the time required, hence
reducing in the process the cost of Testing and in turn increasing the
Company’s profit.
Having
said that, I did face challenges while automating test scripts with RPA Tool?
1) I was not able to automate
everything
Having worked with different scripting automation tools, I feel that there are
some scenarios which I can’t achieve using RPA tools like I am not able to
automate scenario which deals with complex Database entries, multiple formats
of input or unstructured input data.
2) It executes at a slower pace
When I execute a script created via any RPA tool it executes at a UI speed but
when I run a script created using scripting languages, it is much faster. So I
feel that RPA is comparatively slower than the processes automated using
traditional automation.
3) Not much available on Web, so
need to explore yourself
Test Automation using RPA is relatively new. So there are many built-in
user actions and functionalities of different tools that you have to explore on
your own and not much help is available on the web. So that was also one of the
challenges that I faced.
4) It can increase a company’s
Test Automation cost
When I started automation using RPA, most of the RPA tools that I came across
were paid and just 1 or 2 had free versions available and that too had not
much-advanced features contrary to the open-source scripting tools available in
the market. So I feel that this can also prove to be a disadvantage as it will
increase the cost of Automation for a company.
But I
feel that the pros somewhere outnumber the cons and the proof of this is that
more and more companies are investing in Test Automation using RPA. So in my
opinion, if you are the one who wants to adopt RPA in Test Automation, then the
time to act is now.
Like
other businesses, if you too are looking to develop RPA solutions, Mindfire Solutions can be your partner of
choice. We have a team of highly skilled and certified software professionals,
who have developed many custom solutions for our global clients over the years.
Content Source: Medium