How to Choose Automation Testing Framework?
November 28, 2011
Automation testing is a process in which manual testing steps are mimicked by a script that can be run automatically on a system to test its correctness. An automation testing framework defines a set of automation testing guidelines which, when followed can increase the overall productivity and produce better results apart from saving effort and time from the testing perspective.
There are many automation testing frameworks available to choose from.
Let us look at these frameworks in a little bit more detail.
Record & Playback Automation Framework
The record and playback automation is the simplest of frameworks where the tester manually records each and every test step such as navigation, user inputs, and checkpoints that are to be performed in order to execute a test case. There is no coding involved in this approach, thus simplifying the overall process. Once the recording is over, the tester can playback the script that will automatically perform the testing.
- No coding is involved (codeless record and playback automation), thus generation of the script is fast and easy.
- No technical expertise required.
- Great way to start learning the process of automation testing.
- Test data is hard-coded into the testing scripts.
- Test scripts cannot be reused.
- Synchronization problems may occur in web UI testing because of which a test script may not re-run.
- Manageability is difficult as the test area/scope widens.
Experience the Record & Playback Feature of the automation testing tool.
Data-Driven Automation Framework
This approach has larger test coverage as compared to the record and playback method. In this approach, each test case is viewed as a function call to which data is fed from an external source. In the data-driven automation framework, test data is stored in a separate external file thus eliminating the hard coding of test data into test scripts. Thus, it is possible to run the same test case with different sets of test data.
- Test data is separately maintained thus making it easier to make changes to the test script.
- Better test coverage possible by using different test data for the same test case.
- It is not possible to test all the real-time business functionalities of the system under test.
- There is no easy way to specify which data file must be associated with which test script.
- It needs the tester to have some basic programming skills in the tool that has been chosen to automate the testing.
Keyword-Driven Automation Framework
This approach is also known as table driven testing framework, in which data tables and keywords are to be developed (independent of testing automation tool) for the test case. Each test script is viewed as a keyword prompted action and the test data directs the testing here. Thus when the automated test case is run, the test data is read which points to the corresponding keyword and then finally the relevant script is called/executed.
- The testers can decide on which test cases are to be executed and in which order.
- This approach provides code reusability.
- The keywords are also reusable.
- The test scripts can be developed independent of test tool/application.
- This needs the tester to have a good technical expertise in the field of automation testing.
- When the UI of the application changes, it is quite a challenge to update the test scripts accordingly (as it lacks web UI automation).
UI Page Maps Automation Framework
This approach is by far the best of approaches since it solves most of the problems encountered while using any of the above-mentioned frameworks. The tester writes test scripts for classes of the individual UI page under specific window/page. Instructions are provided through test data, which recognizes the object on which action has to be taken which subsequently calls a script for the specific object.
- The maintainability and reliability are handled quite well in this framework.
- The test script for a UI object can be reused anywhere in the application.
- It makes the development of test cases a tad easier.
- When new UI objects are introduced, new test scripts may need to be written.
- Any changes to the UI object class will need revision of the associated test scripts.
The Hybrid Automation Framework
As in life, one size does not fit all. Therefore, the test manager needs to decide which testing framework is most suitable for the application to be tested. A hybrid approach may be considered.
As the name suggests, a sensible combination of two or more automation testing frameworks can be adapted to obtain the best results. Depending upon the application to be tested, the test data pool available and consistency of the application, the test team may chose to use more than one of the above frameworks to automate their testing processes.
To automate your testing processes, download TestingWhiz now!