HomeAutomation

List of test automation frameworks

Like Tweet Pin it Share Share Email

Assuming that you are aware of what a test automation framework is and what it contains? In this article you will get to know the list of test automation frameworks and in which business cases respective test automation frameworks to be chosen.

While this article provides high level information of each test automation framework, navigate to know more links of each test automation frameworks to learn more about the following:

  • Pros & Cons of test automation framework.
  • Which of the most important factors to determine a framework is best or not are covered as part of each test automation framework.
  • Any amendments that could be introduced to each framework and can cover more factors without completely changing the framework architecture .
  • Steps to build test automation framework.

List of test automation frameworks

  1. Linear test automation framework.
  2. Function Library based test automation framework.
  3. Modular test automation framework.
  4. Data Driven test automation framework.
  5. Keyword Driven test automation framework.
  6. Hybrid test automation framework.
  7. Component based test automation framework.

1) Linear test automation framework

It is one of the  most basic level test automation framework,  which helps to test automate small sized applications and when the time span to get started is in days / hours.The test scripts are created by stabilizing the recorded script of the underlying test automation tool.

i.e. test automation engineers will capture / record the end to end test scenario using a test automation tool and work on the generated test script directly and make it usable to test the scenarios through the tool. Which includes:

  • Writing for loops where the steps need to be performed repetitively.
  • Adding synchronization steps, so that the speed at which application under test is rendered and the pace of the instructions that are executed by test automation tool are in sync.
  • Adding automation code to perform verification / validation of a check point in the test case or scenario.
  • Some times same test data may not work if test script is run for multiple times, in such cases the test data to be generated automatically, i.e. by adding dynamic prefix or suffix to the test data.
Best suitable for the test automation projects where the application under test
  • Is having very less number of functional changes for future.
  • Has very less number of user screens re used across different end to end business scenarios.
  • Does not have huge number of functionalities as part of the application

Know more about Linear test automation framework >>

2) Function Library based test automation framework

Function library based test automation framework is one step advanced to Linear test automation framework, where the most commonly used test script lines or instructions would be created as re-usable functions in a function library and test data would be passed as input parameters to these functions.

These functions are to be invoked/called from the individual test scripts, this is the framework type, where the concept of re-usability of code has started in form of function libraries. Based on need separate function libraries are to be created, and are made generic enough to use them across different projects. Apart from generic function libraries, you should also create some function libraries which are very specific to Application under test and may not be re-used across different projects.

Some of the different purposes for which function libraries can be created are as follows:

  • String manipulations.
  • Date Manipulations.
  • Identifying UI objects dynamically on a web application.
  • File I/O.
  • Database related operations.
  • Excel or XML read / write operations.
  • Result File generation related.
  • Common re-usable set of instructions across an application under test, i.e. for example login function, navigating to specific page or window in an application, logout, or something similar of that sort.
  • and etc..
Best suitable for the test automation projects where
  • An application under test is of medium size with common functionality across the application.
  • Multiple rounds of test execution to happen.
  • When it is planned to execute scripts with same set of test data on different test cycle executions.

 3) Modular test automation framework

Modular test automation framework is in extension to Function Library based test automation framework, it is more focused on dividing the complete application under test in to multiple modules . Test scripts are developed for each modules separately and for the cases of end to end test  scenarios, a master script is to be created, in which scripts of individual modules are invoked one after the other making a meaningful end to end business scenario.

So along with the function libraries for generic purposes, there is now a scope of writing function libraries specific to each functional modules in an application under test. Functions of these function libraries are called in individual test scripts related to each module.

This is one of the most popular and highly used framework along with some customizations to it and make it fit to the needs.

Best suitable for the test automation projects where
  • An application under test is of large size with multiple functional modules and each of which carrying huge functionality.
  • Where more number of changes / releases are expected to happen in the project, which is with respect to functional and UI changes.
  • Cover in depth testing in each module and also cover all integration flows across modules.
  • Multiple rounds of testing to happen based on the changes and impacts.

4) Data driven test automation framework

Data driven test automation framework is mainly focused on how to create test automation scripts in a way it can be executed for different sets of test data.

Through this framework, the scope of covering more number of test scenarios with test data variations is achieved and helps to find more bugs when compared to other approaches.

This needs a little effort from test automation engineer to parametrize the test scripts and be able to make the test script work properly for different sets of test data, improper development and without following proper standards might leave you with test automation assets which are cannot be used for long run. And the investments made by the organisations to build test assets t be used for

