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.
- Linear Automation Framework
- Modular Testing Framework
- Data-Driven Testing Framework
- Keyword-Driven Testing Framework
- Hybrid Testing Framework
- Test-Driven Development Framework(TDD)
- 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
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
Post a Comment