Home

Search

Guestbook

Contact Us

Log in

Join Us

Testers Community

Link to Us

Advertise with Us

 
 

The leading web-based task and bug tracking software for software development and IT! More...
Special Promotion for SQATester Visitors on our Hosted Accounts.
Get the Hosted Account Now, free set-up and one month free!

 
 

See Also

Release Package. More...

Test Cases Sample.
More...

Test Matrices Sample. More...

Test Plan Sample. More...

Test Case Design. More...

Weekly Status Report
Sample.
More...

Stocking and Managing a Test Lab. More...

Key QA Documents. More...

Improving the Quality process by doing the
Metrics Calculation

Download

Documentation Tips.
More...

 

TestArchitect solves the biggest problems of software testing: producing and maintaining vast libraries of manual and automated test scripts. More...

 

Promote Your Products and Services

SQAtester.com Storefront Program is the best way to help companies Promote their Products and Services. More...

 
 

Test your Web Application with a professional Java™ Load testing Tool.
Proxy Sniffer is a full-featured web load testing tool, designed for professionals More...

 
 

Access to your Information Quickly and without hassle.

To compete in today's market, you need Access to your Information Quickly and without hassle.
We can make this possible.

Try Software Planner FREE for 2 weeks

 
 

Learn more material at a Fraction of Price!

Get the training that will help you face the challenges and meet the demands of today's competitive market place.
Programs Offered: Oracle DBA, Cisco Networking, Software Testing & Programming. More...

 
  Bug Tracking Systems are the single Most Important Way to Improve the Quality of Your Software. They help manage software development projects by tracking software bugs, action items, and change requests with problem reports. More...
 
 

Advanced bug tracking system

An extremely practical and cost effective Web Based Bug Tracking Software and helpdesk software ready to be integrated into company intranet today. More...

 
  Learn more material at a Fraction of Price!

Get the training that will help you face the challenges and meet the demands of today's competitive market place.
Programs Offered: Oracle DBA, Cisco Networking, Software Testing & Programming. More...
 
 

You are here: Home > Tools and Automation > Frameworks for Test Automation

Software Planner: Project Management / Change Management and Help Desk Solutions. Free 2 Week Trial. More...

You may be aware that using only a capture tool to create your automated tests has its drawbacks, but you may not be aware of the alternatives you have available to you. In this article I will briefly outline some of the frameworks for test automation that I'm aware of. These include test script modularity, test library architecture, keyword-driven/table-driven testing, data-driven testing, and hybrid test automation. Each of these frameworks has it's own strengths and weaknesses. What I hope to accomplish in this article is to establish a starting point from which you can spend some time looking more heavily into the framework you think may be right for you.
Frameworks for Test Automation __________________________
shared by Michael Kelly

Test Script Modularity


With that said, let's jump right in. The test script modularity framework is the most basic of the frameworks. This framework builds on the concept of abstraction. It's a well-known programming strategy to build an abstraction layer in front of a component to hide the component from the rest of the application. This insulates the application from modifications in the component and provides modularity in the application design.
When working with test scripts (in any language or proprietary environment) this can be achieved by creating small, independent scripts that represent modules, sections, and functions of the application-under-test. You then take these small scripts and combine them in a hierarchical fashion to construct larger tests. The use of this framework will yield a higher degree of modularization and add to the overall maintainability of your scripts.
This framework being what it is, I did not see fit to include any examples.

Test Library Architecture

Following the same rule of abstraction, one can also implement a test library architecture framework. This framework offers the same advantages as script modularity, but it divides the application-under-test into procedures and functions (or objects and methods depending on your implementation language) instead of scripts. This framework requires the creation of library files that represent modules, sections, and functions of the application-under-test. These library files are then called directly from your test case scripts. Much like script modularization this framework also yields a high degree of modularization and adds to the overall maintainability of your tests.

Like the last framework, I did not see fit to include any examples for this framework either.

Keyword-Driven or Table-Driven Testing

