Software Testing is an essential part of the Software Development Life Cycle (SDLC). There is no way to ascertain if the delivered application meets quality and business requirements without rigorous testing. The coverage needs to include system, integration, user acceptance and regression testing need to be done.
An Automated Test Framework is a set of guidelines such as coding standards and test-data handling that produce beneficial outcomes when followed during automation scripting. These include increased code reuse, higher portability and reduced script maintenance cost. These are just guidelines and not rules. You can script the testing process without following them. However, if you do so, you will miss out on the advantages of having a Framework that helps in automating tests.
Why do you need a Test Automation Framework?
Test Frameworks automate the tedium of having to do repetitive tasks such as executing the same command or pressing on the same button over and over again. These frameworks also allow you to reuse these actions to accelerate and optimize the time required to test an application.
Almost all kinds of tests can be automated except Usability Testing as these require real human intervention to evaluate the effectiveness of the User Interface and the resultant User Experience.
One of the most common types of tests that are automated are regression tests. These are the most tedious as they involve testing for the same bugs over and over again.
The fundamental advantage of these frameworks is that they let testers build a library of actions that can be reused.
This blog runs you through the different types of Automated Testing Frameworks.
Test Automation using Linear Scripting – Record & Playback
Linear Scripting is the most straightforward of all Testing Automation Frameworks. It is also known as Record and Playback. When using this Automated Software Testing Framework, the Test Engineer manually records each step, such as Navigation and User Inputs. The tester inserts checkpoints - also called validation steps as a first step. After this, the tester plays back the recorded script, executing automated tests.
Benefits
-
The fastest way to generate a script for automated testing
-
Automation expertise is not required for this type of testing
Shortcomings
-
There isn't much opportunity to reuse scripts
-
The test data is hardcoded into the script
-
It is usually a maintenance challenge
Test Library Architecture
The Test Library Architecture Framework is based on Structured Scripting or Functional Decomposition. In this Automation Testing Framework, scripts are initially recorded using the Record & Playback method. After this stage, everyday tasks inside the scripts are identified and grouped into different functions. In turn, these functions are called by the main test script, also called the Driver.
Use cases
-
Enables a higher level of code reuse, achieved using Structured Scripting compared to Record & Playback
-
These automation scripts are cost-effective when it comes to development because of higher code reuse
-
This Framework enables easier script maintenance
Shortcomings
-
The technical expertise to write scripts using Test Library Framework is higher
-
Testers need more time to plan, develop and prepare these scripts
-
Most if not all the Test Data is hard coded within the scripts
Data-Driven Automated Tests
With this Framework, Test Case logic resides in Scripts while the Test Data resides outside the scripts. The Test Data is read from external files such as Excel, Text or CSV Files. It can also connect to databases and ODBC Sources in addition to DAO Objects and ADO Objects. The Test Data is loaded into the variables inside the Test Script. These variables are used both as Input and Verification values. In reality, the Scripts are prepared using Linear Scripting or Test Library Framework.
Use cases
-
Great when changes to scripts don't affect the Test Data
-
Ideal when executing Test Cases using multiple data
Shortcomings
-
Planning, developing and preparing the scripts and Test Data requires more time
Keyword-Driven or Table-Driven Test Automation
Data tables and keywords are needed when using a Keyword-Driven or Table-Driven automation framework. These can be independent of the test automation tool used to execute the test. The Tests can be designed with or without the software or application. In Keyword-Driven Testing, the Application-Under-Test (AUT) functionality is documented in a table along with an instruction set. There are components of a Keyword Driven Framework: Keywords, the Application Map and the Component Function.
Keyword
A Keyword in this context is an Action that can be performed on a GUI Component.
Application Map
An Application Map provides Names for GUI Components and is also referred to as the Object Repository.
Component Function
Component Functions actively manipulate a GUI component. For instance, a function would click on the web button and enter data in an input box.
Use cases
-
It enables very high code reusability
-
Keyword Driven Testing is usually Test Tool agnostic
-
The scripts work regardless of AUT with some caveats
-
Usually, Tests can be designed with/without AUT
Shortcomings
The initial investment is pretty high. The benefits can only be realized if the application is enormous and the scripts will be valid for a few years. In addition, a high level of expertise is required when using a Keyword Driven Framework.
Hybrid Test Automation
This Framework is the combination of one or more Automation Frameworks. Hybrid Test Frameworks eventually evolve into Automated Testing Frameworks over time and projects. Most companies use a Keyword Framework in combination with Function decomposition.
Business Process Testing
Business Process Testing breaks up Business Processes into components. These Automated Testing Frameworks enable the reuse of these components multiple times in different test scripts. An added advantage is that BPT subject matter experts and test automation engineers work together collaboratively.
Embrace test automation with InspiriSYS
Software Test Automation improves efficiency and reduces costs. Code reuse enables increased test cases and enhanced test coverage while helping maximize application functionality.
At InspiriSYS, we are experts at Test Automation, helping reduce duplication, improve efficiency and performance. Get in touch with us to learn more.