Most of the times we find ourselves working in monstrous, complex projects where testing activities play a key role for the successful delivery. With each development iteration passing by, there are new requirements added and new features implemented. QA team needs to ensure that each newly implemented feature and functionality is working as per the requirements plus whatever had been developed and verified in previous iterations remains defect free. Handling both aspects can be challenging if you are facing the deadline or having the time crunch. Plus, we can not afford compromising the quality. That’s where Automation Testing comes into the picture.
In simple words, what is Automation Testing ?
Automation is the process of handling control of Test execution to a Software. It can be done by preparing scripts that includes test steps, verification of actual outcomes against expected results mentioned in the scripts. The idea behind having Automation Testing as part of the Test Plan is not just the verification of previously developed features, but most importantly it saves precious time of a Tester and allows him to focus on the functional areas of the current release.
By preparing robust Automation scripts, you can get rid of getting involved into repetitive testing without worrying about the testing quality.
Before going further let’s clear one of the common myth out of our heads regarding Automation Testing :
Myth : Computer will perform all my testing activities. I have to just record and play-back.
It’s much more than just record-playback and there is no such thing as 100% Automation coverage. May the force be with you !!!
Manual Vs Automation Testing : A Long-lasting Dilemma
Manual and Automation both covers boundless areas in Software testing world and both serves in delivering best quality product. Deciding which one to follow can be entirely dependent on type of the project you are working on. In Manual testing, test cases / scenarios are executed manually i.e without using any tool or software. But in Automation testing, software / tools / scripts play key role in executing test cases and generating results. Even automation also requires substantial amount of manual work, like selecting the best suitable automation tool, preparing / updating the scripts and also the maintenance. Click here to read more about selecting best automation tool for your project.
Learn more about the difference between Manual & Automation Testing here. Now let’s get back to the Automation.
Advantages of Automation Testing
Properly implemented, managed and timely upgraded automation testing can have number of benefits. Few major are described as below :
Time is money, Save it :
This can be the biggest benefit of having Automation. Whenever any new feature is implemented or any existing functionality is updated, we end up retesting all the affected areas which were already tested and verified. The purpose of Regression testing is to make sure that application is still working as expected. Now let’s think about the re-work needs to be done in a long term project where change requests, bug-fixes and refactoring are usually common.
We can override these issue by preparing Test Automation Framework and by keep adding Test scripts once the functionality is developed / tested and it does not contain any blocker / critical / major issues. By the time we will have set of features automated and when you will need to re-test them, you can use these scripts. It will save your time and you will be able to focus on the areas which can not be automated and also on the current release tasks.
Increase Your Test Coverage, Repeatability & Consistency:
Repetitive manual execution of similar test suits is tedious and laborious task. It consumes Tester’s time and interest as well. Due to which lengthy scenarios are avoided / missed which can lead to un-identified regression defects and thus, poor quality delivery.
On the other hand having Automation Testing can increase the depth and range of test scenario coverage. We can execute complex scenarios on multiple systems having different configuration at same time. Beauty of having automation testing is, it can execute hundreds of scenarios during each test run and provide us efficient results.
Cost Reduction, the ultimate Goal :
Automation,if properly implemented and managed can lead to amount of efforts required for regression & retesting reduced. As discussed earlier automation is not replacement of manual testing, so implementing it won’t reduce Testing team size. But the resources can be allocated for more productive and quality work. They can be utilized exactly where they are needed like other areas of Software Testing, improvising their skills etc.