The terms keyword-driven testing and table-driven testing are interchangeable and refer to one type of an application-independent automation framework. This framework requires the development of data tables and keywords, independent of the test automation tool used to execute them and the test script code that "drives" the application-under-test and the data. Keyword-driven tests look very similar to manual test cases. 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.
As an example, if we were to map out the actions we would perform while testing the Open function in Word, we could create the following table. The Window column refers to which application window we are performing the mouse action on. The Control column refers to the type of control that the mouse will be clicking. The Action column is the action taken with the mouse (or by you the tester). And the Arguments column is there reference a specific control.

Window Control Action Arguments
Word Menu File, Open
Word Pushbutton Click Folder Name
Word Pushbutton Click Folder Name
Word Pushbutton Click Folder Name
Word Pushbutton Click Open
Word Verify Result
Word Menu File, Close

These tables can be made as needed in order to represent a series of tests. Each table should represent one complete test. Once you've created your data tables, you simply write a program or a set of scripts that reads in each step executes the step based on the keyword contained the Action field, performs error checking, and logs any relevant information. This program or set of scripts would look similar to the pseudocode below:

Main Script / Program
Connect to data tables.
Read in row and parse out values.
Pass values to appropriate functions.
Close connection to data tables.
Menu Module
Set focus to window.
Select the menu pad option.
Return.
Pushbutton Module
Set focus to window.
Push the button based on argument.
Return.
Etc…

From this example you can see that this framework requires very little code to generate many test cases. The data tables are used to generate the individual test cases while the same code is reused over and over again.

Data-Driven Testing

A data-driven framework is where test input and output values are read from data files (ODBC sources, cvs files, Excel files, DAO objects, ADO objects, and such) and are loaded into variables in captured or manually coded scripts. In this framework, variables are used for both input values and output verification values. Navigation through the program, reading of the data files, and logging of test status and information are all coded in the test script.
This framework is similar to table-driven testing in that the test case is contained in the data file and not in the script; the script is just a "driver," or delivery mechanism, for the data. Unlike in table-driven testing, though, the navigation data isn't contained in the table structure. In data-driven testing, only test data is contained in the data files.
This framework tends to reduce the overall number of scripts you need in order to implement all of your test cases, and it offers the greatest flexibility when it comes to developing workarounds for bugs and performing maintenance. Much like table-driven testing, data-driven testing requires very little code to generate many test cases. This framework is very easy to implement using most any toolset, and there's a lot of detailed documentation available with how-tos and examples online.

Hybrid Test Automation

This framework is the most commonly implemented framework. It is a combination of all of the above techniques, pulling from their strengths and trying to mitigate their weaknesses. A hybrid test automation framework is what most frameworks evolve into over time and multiple projects. You can implement modularity by nesting test scripts and using the library files (or objects) to implement functions, procedures, or methods. You can implement whichever data-driven technique you choose and to the extent you find it useful. The trick is to use the best framework(s) for the job and the only way to figure that out is to jump in and start using them!
Share your thoughts on Frameworks for Test Automation in SQAtester Group.

E-mail to a Friend.
 

Top

Books to Read ________________________________________
 
 

Quality Web Systems
This book provides a framework for ensuring that key Web system success criteria are addressed during the development of a Web system. Detailed technical guidance is provided for all criteria, along with testing strategies that allow for verification of a quality implementation.
More...
 

 
 

Automated Software Testing
Written for those with some background in software engineering, Automated Software Testing: Introduction, Management, and Performance delivers a rigorous guide to the state of the art in managing automated testing in a text that will benefit anyone who tests software for a living.
More...
 

More... books on Software Testing.
 

Top

Categories ________________________________
Bugs and Fixes   Software Life Cycle  
Bugs Life   SQA Career  
Bug Tracking   Testers Area  
Companies and Products   Tester toTester  
Documentation and Strategy   Testing Center  
Methodology and Techniques   Testing Newsletter  
More Resources   Testing Tips  
Publication and News   Tools and Automation  
QATeam   Tutorials and Training  
Community ________________________________
Join Now Free   Message Forum  
Share Your Experience   Professional Profiles  
Specials __________________________________
Millions of titles discounted up to 40-90% off. Great low prices on your favorite books. More...   Find all of your favorite software.
More...
 

 

  Whether you are at the office, home, or your client's site, your information should be available at your fingertips. We can make this possible. More...  

 

© Copyright since 2000 by SQAtester.com. All Rights Reserved. For information on SQAtester.com, visit About Us