what is test automation

INTRODUCTION TO TEST AUTOMATION

 

Test Automation has become an important part of the development process. Verifying the functionality, testing for regression and executing the tests are part of the Test automation process. These are carried out simultaneously and in an efficient way. Manual testing is the traditional method adopted by organizations. However, with the increasing number of web- based applications and quality tools in the market, this is slowly vanishing. Verification and testing web-based interfaces are made easier with test automation.

WHAT IS TEST AUTOMATION?

Test Automation is a method where software is used to execute the test scripts. This compares the actual result with the expected result. It can also automate repetitive tasks which is pre-defined, or additional test execution which is difficult to take up manually. It is a process that actually checks the application after development. Test automation needs less time, money and other resources.

WHEN TO AUTOMATE?

When automating testing for the projects, certain characteristics are to be taken into account. Several situations exist where test automation is beneficial. Consider a situation where the bug is fixed in the code and the same feature was used in various modules. It is difficult to check the bug which is fixed, in previous functionality. While carrying out a test pass, regression test is carried out around the bug fixes. This testing execution is done everytime a manual test is executed on a functionality. Working effectively will reduce the time and money. In such a situation, we consider Automation.

TEST AUTOMATION PROCESS

Test-automation-process

Test Automation process increases the efforts that are required to deliver the test results. This reduces the execution of the test cycles. A test automation is a well-defined procedure with various stages. Generally a process starts with definition of its own. Similarly, the automation scope has to be defined before the test automation. When starting a test development, its order has to be determined according to the priority. Software tools are used to write the scripts in order to automate a test process. Automation process involves —

• Identifying the software to be tested
• Selecting the proper and applicable automation tool
• Writing the test scripts
• Developing the test scripts
• Executing the test scripts
• Generating the result/report
• Identifying the bugs or performance defects

TEST AUTOMATION TOOLS

test automation tools
There are several testing tools that are used to build and execute the tests. The below described are few of the tools that make the test automation process easy for the web applications.
Selenium:

This is a portable, open source testing tool. It provides
record/playback which allows the team to write test scripts without actually learning the scripting language. A domain-specific language is used to write scripts in various coding languages. This tool can be run on most of the browsers.
Rational Function Tester:

This tool is created by software division of IBM. This is used to create tests that replicate the human tester. Quality assurance teams mainly use this tool.
HP Load Runner:

This tool is designed by Hewlett- Packard. This tool tests the system behaviour and its performance under load. It can respond to various users concurrently who interact with the software. Recording and analyzing the performance of the user activity is performed.
Soap UI:

This open source tool is specially created for service-oriented architectures. This is a Java based tool that can test development, functional testing, load testing and more.

BENEFITS

Test automation is a classical way to ensure the quality of an application by not introducing bugs or performance issues in the new versions of the application. Completion of the projects is done quickly as the test automation verifies each functionality quickly after a change is done. Test automation can be used to test various applications on load, performance and stress. Test Automation improves efficiency and is more cost effective than manual testing.