Subscribe by Email

Wednesday, June 27, 2012

How do you plan test automation? Can test automation improve test effectiveness?

“How to plan test automation?” is perhaps the most frequently asked question of today’s software testing field. Another important question is, “can test automation improve test effectiveness?” 
In this article we have tried our level best to answer both of these questions! 

What is meant by Test Automation?

- In test automation, we actually develop a quick process that will take care of the execution of the tests by itself i.e., without any human intervention.
- It also compares the actual and predicted outcomes, sets up the pre- conditions for the tests.
A common test automation process involves automation of a manual testing process that makes use of a formalized testing tool. 
- Although the manual testing can discover a whole lot of defects in the software system or application, it is quite laborious or you can say it involves a lot of drudgery and time.
- It is not possible for you to discover defects of all the classes using manual testing; it is a task that can only be accomplished using test automation. 
- Test automation takes time only once i.e., while you automate them and after this it saves a whole lot of time when compared to manual testing, tests can be run quickly and repeatedly. 

How to plan test automation?

There are two approaches to test automation and both of them are equally good and either of them can be followed. They are:

1. Code driven testing: This approach involves public interfaces to classes, libraries or modules to be tested with a whole variety of the input arguments for the validation of the results that are returned and are quite correct.

2. Graphical user interface testing: This approach involves a testing frame work that generates a user interface events like mouse clicks and key strokes for the validation of the observable behavior of the program i.e., whether it is correct or not?

There is one drawback which is that the test automation tools can cost you much and they cannot be employed without manual testing. Test automation is effective if you have to repeatedly test one thing. 

There is one more approach to the test automation which is commonly known as “model based testing”. 
- Using this approach you automatically generate tests through the use of a model of the software system or application for the generation of test case but this method of planning test automation is still under research and controversies. 
One should keep the following questions in mind while planning the test automation:
1. What to automate?
2. When to automate?
3. Whether or not automation is really required?

Can Test Automation improve Test Effectiveness?

Yes, test automation can improve test effectiveness.
- The test cases generated by test automation are quite reliable as compared to those created by manual testing.
- In test automation, human error is eliminated.
- The tests generated are repeatable as well as programmable. 
- They also have the following characteristics:
* Reusable
* Comprehensive: The test suite that is built covers all the features of the software system or application.
* Cost reduction: Due to less resources, used cost is also reduced.
* Fast: Testing is quite fast.
* Better quality software: The resultant software system or application is of better quality since it is tested by a large number of tests with fewer resources and less time.

No comments:

Facebook activity