Wednesday, January 19, 2011

QTP and Frameworks

HP's QTP is great testing tool, HP QuickTest Professional is automated testing software designed for testing various software applications and environments. It performs functional and regression testing through a user interface such as a native GUI or web interface. It works by identifying the objects in the application user interface or a web page and performing desired operations (such as mouse clicks or keyboard events); it can also capture object properties like name or handler ID. HP QuickTest Professional uses a VBScript scripting language to specify the test procedure and to manipulate the objects and controls of the application under test. To perform more sophisticated actions, users may need to manipulate the underlying VBScript

QTP Framework

Automation Framework
Accessing one Software Objects from another Software is called Automation.
(AUT is one s/w and Testing Tool is another s/w.)

Automation Framework:

It is a set of guidelines, assumptions and process developed by experts in order to perform a task(s) in an effective, efficient and optimized way.

A systematic approach for automating software applications.

Why Automation Framework:

In one project test automation we use various files, we perform various tasks, in order to organize and manage them all, a systematic approach (Automation Framework) required.

files to be used:
a) Flat files (.txt),
b) Excel files (.xls)
c) Object repository files (.tsr)
d) XML files (.xml)
e) Library files (.vbs)
f) Test Scripts (.mts)
g) Test Batch Files (.mtb)
h) Recovery scenario files (.qrs)
i) Test Result file (.XML)   Etc...

Tasks to be performed:
a) Analyzing the application
b) Selecting Areas/Test Cases for Automation
c) Planning (Effort estimation,Schedule,Work allocation and Automation Framework implementation)
d) Creating Generic and project specific functions.
e) Creating required Automation resources(Functions,Object repository Files,Environment variable files---etc)
f) Creating Tests(Using Object Repository or Descriptive Programming)
g) Enhancing Tests(Inserting Checkpoints,Output Values,Transaction points,Flow Control Statements,Synchronization,Parametrization---etc )
h) Debugging and running tests(Individual test execution,Test Batch execution --etc)
i) Defining and exporting test results
j) Analyzing results
k) Test reporting
l) Defect Reporting using companies defect management system.
m) Modifying tests
n) Performing re and regression testing ---etc

Types Of Automation Framework:

Automation Framework is not a qtp feature, it's a 3rd party concept. And this is purely local concept.(framework may vary from one company to another)

1. Record/Playback or Linear Framework (1st generation framework).

In this Framework we create tests using recording,low resources maintenance, Form batches and executing tests.

Drawbacks: Modifications and maintenance are difficult,less command on scripts,low performance
2. Modular Framework.

In this Framework,reusable components can be recognized,first we concentrate on creating reusable components, then creating tests using those components.

It reduces test Automation time

Performance is high than recording and playback

Less usage of keywords,no concentration on Data driven testing and low performance than latest Frameworks like Keyword Driven Framework.

 Data Driven Framework

In this Framework,we concentrate more on Data Driven testing.We recognize positive and negative scenarios,then collecting test data and parameterizing.

We can check reliability of the system,positive and negative testing.

Less concentration on complex Functionality Testing and low keywords usage.

4. Hybrid Framework

In the above frameworks Keyword Driven framework is very famous in the industry.
It is a mixing of more than one approach.

In this approach,we mix Data driven and Modular approaches OR Data Driven and Keyword Driven approaches---etc


Scope is very high as we mix different approaches,Flexible for performing any tasks.


Organizing and managing resources are difficult,complex architecture,low in performance.

 Now a days Mix of Data driven and Keyword driven approaches is a famous Hybrid Framework in the industry.

Keyword Driven Framework


1. Any word used as the key to a code

2 A reserved word used to identify a specific command, function etc.

(in our test automation example keywords are :

Keywords to be used in Test Automation:

a) Test Objects (EX: Browser,page,webEdit,WinButton---etc)

b) Functions (Built-In and User defined)

c) Methods (Ex:Set,Select,Activate,Navigate---etc)

d) Statements (EX:Dim,If,For---etc)

e) Operators (EX: +,/,*,and,or,not---etc)

5. Keyword Driven framework

Keyword Driven Approach:

In this approach we use keywords for preparing tests. First we create tests and make them as functions, through framework we execute them and generate results.

Key elements of Automation Framework:

1. Well defined folder structure
2. Initialization script
3. Driver script
4. input data spreadsheet
5. process guidelines document

Why folder structure?

In order to create, store, organize and manage files a well defined folder structure required. Folder structure is a mandatory element of any framework, but folder names may vary from one framework to another and company to another .

Folder Structure:

1. Object Repository
2. Environment
3. Library
a) Company
b) Project Specific
4. Test data
5. Test log
6. Recovery scenarios
7. Miscellaneous


1. Initialization script (.vbs file)
2. Driver script (QTP Script file)

1) Object Repository: In this folder we store object repository files(.tsr), all team members can use this repositories.

2) Environment: In this folder we store environment variables files(.xml), all team members can use this variables.

3) Function  Library:this folder contains two sub folders one is for storing common functions of our company, another folder for storing our project specific functions(.vbs).

4) Test Data: in this folder we store test data required for data driven testing, for that we use either .xls files or .txt files or .mdb files.

5) Test Log: In this folder we store test result(excel sheet).

6) Recovery scenarios: In this folder we store qtp recovery scenarios files(.qrs).

7) Miscellaneous: in this folder we store the files other than above files(ex-process guideline doc and messages among team members and instructions by team lead etc).


1) Initialization script (.vbs file): It launches qtp tool and calls driver script, at end it closes qtp tool.
2) Driver script (QTP Script file): It is only the qtp script, we can associate all resources to this script

1 comment:

Anonymous said...

awesome explanation.

Post a Comment