introduction to qtpivs-training ground rules mute the mobile phones stick to timelines help each...

62
Introduction to QTP IVS-TRAINING IVS-TRAINING

Upload: john-harvey

Post on 27-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Introduction to QTPIVS-TRAININGIVS-TRAINING

Page 2: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Ground Rules

Mute the mobile phones

Stick to timelines

Help each other in learning

Speak out as much as possible

Page 3: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

• 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

• Licensing Mechanism

Session Objectives

Page 4: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Introduction to Automation

Page 5: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Why Use Testing Tools?

No TestingNo Testing Manual TestingManual Testing

• Time consuming• Low reliability• Human resources• Inconsistent

Automated TestingAutomated Testing

SpeedRepeatabilityProgramming

capabilitiesCoverageReliabilityReusabilitySave Time

Page 6: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

More repetitive execution!Better candidate for automation.

Page 7: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Which Test Cases Not to Automate?

Usability testing "How easy is the application to use?"

One-time testing

"ASAP" testing "We need to test NOW!"

Ad hoc/random testing based on intuition and knowledge of application

Page 8: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Leading Automation Tools available in the market

Name Product Of

Winrunner Mercury Interactive

Silk Test Segue

QA Run Compuware

Rational Robot Rational

Quick Test Professional

Mercury Interactive

Page 9: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Available versions are QTP 6.0 , 6.5 and 8.0.

Page 10: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 11: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Environments Supported

Basic Web Technologies

HTML

DHTML

XML

Browsers

Netscape

Internet Explorer

AOL

Advanced Web Technologies

JavaScript

Java

ActiveX

Page 12: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Environments Supported Contd… 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

Page 13: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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

Page 14: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

The Main Screen

This image is courtesy the Quick Test Professional Manual

Page 15: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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

Page 16: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 17: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

QTP Test Object Modeling

Test Object Model

Test ObjectRun Time Object

Quick Test Professional maps the Run Time Object to a Test Object already present in its repository. Eg, It may map your brand new Ferrari to the ambassador in its repository… What is important is that it should recognize.Once recognized it can repeat your actions.

Easy as pie…Right?

Page 18: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Objects

HTML Code for the button HTML Code for the button CALCULATECALCULATE

<INPUT id=button1 type=button <INPUT id=button1 type=button value=“Calculate” name= value=“Calculate” name= “button1” title="" “button1” title="" LANGUAGE=javascript LANGUAGE=javascript onclick="return onclick="return button1_onclick()">button1_onclick()">

You may have called your button as button1, but QTP recognizes itwith the name Calculate

Page 19: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Object RepositoryObject Repository

Page 20: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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

Object Repository

Page 21: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 22: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Record & Playback

Page 23: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 24: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Playback

Itlinfosys\Rashmi_rajabcde

Page 25: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Keyword View

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

1. TextEmpNo is the name of the edit box.

2. Set is the method

Page 26: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Expert View

The Expert View uses VB Script.

But Beware! Don’t try out Scripting using VBSCRIPT directly.

Page 27: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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

Check Points in QTPCheck Points in QTP

Page 28: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Check Point Types

Page 29: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Inserting Check Points

Right Click the object and select Insert Checkpoint.

The checkpoints can validate the outputs.These can also be made parameterized.Regular Expressions can be used as well.

Page 30: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Analyzing a Test with Check Points

CheckpointFailed

Checkpoint Passed

Page 31: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Synchronization PointSynchronization Point

Page 32: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

A synchronization point is a line in the test script that instructs QTP to wait for a certain response from the application during playback.

What is a Synchronization Point?

Page 33: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Sends data to database serverWaits

Why Synchronize?

Inputs data to AUT

Acceptsinput

Run scriptScr

ipt

AUT

Sends data to database server

Attemptsnext step

Without synchronization point

ContinuesClient affirms transaction is complete

Inputs datato AUT

Acceptsinput

Scrip

t

AUT

Run script

With synchronization point

Waits Server processes data

Server returns resultsWaits S

ynch

ron

izat

ion

p

oin

t

Waits for server; cannot continue

Script fails

Page 34: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Process To Add Synchronization Points

Page 35: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Synchronization continuedSynchronization continued

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 eg for this case the step inserted in the script will be Dialog(“Login”).WaitProperty "enabled", 1, 10000

Page 36: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Parameterizing Tests

Page 37: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

How Long Does it Wait?

TIME PARAMETER (test script)

+

Object synchronization timeout (Test Settings)

=

TOTAL TIME

Page 38: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 39: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Parameterization Continued

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

Page 40: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 41: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 42: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Output Values Continued

Step 1. Parameterize one input field

Step 2. Select the output value, and store in the excel sheet.

Step 3. QTP will pick values from the excel sheet and further use them.

Page 43: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Analyzing Test Results

Page 44: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Test Results WindowTest Results Tree

Test Result Details

Iterations SummaryStatus Summary

Page 45: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 46: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Viewing Test Results

Iteration Passed

Iteration Failed

Page 47: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Actions

Page 48: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 49: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Creating Actions

Click on the new Action Icon

Enter the name of the new Action and assign its attributes

Page 50: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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

Click for creating

New Actions

Page 51: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Copy of an Action

When you make a Copy of an Action , the action is copied in its entirety, including checkpoints, parameterization, and the corresponding action tab in the Data Table.

When you insert a copy of an existing action, you can make changes to the copied action, and your changes will not affect nor be affected by any other test.

can insert copies of both reusable and non-reusable actions.

Page 52: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

Page 53: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Integration of Winrunner, QTP & Test Director

Page 54: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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’s 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.

Page 55: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

QTP & Win runner

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.

Page 56: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

QTP & Test Director

The integration of QTP and Test Director (TD) is the same as it is for WR and TD.

Test Sets, Test Runs, etc. are able to be created using Quick Test Pro scripts.

Since TD can handle both WR and QTP scripts in a Test Set, both can be present in the same run.

Page 57: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

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.

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.

Page 58: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Licensing Mechanism

Local License: This license is specific to the computer where Quick Test is installed. Each installation requires a distinct license code.

Floating License: There is no limit to the number of Quick Test installations on the network, but a floating-license server regulates the number of concurrent users that can work with Quick Test at any time.

Page 59: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Information on how to get the license for Hands on!

Whom to Contact ?

Shoot a mail to [email protected] asking for access to any machine with QTP loaded in the same.

For any other queries mail to IVS_TRAINING

(IVS have some “Node locked” Training licenses for QTP for training and evaluation purposes).

Page 60: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

References

Mercury Interactive Tutorial

Page 61: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Questions?

Page 62: Introduction to QTPIVS-TRAINING Ground Rules Mute the mobile phones Stick to timelines Help each other in learning Speak out as much as possible

Thank You!!

IVS-TRAINING

Please note that submission of Course and Instructor feedback is mandatory for availing attendance for the Course.

Any doubts or suggestions for improvement can be forwarded to: [email protected]