Best suitable for the test automation projects where
  • An application under test has dynamic functionality based on the different sets of inputs provided to it.
  • An application under test which is of large size and with multiple functionalities or modules which can work independently and  also in integration with each other.
  • An application under test is stable for quite a long time and want to make sure that all the existing functionalities are working for different sets of data, while the new features, enhancements , bug fixes keep coming their way in form of bug fixes, upgrades or releases.
  • You want to cover in depth testing in each module with test data variations, to make sure no regressions appear and become instrumental to take a decision whether to make a release go live or not.
  • Multiple rounds of testing to happen based on the changes and impacts.

5) Keyword driven test automation framework

Keyword driven test automation framework has come in to existence to make the life of business users easy, as now the business users would be able to under each test script more easily, when compared to the scripts developed with other test automation frameworks.

It has also made life easy for test automation engineers, as now they can work with keywords to develop any test automation script, engineers with less programming knowledge would also be able to pick up easily and work on the test scripts.

Basically, in keyword driven test automation framework there are several approaches, lets look in to 2 such popular approaches.

  1. Having keyword combinations at each UI object level and perform actions based on the action provided for each UI object.
  2. Having keyword combinations at each sub feature level, so that users can directly call these sub features in desired order to make a meaningful test script for a test case or a scenario

In keyword driven test automation framework, you have to write a framework engine which will have the capability to read these keyword combinations for each test case or scenario and perform desired operation based on the approach chosen.

Best suitable for the test automation projects where
  • You want to run the test automation project with one or two technically strong people and remaining resources could be average in technical side.
  • You want to have your business user easily understand the test scripts as they will be mostly available in human readable and plain English kind.
  • An application under test has dynamic functionality based on the different sets of inputs provided to it.
  • An application under test which is of large size and with multiple functionalities or modules which can work independently and  also in integration with each other.
  • An application under test is stable for quite a long time and want to make sure that all the existing functionalities are working for different sets of data, while the new features, enhancements , bug fixes keep coming their way in form of bug fixes, upgrades or releases.
  • You want to cover in depth testing in each module with test data variations, to make sure no regressions appear and become instrumental to take a decision whether to make a release go live or not.
  • Multiple rounds of testing to happen based on the changes and impacts.

6) Hybrid test automation framework

Hybrid test automation framework is the one of ultimate test automation frameworks, which could be used for any kind of project requirement and will give lot of scope to reap the benefits of all the above mentioned test automation frameworks.

As the name says hybrid, it is combination of all above frameworks where

  • Test scripts can run for different sets of test data.
  • Entire test suite can be modularized to have better coverage and scope.
  • Lot of re-usability is achieved through generic function libraries and application specific function libraries.
  • Easy to understand and maintain the scripts.
Best suitable for all kinds of test automation projects.

But the pre-condition is here to have strong framework engine to support keyword driven and test data iterations, etc..

Most of the cases where application under test is a most widely used enterprise applications,  for example: Oracle EBS Applications, SAP, JD Edwards, SalesForce, Cloud HCM, Siebel, PeopleSoft, etc.. Organisations have their own framework engines to support to each application specific.

7) Component based test automation framework

While you have known different types of test automation framework suitable for different purposes, component based test automation framework can be used for any kind of situations as how Hybrid test automation framework can be used.

Even for component based test automation framework, there are several approaches to implement, lets understand some of the most popular approaches used in the market.

  • UI page level components – the entire application under test can be broken down in to each UI screen that the end user can work on, component for each UI screen would be developed to perform all the operations of it. These components would be stitched together to make a meaningful automated test case of test scenario. In case of any changes in the application, one has to update these page level components and it would reflect in all the test cases these components are used.
  • UI section level components – While we have several UI screens for any application under test, it can be further divided in to each sections as separate components. By doing this you can only include only those set of components per page which are required to make a meaningful test case or scenario
  • Smallest possible functionality level components – in this approach the entire application under test is divided in to smallest possible components covering the smallest possible functionality of the application.  This is one of the most popular approaches followed across the globe due to various benefits it reaps to the test automation project.

It will have all the benefits which other test automation frameworks provide.

Best suitable for all kinds of test automation projects.

Only thing required to take care is about, how you define each component should be very careful so that it can be used at different other places, attain less maintenance and higher extendibility.

These are some of the most popular test automation frameworks available in the market, there are still more number of test automation frameworks available.

If you have any queries, please feel free to ask through comments section, I would be more than happy to help.

 

Comments (0)

Leave a Reply

Your email address will not be published. Required fields are marked *