- November 1, 2013
- Posted by: Mahesh Kulkarni
- Category: Blogs
Automation is much talked about since Renaissance, when it was initiated with the inventions of new machines.
By definition, automation means “The act of implementing the control of equipment with advanced technology”. Almost everything in world can be automated in some or the other way by this definition. The software development process is probably the latest process to have introduced automation in its Testing area.
Manual testing is the prevailing practice in software quality assurance. Though being traditional, it continues to hold its importance. In this process, tests are performed by the software testers as per test cases to find bugs in the software application. It works best when the application has limited scope and accessibility. But, with the introduction of internet and its widespread use for almost all the software related activities, the scope for testing the application has increased multifold. Today, applications are developed at a large scale, with the intent to make them work over the internet and/or allow a large number of users to have access to it. This calls for the application to be tested at such large scale, for its functions , possible operations and performance. Manually testing all this features can be time consuming, repetitive and erroneous. It also becomes a costly affair. Test Automation comes to rescue in this case. Test Automation defines as the use of software tools to control the execution of tests. It is a practice where the normal testing process is performed using software tools to achieve greater speed and accuracy in testing the application.
Test automation involves different approaches like Code Driven Testing (Testing in Agile development model), Data-driven Testing, GUI testing etc.
Code -driven testing process is also termed as the Test Driven Development (TDD), when it is implemented in the Agile model of Software development. In this approach, the idea is to write the test cases before you start writing the code and each section of the code should be tested. This way the code is fixed when it is least expensive.
Data-driven test automation is implemented when the software application is to be tested for a large amount of data. Here the data is fetched from the data sources. The testing tools used in this process test the software repetitively for the various data sets. Reports are generated documenting the results and errors are logged accordingly.
GUI Test Automation focuses towards automating the GUI testing. The GUI testing tools allow the user to record scenarios for test and replay them as required with different entries. Parameterization is made possible which enables testing with various data entries and allows flexibility discounting the scripting skills . This testing method also allows testing of web sites. Various GUI related functionalities can be tested through this approach.
Test Automation not only makes difficult tasks easier for the test team but also provides better software quality. Implementing test automation in a software/product development, along with the manual testing, will reduce and substantially augment the software quality.