Vous êtes sur la page 1sur 54

An Introduction to

HP QuickTest Professional (QTP)

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Topics 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Introduction to Automation

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Why Testing tools?

Automated Testing

No Testing

Manual
Testing
>
>
>
>

Time consuming
Low reliability
Human resources
Inconsistent

- Speed
- Repeatability
- Programming
capabilities
- Coverage
- Reliability
- Reusability
- Save Time

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Which 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
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Leading Available Automation Tools

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Salient 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Environments 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Environments 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

The Main Screen


Menu
Bar
File
toolbar

Test
toolbar

Test pane

Object

Action
Screen

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Important 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Test 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Objects
You may have called your button as
button1, but QTP recognizes it
with the name Calculate

HTML Code for the button CALCULATE

<INPUT id=button1 type=button


value=Calculate name= button1 title=""
LANGUAGE=javascript onclick="return
button1_onclick()">

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Object Repository

Object Repositories

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Object 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Per 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Record & Playback

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

To 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Playback

Sprint\zXC
abcde

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Keyword View
1. Actions bring in modularity
2. Iteration can be controlled.
3. Actions can be reused.

1. First name is the name of the edit box.


2. Set is the method

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Expert View

The Expert View uses VBScript

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Check Points in QTP


A checkpoint verifies that expected information is displayed
in your application while the test is running.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Types of Check Points

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Inserting Check Points

Right Click the object and select Insert


Checkpoint.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Analyzing a Test with Check Points

Checkpoint
Failed

Checkpoint
Passed

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Synchronization Points

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

What 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Why Synchronize?
Without synchronization point

Inputs
data to
AUT

Attempts
next step
Script
fails

Run script
Accepts
input
Sends data to
database
server
Waits for
server;
cannot
continue

Inputs data
to AUT

Accepts
input

Waits

Waits

Waits

Continues

Synchronizati
on point

Run script

With synchronization point

Sends data to
database
server

Server
processes
data
Server
returns
results
Client affirms
transaction is
complete

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

How to Add Synchronization Points

Locate the lines in the script to insert the synchronization point

In Quick Test choose Insert > Step > 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

How 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
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Test Parameterization

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

How Long Does it Wait?

TIME PARAMETER (test script)


+
Object synchronization timeout
(Test Settings)
=
TOTAL TIME

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Why 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Parameterization 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Global 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Output 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Analyzing Test Results

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Test Results Window


Test
Results
Tree
Test
Result
Details

Status
Summary

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Test 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Viewing Test Results

Iteration Failed

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Actions

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Actions

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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Creating Actions
Click on the new
Action Icon

Enter the name of the


new Action and assign
its attributes

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Types 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

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Copy 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Call 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Integration of Winrunner,
QTP &
Test Director

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Why 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

QTP & 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Advantages 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Advantages 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.

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Thank You

>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<

Vous aimerez peut-être aussi