A Framework can be defined as a set of guidelines which when followed produce beneficial results.
A set of guidelines like coding standards, test-data handling, object repository treatment, etc. Which when followed during automation scripting produces beneficial outcomes like increase code re-usage, higher portability, reduced script maintenance cost, etc. These are only the guidelines, not the rules that must be followed, but if one is not following the guidelines then he/she must be losing the benefit of the framework.
What are the various Automation Frameworks available?
- Linear Scripting
- The Test Library Architecture Framework.
- The Data-Driven Testing Framework.
- The Keyword-Driven or Table-Driven Testing Framework.
- The Hybrid Test Automation Framework.
Linear Scripting – Record & Playback
This is the most simple type of Automation framework. In this tester record the test steps and insert some checkpoints and Playback the Test Steps with hardcoded values.
- The fastest way to generate script
- Automation expertise not required
- The easiest way to learn the features of the Testing Tool
- Little reuse of scripts
- Test data is hardcoded into the script
- Maintenance Nightmare
The Test Library Architecture Framework
It is also known as Structured Scripting. The tester will create the test script by using the “Record and Playback” method and then group the test cases to create Functions, modules, or Drivers.
- A higher level of code reuse is achieved in Structured Scripting as compared to “Record & Playback”
- The automation scripts are less costly to develop due to higher code re-use
- Easier Script Maintenance
- Technical expertise is necessary to write Scripts using Test Library Framework.
- More time is needed to plan and prepare test scripts.
- Test Data is hardcoded within the scripts
The Data-Driven Testing Framework
In this type of framework, Test case logic resides in the script, and test data is kept outside the script, and it is maintained either in Xls sheet, .csv files or in some Database like SQL or Oracle, etc. Test Scripts themselves are prepared either using Linear Scripting or Test Library Framework.
- Changes to the Test Scripts do not affect the Test Data
- Test Cases can be executed with multiple Sets of Data
- A Variety of Test Scenarios can be executed by just varying the Test Data in the External Data File
- More time is needed to plan and prepare both Test Scripts and Test Data
The Keyword-Driven or Table-Driven Testing Framework
The Keyword-Driven or Table-Driven framework requires the development of data tables and keywords, independent of the test automation tool used to execute them. Tests can be designed with or without the Application. 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.
- Provides high code re-usability
- Test Tool Independent
- Independent of Application Under Test, the same script works for AUT (with some limitations)
- Tests can be designed with or without AUT
- The initial investment being pretty high, the benefits of this can only be realized if the application is considerably big and the test scripts are to be maintained for quite a few years.
- High Automation expertise is required to create the Keyword Driven Framework.
The Hybrid Test Automation Framework.
As the name suggests this framework is the combination of one or more frameworks 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.
Divide the Test Automation Effort:
Automation task is assigned to Automation test engineer according to their skill set. it is most important to identify the skill level and experience of your team members. Whether a person is comfortable in which zone. Like for effective script writing a person should have good knowledge of Scripting language. Some team members may not be versed in writing automated test scripts. These QA engineers may be better at writing test cases. It is better when an automated testing tool has a way to create automated tests that do not require an in-depth knowledge of scripting languages, like TestComplete’s keyword tests feature. A keyword test (also known as keyword-driven testing) is a simple series of keywords with a specified action.
You should also collaborate on your automated testing project with other QA engineers in your department. Testing performed by a team is more effective for finding defects and the right automated testing tool allows you to share your projects with several testers.
For any query, you can contact [email protected]
?Most Popular Topics
Follow us on Aspire Systems Testing to get detailed insights and updates about Testing!