Mobile devices are becoming more important than ever in our society. The demand for automated testing on mobile APPs is becoming significantly greater than before. This blog will discuss how to set up a mobile automated testing framework that is easy to create test scripts and maintain upon requirement change.
First, this blog will introduce a structure diagram of an automation framework so that you can have a basic understanding of every major module in the framework.
Mobile Automation Framework Simple Structure:
Propose an automation framework with five major modules as shown in the above diagram:
- The first module is the automation framework, upon which the test engineer will create the automated testing project.
- The second module is the Framework Library. This module represents the actual testing project library for the automated testing project.
- The Data and Report management module represent how test engineers manage test data and how to generate test reports.
- After that is the Test Scripts module, where the Testing Engineers create automated testing scripts for the testing project.
- Finally is the browser module or the web app itself. This represents the Mobile application under testing.
Next, we will discuss the advantages and disadvantages of several popular automated test framework types.
Popular Automation Test Framework Type Introduction:
1.The Data-Driven Testing Framework:
Description: Data-driven testing is a framework where test input and output values are read from data files, not from scripts.
- Benefits: Test Data can be managed separately.
- Disadvantages: The amount of work caused by any changes to the program under testing is the highest in all the automated testing frameworks. The maintenance cost is therefore very high.
2.The Test Script Modularity Framework:
Description: The test script modularity framework requires the creation of small, independent scripts that represent modules, sections, and functions of the application-under-test. These small scripts are then used in a hierarchical fashion to construct larger tests, realizing a particular test case.
- Benefits: When the element or business logic changed, maintenance is ONLY about updating related test scripts and test data.
- Disadvantages: All the maintenance work needs to be been finished by automated testing engineers.
3.The Test Library Architecture Framework
Description: The test library architecture divides the application-under-test into procedures and functions and puts them into a library. This framework requires the creation of the library that represents modules, sections, and functions of the application-under-test. These library files are then called directly from the test case script.
- Benefits: Test Scripts, Library, and Test Data can be updated by different engineers. Procedures and functions are divided from business logic.
- Disadvantages: More effort is required from automation engineers as they need to be in charge of frame library maintenance.
4.The Keyword-Driven or Table-Driven Testing Framework
Description: This framework requires the development of data tables and keywords. The automation scripts in the function level retrieve the test data from the developed data tables or keywords. Then the automation scripts in the test case level call the function-level scripts to perform the testing.
- Benefits: Automation engineers can focus on keywords development and maintenance. Detailed test scripts can be managed by other test engineers.
- Disadvantages: Higher requirements for automation engineers.
The best automation framework should combine all of the above frameworks’ benefits together.
The Benefits of the custom automation framework diagram:
- Input and output values are read from data files which are managed by the database. This conforms to the principle of a Data-Driven Testing Framework. The reason why we choose database as a management tool will be discussed in my future blogs.
- The test suite contains several test scripts which are independent of each other. This conforms to the principle of the Test Script Modularity Framework.
- Set up a framework library which provides procedures and functions instead of putting them into scripts. The test case scripts call those library files directly. Test data and reports are managed outside of the Library. This meets the principle Test Library Architecture Framework.
- Repeatable user actions and major verification actions are encapsulated in a specific class. Test scripts can directly call those actions. This meets the principle of the Keyword-Driven or Table-Driven Testing Framework.
This is the first article of my blog series on the subject of the Automated Testing Framework for Mobile Testing, which introduced the major modules of an automation framework, analyzed several most popular frameworks and concluded the requirements for designing a proper testing automation framework.
My Mobile Automation Framework Blog Series:
Mobile Automation Test Framework Introduction and Design
Mobile Automation Test Data Management (coming soon)
Mobile Automation Test Report Management (coming soon)