How much serious damage do you think a software bug could cause, if left undetected & unfixed? Annoyance?Irritation?Think Again. Take a look at the partial listing of cases reported worldwide primarily caused by presence of bugs in software applications:
- In February 2015, it was reported that an entire nation’s ATS ( air traffic control system) crashed due to a bug in a single line of code. The result? Thousands of flights delayed & travelers stranded.
- In February 2014, a major automobile manufacturer recalled about 2 million vehicles in to fix a software issue that could potentially cause the vehicle to partially shut down!
- In June 2012, millions of customers were unable to access their money for several days from a major European Bank due to a software failure.
- A bug in the computer system of a major urban police department was reported to have compromised potentially thousands of criminal cases over a period of several years. As of March 2015, an extensive review of each case was still on.
In other words, ensuring an application is free of all software bugs is no longer merely a job duty but a primary obligation considering its widespread financial & human impact. Test Automation is one such failsafe method to ensure this happens.
What is Test Automation?
By itself, it is defined as the use of special software used to control the execution of tests and comparison of actual outcomes with predicted outcomes.
How does it help you win?
- Testing gets done faster, increasing the odds of finding defects. Also the sooner the bugs are identified, the easier they are to fix.
- According to estimates, about 7% of bug fixes end up creating new bugs, sometimes in parts of the system you had already tested! With automation you can easily re- run these tests.
- Manual testing is restrictive by being time consuming & laborious while also not being effective in finding certain classes of defects.
Layers to which Test Automation can be applied.
The figure seen below depicts the layers to which Test Automation can be applied
- GUI testing framework – keys in varying degree of user input to analyze the corresponding output
- API driven Testing – bypasses user interface & works at the programming level interface to validate the behavior under test.
- Database – Validating functionalities of the database such as necessary deletions, insertions, updates required to create test data fall under the database layer.
5 biggest myths about Software test Automation tools : BUSTED!
Myth #1 : Automation test tools need extensive infrastructure set up
Well not anymore.
How about a Cloud based Test Automation tool that allows your testing team to access the tool from any location, any device 24*7*365? What’s more testers can also save all the updates within the tool itself for further review.
Myth #2 : It’s cumbersome as user licenses need to be managed
Here is a new generation cloud based test automation tool that allows for unlimited user access! You no longer need to waste your time adding/ deleting users, managing upgrades or pay out exorbitant costs to the tool vendor irrespective of your business usage.
Myth # 3: It creates a disconnect between manual & automation test cases
Then it’s high time you evaluated a cloud based test automation tool that allows you to import manual test cases into the tool itself! This way, your QA team can quickly decide which tests need to be automated & which do not and again save all the updates inside the tool itself for further collaboration.
Myth # 4: Automation tools are difficult to use as programming knowledge is mandatory
With a cloud based test automation tool, Scriptless Automation is the key, where you don’t need to write a single line of code! The tester can enter keywords in simple English; the tool interfaces with the framework & does the rest. It ends up making this dependency on programmers redundant.
Myth # 5: It’s Expensive
Then it’s high time you evaluated a cloud based test automation tool that gives you every benefit as outlined above, at a cost of approximately what you would pay out to your manual tester as 1 month’s salary!
When is the right time to automate my tests & how to pick the right tool?
Is your application/ product stable in terms of its functionality?
The first step is to ensure the product is well defined in terms of the function it is slated to perform; introduction of new features should not disturb its basic utility.
What is the interface that needs to be tested?
Is it Command line Interfaces (CLI)? Is it Application programming Interfaces (API) or is it Graphical user Interface(GUI)? Your application might have a combination of all of them.
What is the scope of automation testing you require?
In other words, what are the types of test you are trying to automate? Is it Regression testing? Functionality Testing? Or is it User Acceptance Testing?
Have your individual test cases been segregated into manual & automation categories?
It is an accepted industry fact that while automation can act as an aid to manual testing; it can never serve as its replacement.
Theoretically speaking, Tests which fall into the following classes will require test automation.
- Test cases that are complicated or those that require a tremendous amount of time
- Those related to usability (end user) testing will inevitably end up being automation tests
- Regression tests which a tester usually executes repeatedly during every release of the product to ensure similar performance of all features are the right choice of tests to automate
A robust test suite is one which has a clearly defined set of both manual & automation test cases.
And finally: which is the right tool to pick?
With over 300 test automation tools available in the open market & as per reports over 30% tools fall into disuse post procurement, it becomes critical for you to use the following benchmarks towards tool evaluation:
- Ease of Use : The more complicated the tool and it’s corresponding usage, the longer will it take for it to be adopted by your test team thereby delaying your ROI further.
A robust test automation tool is one, which is easy to use, with a short learning window!
- Tool availability: Traditional test tools are generally associated with expensive licensing, tool downtimes and usage issues. Lack of post sales support by the tool vendor further aggravates this situation.
A cloud test automation tool on the other hand does away with this entire concept by being accessible 24*7*365 access from any device, any location with 0 downtimes!
- Import of manual test cases: The traditional disconnect between manual & automation tests can now be consigned to the history bin!
Here’s a new generation cloud test automation tool that allows import of manual test cases while also enabling saving of all updates within the tool itself for further review.
- Scriptless Automation: Any tool that requires extensive programming knowledge for it’s usage will cost you sleepless nights not to mention project delays every time your programmers quit.
Not anymore. With a cloud based test automation tool you DON’T need to write a single line of code. Your testing team can now enter keywords in simple English; the tool interfaces with the framework & does the rest.
What has been your experience with your present test practice? Leave your comments, suggestions here!