Thursday, 17 July 2014

What is an Automation & Automation Framework ???



What is Test Automation ?

Test automation refers to anything that streamlines the testing process and facilitates things to move along more quickly and with less delay. It is the use of software to perform various test activities like controlling test execution, performing test analysis, and generating test reports. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.

What is Test Automation Framework ?


An automated test framework may be loosely defined as a set of abstract concepts, processes, procedures and environment in which automated tests will be designed, created and implemented. In addition, it includes the physical structures used for test creation and implementation, as well as the logical interactions among those components.

Benefits:

Software changes are unavoidable. In the current competitive environment, these changes need to be implemented quickly. Organizations are looking for techniques to help reduce the timeframes for making these changes while still meeting quality objectives and maintaining certain quality levels. One way to shorten the testing timeframe is to reuse previous test cases and/or scripts andonly make modifications to these assets as required by the functional needs. In this way, the tester does not need to build these items from scratch. Additional time savings can be achieved by automating the execution of pre-existing test cases. Having an automated test suite that can run unattended and reused for every release will save a lot of time and effort and improve test coverage and quality of the delivered solution.

Types of Automation Framework,

Modular Framework:

This can be further divided into two types,

Test Script Modular Framework -- The Test Script Modular Framework is the most basic of the frameworks. In object-oriented programming (OOP), an abstraction layer in front of a component hides the details of the component. This insulates the application from modifications in the component and provides modularity in the application design. When working with test scripts (in any language or proprietary environment), this can be achieved by creating small, independent scripts that represent modules, sections, and functions of the AUT. Then, these small scripts are taken and combined in a hierarchical fashion to construct larger tests. The use of this framework will yield a higher degree of modularity and add to the overall maintainability of the test scripts.


Library Architecture Framework -- The test library architecture framework is very similar to the test script modularity framework and offers the same advantages, but it divides the application-under-test into procedures and functions instead of scripts. This framework requires the creation of library files that represent modules, sections, and functions of the application-under-test. These library files are then called directly from the test case script.

Keyword-Driven or Table-Driven Testing Framework:

Keyword-driven testing and table-driven testing are interchangeable terms that refer to an application-independent automation framework. This framework requires the development of data tables and keywords, independent of the test automation tool used to execute them and the test script code that "drives" the application-under-test and the data. Keyword-driven tests look very similar to manual test cases. In a keyword-driven test, the functionality of the application-under-test is documented in a table as well as in step-by-step instructions for each test.

Data-Driven Testing Framework:

Data-driven testing is a framework where test input and output values are read from data files (datapools, ODBC sources, cvs files, Excel files, DAO objects, ADO objects, and such) and are loaded into variables in captured or manually coded scripts. In this framework, variables are used for both input values and output verification values. Navigation through the program, reading of the data files, and logging of test status and information are all coded in the test script.

Hybrid Test Automation Framework:

The most commonly implemented framework is a combination of all of the above techniques, pulling from their strengths and trying to mitigate their weaknesses. This hybrid test automation framework is what most frameworks evolve into over time and multiple projects.

No comments:

Post a Comment