benefits of automation testing code example

Example 1: advantages of automation testing

Benefits of automated testing
1. ROI (Return of Invetsment)
•	Let’s start from the beginning:
   the initially big investment. 
   This may be a hold back for many, 
   but it is proven that the return of
   that investment is a long-term one
   and it will also save time.  
2. RUNNING TESTS 24/7:
•	No matter where you are in the world.
   You can start the tests when you leave
   the office and when you get back in the
   morning you can see the results and keep on working.
   You can even do that remotely if you don’t
   have a lot of devices or you don’t
   have the possibility to buy them.
3. FEWER HUMAN RESOURCES.
•	You don’t need a lot of people:
   you would need a test automation engineer
   to write your scripts to automate your tests,
   instead of a lot of people doing
   boring manual tests over and over again. 
4. REUSABILITY.
•	The scripts are reusable:
o	You don’t need new scripts all the time,
    even if the version of the OS on the
    device changes It allows you to redo
    the test exactly the same, without
    forgetting any steps
5. BUGS:
•	Automation helps you find bugs in the
    early stages of software development,
    reducing expenses and working hours
    to fix these problems as well.
6. RELIABILITY:
•	Automated testing is more reliable and
    way quicker when running boring repetitive
    standardized tests which can not be skipped,
    ever, but may cause errors when manually tested.
7. SIMULTANEITY:
•	You can test more devices simultaneously
    resulting in comparative detailed reports
    generated in less time with the exact the
    same parameters, because the exact
    same scripts were run.
8. CONTINUITY:
•	Automated testing helps testers,
   such as automation engineers.
   They can see exactly what other engineers
   have done, what scripts he has already 
   written and what tests have already been
   performed and what bugs were already found
   and fixed, through clear reports.
9. ADDITIONAL METHODS:
•	One of the these methods is the stress test
    in which the capacities of the application and
    operational infrastructure will be tested to
    it’s limits with stress test,
    which can’t be done manually.
10. VOLUME:
•	Automated testing allows to run tests
    on thousands of mobile devices
    Testing all of them manually would be impossible!

Example 2: disadvantages of automation testing

There are a few things that automated testing won’t do:
it won’t fix specific problems that users
might have. When writing and testing the
scripts there are just some scenarios that
are being tested, not all of them. 
The main purpose of automated testing is
to find bugs in simple operations, e.g.
to log into the app, create a new account
or send email when the password gets forgotten.
That’s what automated tests do.
App crashes in specific scenarios must still
be tested manually. As we know, machines are
very advanced, but they are not smart, (yet!).
One other thing that automated testing won’t do
is test the effective usability of the design,
e.g. where the buttons are positioned, and
how easy it is to actually use the app. 
That still has to be done by manual user-friendly tests.
In conclusion there are benefits and drawbacks
to both automated and manual testing.
To achieve the best results we need a 
combination of both types: 
automated testing for repetitive,
simple use-cases; and manual testing
for reproducing specific bugs, complicated
use cases and to ensure the best user experience possible.