Title: An Introduction to QTP
1An Introduction to HP QuickTest Professional
(QTP)
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
2Topics being Covered
- Introduction to Automation
- Introduction to QTP and its Salient Features
- Environment Supported
- Creating and Enhancing a test suite
- Integration of QTP with Winrunner and Test
director
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
3Introduction to Automation
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
4Why Testing tools?
- - Speed
- - Repeatability
- - Programming capabilities
- - Coverage
- - Reliability
- - Reusability
- - Save Time
- Time consuming
- Low reliability
- Human resources
- Inconsistent
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
5Which Test Cases to Automate?
- Tests that need to be run for every build of the
application (sanity check, regression test) - Tests that use multiple data values for the same
actions (data driven tests) - Stress/load testing
- Tests requiring a great deal of precision
More repetitive execution! Better candidate for
automation. REGRESSION TESTING
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
6Leading Available Automation Tools
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
7 QTP An Introduction
- Quick Test Professional is the flagship
functional testing tool from Mercury Interactive.
- It is an icon based tool, which automates the
functional regression testing of an
application. - QTP is easier to use and implement for both
technical non technical testers in comparison
to other functional testing tools available. - Latest Available versions is QTP 10.0
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
8Salient Features
- Scripting Language is VBScript which is easy to
use , understand and program even complex
functionalities with ease.. - Uses Active Screen technology to record scripts
which aids the tester in referring to the screens
object properties. - Library files contains VBScript functions and
subroutines that can be added to the test. - Support Modern Development Environment.
-
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
9Environments Supported
- Basic Web Technologies
- HTML
- DHTML
- XML
- Browsers
- Netscape
- Internet Explorer
- AOL
- Advanced Web Technologies
- JavaScript
- Java
- ActiveX
- Multimedia Technologies
- Flash
- RealAudio/Real Video
- MS Media Player
- ERP Solutions
- mySAP.com
- Siebel 2001
- Oracle
- PeopleSoft
- .NET
- Win Forms
- Web Forms
- NET Control
- Web Services
- XML
- WSDL
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
10Environments Not Supported
- Custom C/S
- PowerBuilder
- Forte
- Delphi
- Centura
- Stingray
- SmallTalk
- ERP/CRM
- Baan
- PeopleSoft Windows
- Siebel 5, 6 GUI Clients
- Oracle GUI Forms
By using Addin we can access some of these
environments
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
11The Main Screen
Menu Bar
File toolbar
Test toolbar
Test pane
Object
Action Screen
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
12Important Toolbars
- Test toolbar containing buttons to assist you in
the testing process - Debug toolbar containing buttons to assist you
in debugging your test - Action toolbar containing buttons and a list of
actions, enabling you to view the details of an
individual action or the entire test flow - Test pane containing two tabs to view your
testthe Keyword View and the Expert View - Test Details pane containing the Active Screen
- Data Table containing two or more tabs to assist
you in parameterizing your testGlobal and one
tab for each Action
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
13 Test Object Model
- This is a large set of object types or classes
that Quick Test uses to represent the objects in
AUTs - Properties
- Methods
- A test object is an object that
- - represents the actual object
- - stores information about that object.
- A run-time object is the actual object in the
AUT.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
14Test Object Model
Test Object
Run Time Object
QTP Test Object Modeling
Quick Test Professional maps the Run Time Object
to a Test Object already present in its
repository.
Once recognized it can repeat all our actions.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
15Objects
You may have called your button as button1, but
QTP recognizes it with the name Calculate
HTML Code for the button CALCULATE ltINPUT
idbutton1 typebutton valueCalculate name
button1 title"" LANGUAGEjavascript
onclick"return button1_onclick()"gt
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
16Object Repository
Object Repositories
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
17Object Repository
Object Repositories
- Object Repository acts as a translator between
QTP script and the Operating System ( similar to
GUI map concept in win runner). - Types of Object Repositories
- Shared Object Repository
- Per Action Object Repository
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
18Per Action vs Shared Object Repository
- Per Action Object Repository
- Separate action repository for each action.
- If an object description changes, you need to
modify the object in every action repository
using that object. - No need for any Object Repository administrator.
- Preferred method if application wont change
during renovation - Default Object Repository. Preferable for novice
QTP users.
- Shared Object Repository
- can use the same shared object repository file
for multiple tests. - If an object description changes, you only have
to modify in the shared Object Repository all
tests will playback properly. - Requires Shared object repository creation and
maintenance. - Crucial if application may change during
renovation - Most commonly used across Automation projects.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
19Record Playback
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
20To Record a Test
- Steps to follow
- 1 Open Quick Test.
- 2 Open a test
- To create a new test, click on New
- To open an existing test, click on Open
- 3 Click the Record button If you are recording
for the first time the Record and Run Settings
dialog box opens.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
21Playback
Sprint\zXC
abcde
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
22Keyword View
1. Actions bring in modularity 2. Iteration can
be controlled. 3. Actions can be reused.
- First name is the name of the edit box.
- Set is the method
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
23Expert View
The Expert View uses VBScript
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
24Check Points in QTP
A checkpoint verifies that expected information
is displayed in your application while the test
is running.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
25Types of Check Points
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
26Inserting Check Points
Right Click the object and select Insert
Checkpoint.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
27Analyzing a Test with Check Points
Checkpoint Failed
Checkpoint Passed
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
28Synchronization Points
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
29What is a Synchronization Point?
- A synchronization point is a line in the test
script that instructs QTP to wait for a certain
response from the application during playback.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
30Why Synchronize?
Without synchronization point
With synchronization point
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
31How to Add Synchronization Points
- Locate the lines in the script to insert the
synchronization point - In Quick Test choose Insert gt Step gt
Synchronization Point. The mouse pointer turns
into a pointing hand. This should be done while
recording. - Using the Hand Pointer click on the object to
Synchronize. - Add Synchronization Point dialog box opens.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
32How to Add Synchronization Points
- Select the Property name and its corresponding
value which you want to use for the
synchronization point. - Enter the synchronization point timeout (in
milliseconds) and Click OK. A Wait Property step
is added to your test. - For e.g for this case the step inserted in the
script will be - Dialog(Login).WaitProperty "enabled", 1, 10000
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
33Test Parameterization
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
34How Long Does it Wait?
- TIME PARAMETER (test script)
-
- Object synchronization timeout (Test Settings)
-
- TOTAL TIME
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
35Why Parameterization ?
- Parameterization allows us to pick different
values at run time. - Reduces Time and Effort.
- Usage of data drivers allow us to use the same
data for various input boxes. - Parameterization can also be done for
checkpoints.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
36Parameterization Continues
1. The hard coded values can be made to vary. 2.
The values will be taken from the excel sheet. 3.
Right click on the object name and select method
arguments
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
37Global and Action Data Sheets
- The Data Table contains two types of sheets
- Global sheet This enables you to share
information from one action to another. Should be
used for data drivers and Output Values. - Action Sheet Each action also has its own sheet
in the Data Table so that you can insert data
that applies only to that action. - When there are parameters in a current actions
sheet, you can set Quick Test to run one or more
iterations on that action before continuing with
the current global iteration of the test.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
38Output Values
- Used when the output for one action is to be used
as an input for a subsequent action. - This can be parameterized.
- Even labels can be used as output values.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
39Analyzing Test Results
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
40Test Results Window
Test Results Tree
Test Result Details
Status Summary
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
41Test Results
- Test Results Tree - an icon-based view of the
steps that were performed while the test was
running. Similar to the test tree in Quick Test
main screen - Iteration Summary Provides the Status
(pass/Fail) of each iteration individually. - Status Summary - Indicates the number of
checkpoints or reports that passed, failed, and
raised warnings during the test.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
42Viewing Test Results
Iteration Failed
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
43Actions
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
44Actions
- Actions can divide a test into several distinct
business Processes. - Each actions signifies a logical independent
test. - To divide a test into actions you can
- Insert a New Action
- Split an existing action into two Actions
- Insert a copy of an existing Action
- Insert a call to an existing Action
- In this way several actions can be integrated to
each other within the test or across different
tests logically.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
45Creating Actions
Click on the new Action Icon
Enter the name of the new Action and assign its
attributes
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
46Types of Actions
- Reusable Action
- Can be reused in the same test multiple times.
- Can be used in another test
- Read Only
- Parameter data can be from a
- local excel (Editable)
- original action sheet (Read Only)
- Nested Action
- An action within an action.
- Helps maintain the modularity of your test
- Enables to run one action or another based on the
results of a conditional statement
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
47Copy of an Action
- A lightweight protocol for exchange of
information in a decentralized, distributed
environment. - An XML notation for describing how messages are
assembled and transmitted over HTTP between
service consumers (clients) and service
providers (servers) - XML based protocol that consists of three parts
- Envelope describes the contents of a message and
how to process it, and contain extra details such
as security information or the final destination
of the message. - Header is a generic mechanism for adding features
to a SOAP message in a decentralized manner
without prior agreement between the communicating
parties. - The Body is a container for mandatory information
intended for the ultimate recipient of the
message.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
48Call to an Action
- Calls to actions are read-only in the calling
test. They can only be modified in the test in
which they were created. - Enables you to use the same action in several
tests and makes it easy to maintain tests. - Can make calls to only Reusable actions.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
49Integration of Winrunner, QTP Test Director
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
50Why Integrate QTP ?
- With Win Runner
- Facilitates running Win Runner tests and call TSL
functions in compiled modules with parameters by
creating calls to Win Runner tests and functions. - With Test Director (TD)
- TD, Mercury Interactive test management tool, can
help you organize and control the testing
process. It provides an intuitive and efficient
method for scheduling and running tests,
collecting test results, analyzing the results,
and managing test versions.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
51QTP WinRunner
- QTP can easily be integrated with Win Runner,
Test Director and Load Runner. - If the Winrunner is already installed and being
used, then QTP can be added without the loss of
Winrunner scripts. - Quick Test Pro will be able to call Win Runner
Scripts. - A single test can contain both Winrunner QTP
scripts.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
52Advantages of QTP over other Functional
Automation tools
- Easy to use, icon based scripts. Easier for non
technical testers to learn. - Usage of VBScript language for scripting which is
very powerful ,has lots of capabilities and can
program even complex functionalities with ease. - The active screen technology allows the person
writing script to pick-up values that may have
been left out during recording. This helps to
reduce re-work for scripting.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
53Advantages of QTP over other Functional
Automation tools
- Supports .Net, XML and other modern
Environments. - Test Run Iterations/Data driven testing is much
easier and better implemented with QTP. Capturing
output values add data driven testing more kick
and flexibility. - Can create and implement the Microsoft Object
Model (Outlook objects, ADO objects, FileSystem
objects, supports DOM, WSH, etc.). - Provides ability to trap exceptions and handle
them using inbuilt functions or user defined
ones.
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt
54Thank You
gtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgtgt www.softwaretestinggenius.
com ltltltltltltltltltltltltltltltltltltltltltlt