Skip to main content

Types of Software Automation Frameworks

What is Software Automation Framework

    While testing software there are many techniques to do the testing by manual. But when a project having multiple releases it's hard and time-consuming to perform all techniques manually. So to overcome this issue most of the repeated tasks are automated using a project feasible framework. Check this article to know more about Software Automation

Why automation framework is required

    Let us take an application name as A. This application had 5 releases. For the first release testers will do all required testing manually for that application. Then for the release 2 basic functionalities of the application will be the same and some new features may introduce. Rather than redoing the testing manually, all scenarios are automated and testers will just run the scripts.

    In release 3, Some new feature is introduced and some basic functionality gets some changes. As the basic functionality got some changes some locators may get changed and the automation scripts need to be updated. To make these changes handy, Automation frameworks got introduced. This framework will provide a structured view of the application automation scripts. This will help in increasing accuracy and decreasing maintenance cost  Check this article to learn about POM

Types of Automation Framework

There are 7 types of a framework that are commonly using in companies.

  1. Linear Automation Framework
  2. Modular Testing Framework
  3. Data-Driven Testing Framework
  4. Keyword-Driven Testing Framework
  5. Hybrid Testing Framework
  6. Test-Driven Development Framework(TDD)
  7. Behavior-Driven Development Framework(BDD)

Linear Automation Framework

    This is a record and play type framework. In this type, testers don't have any necessity to know about programming language to write code. The only need is to record the step and play the recorded script. While recording tester needs to mention all the navigation and data that is required for that scenario.

Advantages

  • No programming knowledge required
  • Can make a script in a very small time
  • The easiest way to run the recorded scripts

Disadvantages

  • These scripts are not reusable and if the script needs to run with a different set of values it will be time-consuming
  • Its maintenance cost will be very high

Modular Testing Framework

    In this type, the big application is separated into many small units and sections. These sections are tested separately and combined at last in a hierarchical manner. All these layers will have some abstraction layer in them. So when any changes made to a particular section it will not affect other sections

Advantages

  • Changes in one section will not affect another part
  • Creating test scripts will take less time and can be reused

Disadvantages

  • Data is still hardcoded in this type
  • Programming knowledge is required

Data-Driven Testing Framework

    In this type, there will be an external file that will handle all the data that are required for the automation scripts. Because of this testers can able to run the tests with multiple sets of test data. As with the previous methods, test data is not hardcoded in this type. 

Advantages

  • Data is not hardcoded
  • Can able to run the same tests multiple times
  • As the same scripts run multiple times with different data, fewer scripts are required when compared to previous methods. So, the maintenance cost will be less

Disadvantages

  • Need tester with good programming skills
  • Setting up this framework is time-consuming

Keyword-Driven Testing Framework

    This method will look like the updation on the data-driven method. In this type keywords specific to the function are saved in a separate file and test data is isolated. Tester's work is to map the keyword functions as per the required scripts.

Advantages

  • Same functions can be used across many scripts
  • Not that much scripting knowledge is required during the maintenance phase

Disadvantages

  • During the framework set up, high skilled automation developer is required
  • Initial setup is time-consuming and complex

Test-Driven Development Framework

    In this type, Automation scripts were developed before the application launch. In the first phase of script development, they will just form the methods that hold the requirements of the project. In the upcoming phases, all methods will get completed and during the application release, automation scripts will get ready.

Advantages

  • It will be helpful in reducing manual efforts even from the release 1
  • Helps to find bugs sooner
  • Helps in checking basic functionality of the application without additional manual effort

Disadvantages

  • At the beginning of the framework, the creation developer will not have much knowledge about the application as it is not fully developed
  • Frequent change in the script is required

Behavior Driven Development Framework(BDD)

    This is the updation of the TDD framework. The main change here is in the BDD framework test cases will be in an understandable language like English and no programming knowledge required for creating test cases. These test cases will be very easy for all stakeholders. This is achieved by using the Cucumber framework. While doing framework building we will learn about Cucumber

Advantages

  • Easy for everyone to understand
  • Writing test cases alone don't require programming knowledge
  • Less maintenance is required

Disadvantages

  • As like other types, programming knowledge is required to build definition files
  • More time will be required to do for definition creation
  • Maintenance efforts will be high

All these types are briefly explained in upcoming posts

Comments