Thursday, November 13, 2008

Introduction to Automation

As we all know there is no product that is perfect. But any organization would strive to make it as defect free as possible. To ensure that we would have our processes in place and there is quality control. Testing is a process of finding bugs in a product. It promises that the bugs are limited within some percentage of the product. It definitely does not say that the product is defect free.
There are different types of testing. There is functional and the non functional testing. Automation falls into the latter category. Put in generic terms, automation is a process of making a certain things work automatically. Changing business requirements necessitates changes in software products. Whenever there is a change, there is a risk of exising functionalities getting affected. So every time there is a change, the application is to be tested right from the beginning in order to ensure the existing features are not affected. This is called regression testing and this is where Automation pitches in.
Automated testing is not a replacement for a manual testing. An automation application cannot replace a manual tester. Then what is automation for? Whenever manual testers test an application under crunched deadlines, there may be a fear that there some bugs may have gone undetected. When a type of work is done repeatedly there is a possiblity of human error of missing out on some steps or test cases. Automation avoids such risks:
1. Speeds up the process: It speeds up the testing process. When a change is introduced, regression testing can be done by automation which provides the results much faster.
2. Repeatable: The automated testing provides consitent results no matter how many times you test the application.
3. Programmable: The automation system is controlled by a language and it can always be programmed to fine tune or to scale the system to accomedate more test scenarios.
4. Reliable: The results are reliable simply because we know the exact flow of steps of testing followed by the automation system.
5. Re usable: The system can be re used for different versions of same application or else where in other projects.

No comments: