An Introduction to QTP - Software Testing Genius

Download Report

Transcript An Introduction to QTP - Software Testing Genius

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 test—the 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 test—Global 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 won’t
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 action’s 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 <<<<<<<<<<<<<<<<<<<<<<