N Dhanasekaran 2008-2009 Quick Test Professional Presentation

54
PREVIOUSLY MERCURY PREVIOUSLY MERCURY INTERACTIVE PRODUCT INTERACTIVE PRODUCT NOW TAKEN OVER BY HP NOW TAKEN OVER BY HP

description

Quick Test Professional Basic concepts presentation slide.

Transcript of N Dhanasekaran 2008-2009 Quick Test Professional Presentation

Page 1: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

PREVIOUSLY MERCURY PREVIOUSLY MERCURY INTERACTIVE PRODUCTINTERACTIVE PRODUCT

NOW TAKEN OVER BY HPNOW TAKEN OVER BY HP

Page 2: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WHY QTP?• MORE USER FRIENDLINESS• MORE FEATURES – MORE

CHECKPTS• BEST FOR .NET AND OTHER WEB

BASED APPLICATION• KEYWORD DRIVEN TESTING

SOLUTION

Page 3: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

DIFFERENT PANES IN QTP

• TEST PANE – SCRIPTS ARE GENERATED

• ACTIVE SCREEN – SNAP SHOTS• DATA TABLE – PARAMETRIZATION• DEBUGGER – BREAKPOINTS,

WATCHLIST, COMMANDS

Page 4: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WHAT TYPE OF TOOL IS QTP

• RECORD AND PLAYBACK TOOL• IT HAS ADDITIONAL FEATURES LIKE

SYNC PT, CHECK PT, OUTPUT VALUES• IT HAS STEP GENERATOR – BUILT IN

FUNCTIONS• IT HAS FUNCTION DEFINITION

GENERATOR – USER DEFINED FUNCTIONS

Page 5: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

ADD-INS• ADD-INS ARE SIMILAR TO HEADER FILES IN C

LANGUAGE• THEY ARE INCLUDED AT THE BEGINNING OF

TESTING SESSIONS SO THAT CLASSES, FUNCTIONS OF PARTICULAR APPLICATION ARE LEARNT BY QTP

• FOR TESTING JAVA APPLICATION, JAVA ADDIN HAD TO BE INCLUED.

• ADDIN MANAGER ENABLES TO MANAGE THE ADDINS INCLUSION.

Page 6: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

TYPES OF VIEWS IN TEST PANE

• TWO TYPES• KEYWORD VIEW – ACTIONS ARE

GENERATED IN TABULAR FORMAT SIMILAR TO MANUAL TEST CASES

• EXPERT VIEW – ACTIONS ARE GENERATED IN VB SCRIPTING

Page 7: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

MODES OF RECORDING• NORMAL MODE – RECORDING BASED

ON PROPERTIES OF GUI• ANALOG MODE – MOUSE MOVEMENTS,

CLICKS, KEYBOARD STROKES• LOW LEVEL – COMBINATION OF ABOVE

TWO – MAINLY FOR RECORDING CUSTOM OBJECTS

Page 8: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT RECOGNITION• MANDATORY PROPERTIES – QTP

ALWAYS LEARNS FOR DIFFERENTIATING OBJECTS

• ASSITIVE PROPERTIES – OPTIONAL PROPERTIES LEARNT WHEN MANDATORY COULDN’T ABLE TO DIFFERENTIATE

Page 9: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT RECOGNITION• ORDINAL IDENTIFIER – THIS IS USED

WHEN BOTH MANDATORY AND ASSITIVE COULDN’T HELP TO DIFFERENTIATE OBJECTS

• ORDINAL IDENTIFIER USES LOCATION INDICATOR AND INDEX INDICATOR TO DIFFERENTIATE OBJECTS

Page 10: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT IDENTIFICATION

• OBJECT IDENTIFICATION IS ANOTHER COMPONENT IN QTP SIMILAR TO GUI CONFIGURATION IN WINRUNNER

• THIS IS USED TO CONFIGURE THE MANDATORY AND ASSITIVE PROPERTIES DEPENDING ON APPLICATION TO BE TESTED.

Page 11: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT REPOSITORY• OBJECT REPOSITORY IS SIMILAR TO GUI

MAP FILE IN WINRUNNER• STORES THE PROPERTIES AND VALUE

OF THE OBJECTS LEARNT DURING RECORDING

• WHILE PLAYBACK OF SCRIPTS, QTP REFERS OBJECT REPOSITORY FOR IDENTIFYING THE OBJECTS

Page 12: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT REPOSITORY• TWO TYPES – PER ACTION, SHARED

REPOSITORY• SHARED IS COMMONLY USED AS SAVES

TIME• LOAD”PATH OF REPORSITORY” IS

FUNCTION USED TO LOAD REPOSITORY RELATED FILES DURING RUNTIME

Page 13: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WHAT ARE TYPES OF PROPERTIES?

• TEST OBJECT – PROPERTIES LEARNT BY QTP WHILE RECORDING THAT IS USED FOR MAPPING WITH ACTUAL OBJECTS

• RUNTIME – PROPERTIES OF ACTUAL OBJECT IN THE APPLICATION

Page 14: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OBJECT SPY• OBJECT SPY IS A COMPONENT IN QTP

THAT HELPS TO LIST THE TEST OBJECT AND RUNTIME PROPERTIES OF THE GUI

• LISTS THE METHODS AND SYNTAX THAT COULD BE IMPLEMENTED ON THAT PARTICULAR OBJECT

• LISTS THE HEIRARCHY OF THE OBJECT IN THE AUT

Page 15: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

CHECK POINTS• STANDARD CHECK POINT – STANDARD

PROPERTIES OF GUI INCLUDES TABLES• BITMAP CHECK POINT – VERIFIES IMAGES AND

BITMAPS• TEXT CHECKPT – WORKS ONLY IN CERTAIN

APPLICATION, BEST TO USE STANDARD CHECK PT

• XML CHECK PT- USED TO VERIFY XML FILES• DATABASE CHECK PT – CUSTOM AND

DEFAULT CHECKS ON DATABASE

Page 16: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

CHECK POINTS• ACCESSIBILITY CHECK PT – USED

TO VERIFY WHETHER THE PAGE IN THE WEBSITE IS BUILD AS PER W3 CONSORTIUM STANDARD OR NOT

Page 17: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

SMART IDENTIFICATION• MAINLY USED FOR VERIFYING DYNAMIC

OBJECTS• THIS CAPTURES BASE FILTER AND

OPTIONAL FILTER PROPERTIES INORDER TO RECOGNIZE THE DYNAMIC OBJECTS

• CAN BE ENABLED THROUGH TOOLS > OBJECT IDENTIFICATION

Page 18: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

OUTPUT VALUES• OUTPUTS THE VALUE OF PROPERTIES

OF GUI DURING RUNTIME• CAN BE VIEWED IN RUNTIME

DATATABLE IN RESULTS WINDOW• MAINLY USED TO GET COLLECTION OF

PROPERTY VALUE OF DYNAMIC OBJECTS

Page 19: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

PARAMETRIZATION• PARAMETRIZATION - PASSING

MULTIPLE SET OF VALUES FOR TESTING

Page 20: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

HOW CAN WE PARAMETRIZE?

• IDENTIFY THE FIXED VALUE THAT NEEDS TO BE PARAMETRIZED

• REPLACE WITH PARAMETER• PASSING VALUE FROM DATA

TABLE

Page 21: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WHAT IS DATA TABLE• INBUILT XL SHEET IN QTP FOR PASSING

VALUES TO PARAMETERS IN RUNTIME• TWO SHEETS – GLOBAL AND ACTION• GLOBAL – DATAS ARE PASSED TO ALL

ACTIONS WITHIN THE SCRIPT• ACTION – DATAS ARE PASSED TO ONLY

PARTICULAR ACTION

Page 22: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WAYS TO PARAMETRIZE..

• DATA TABLE PARAMETER – PASSING THROUGH DATA TABLE

• ACTION/COMPONENT PARAMETER – BY DECLARING INPUT AND OUTPUT PARAMETER IN ACTION PROPERTIES

• ENVIRONMENT PARAMETER – EXTERNAL HOST, URL, VUSER ETC…

• RANDOM PARAMETER – WITHIN NUMERIC RANGE

Page 23: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

Synchronization• Problem due to mismatch between tool

time and application time is sorted using synchronization

• Wait(seconds)• Exist – returns boolean value• Waitproperty(property, value, timeout)• Sync – waits until all objects are

downloaded in a webpage

Page 24: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

TYPES OF ACTIONS• REUSABLE ACTION – THAT CAN BE

CALLED TO ANY SCRIPT• NON REUSABLE – THAT CAN BE

CALLED TO ANY ACTION WITHIN THE SCRIPT AND ONLY ONCE

• EXTERNAL – REUSABLE ACTIONS BUT ARE READ ONLY

Page 25: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

CALLING ACTION• INSERT CALL TO EXISITING ACTION –

CALLS A REUSABLE ACTION, BUT ANY CHANGES WILL BE REFLECTED ON ORIGINAL CALLED ACTION

• INSERT CALL TO COPY OF ACTION – CALLS A REUSABLE ACTION, BUT CHANGES ARE NOT REFLECTED ON ORIGINAL CALLED ACTION

Page 26: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

TRANSACTIONS• TRANSACTIONS ARE NOTHING BUT

TIMER FOR MEASURING TIME TAKEN FOR EXECUTING PARTICULAR TASK

• SERVICES.START TRANSACTION “T1”• SERVICES.END TRANSACTION “T1”• CAN BE USED ANY NUMBER OF TIMES

Page 27: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

DEBUGGING• DEBUGGING – FINDING ERRORS IN THE SCRIPT• BREAKPOINTS – POINT WE CREATE IN THE

SCRIPT WHERE THE EXCUTION OF SCRIPT IS PAUSED

• WATCHLIST – MAINLY FOR BETTER DEBUGGING. USED TO VIEW THE VALUES OF THE PARAMETERS/VARIABLES DURING RUNTIME

Page 28: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

HOW TO HANDLE CUSTOM OBJECTS???

• SOLUTION IS VIRTUAL OBJECT WIZARD

• THIS HELPS TO MAP THE CUSTOM OBJECT WITH THE STANDARD GUIS. HENCE WHILE RECORDING QTP RECOGNIZES EVEN THESE NON STANDARD OBJECTS

Page 29: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

HANDLE THE CHANGING WINDOWS/ OBJECT

PROPERTIES??• THE SOLUTION IS “REGULAR

EXPRESSION”• REGULAR EXPRESSION IS AN

EXPRESSION THAT MAKES QTP TO RECOGNIZE THE OBJECTS THAT HAVE VARYING PROPERTY DURING RUNTIME

Page 30: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

REGULAR EXPRESSION• \ – SYMBOL TO INDICATE IT IS AN

REGULAR EXPRESSION• . – PERIOD MATCHES ONE CHARACTER !

WELCOME. CAN MATCH WELCOMES, WELCOMED

• * - MATCHES ANY NUMBER OF CHARACTER !W*-WHO, WE

• [] – TO INDICATE COLLECTION LIKE • !W[E3] – WE, W3

Page 31: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

REGULAR EXPRESSIONS

• - INDICATES RANGE LIKE [0-9] • ^ INDICATES EXCLUSION LIKE [^A-Z]

WILL NOT ACCEPT UPPER CASE ALPHABETS

• + indicates one or more occurrence of preceding character ca+r – car, caaar and not cr

• \w matches all characters except alphanumeric and underscore

Page 32: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

WHAT ARE EXCEPTIONS???

• EXCEPTIONS ARE NOTHING BUT UNEXPECTED ERRORS THAT CAUSES HINDERANCE DURING THE EXECUTION OF SCRIPTS

• COULD BE DUE TO POP UPS, OBJECT PROPERTY CHANGE, APPLICATION CRASH, TEST RUN

Page 33: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

HOW TO HANDLE EXCEPTION???

• SIMPLE USING RECOVERY SCENARIO MANAGER.

• RECOVERY SCENARIO MANAGER IS A WIZARD THAT GUIDES STEPS TO HANDLE EXCEPTIONS

Page 34: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

RECOVERY SCENARIO MANAGER

• THREE STEPS• TRIGGER EVENT – DEFINE THE

EXCEPTION• RECOVERY OPERATION – DEFINING

THE HANDLER FUNCTION• POST RECOVERY OPERATION.

Page 35: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FUNCTION? PROCEDURE???

• FUNCTION CAN BE INBUILT OR USER DEFINED. IT IS ONE THAT RETURNS A VALUE

• PROCEDURE IS SIMILAR TO FUNCTION BUT DOESN’T RETURN VALUE

Page 36: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

SOME IMPORTANT FUNCTIONS -

SetTOProperty

• SETTOPROPERTY()• PROPERTYNAME, VALUE• DIALOG(“Login”).WinEdit(“Userna

me”).SETTOPROPERTY(“Enabled”,”True”)

Page 37: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

GETTOPROPERTY()• GetTOProperty( propertyname)• Returns the value of the property• Example,• A =

Dialog(“Login”).Winbutton(“OK”).GetTOProperty(“Enabled”)

Page 38: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

GETTOPROPERTIES( )• GetTOProperties()• Lists all the properties and

property values of particular object

Page 39: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

GetROProperty()• GetROProperty(Propertyname)• Returns the runtime property of

the particular object• Dim a • A =

dialog(“login”).Winbutton(“OK”).GETROPROPERTY(“nativeclass”)

Page 40: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

Can we connect database through

QTP???• Answer is yes not through wizard but

through scripting• Set a =

createobject(“ADODB.connection”)• A.open”DSN = Employee.mdb, Username

= xxx, Password = xxxx”• Set b =

createobject(“ADODB.RecordSet”)• B.open”Select * from table1”,a• Msgbox b.recordcount

Page 41: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

File handling• Using QTP it is possible to pass datas from

various files and write data into file• Example to read data from a file• Set a =

createobject(“Scripting.FileSystemObject”)• Set b = a.opentextfile(“path”,0/1/8,”true”)• Str = b.readline• 0 – write mode 1- read mode 8 – append• True/false – file exist or create new

Page 42: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

ChildObjects()• This function is used to return the

list of all objects within the window• Example to count no of objects

within dialog• Set c =

dialog(“Login”).childobjects()• Msgbox c.count

Page 43: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

POPUP()• POPUP(“MSG”,WAIT TIME,

“TITLE”,BUTTON)• EXAMPLE • SET A =

POPUP(“HI”,10,”GREETING”,4)• A WILL BE RETUNED VALUE 6(YES)

AND 7(NO)

Page 44: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

MAXIMIZE WINDOW• MAXIMIZE IS KEYWORD FOR

MAXIMIZING WINDOW/DIALOG• FULLSCREEN IS THE KEYWORD

FOR MAXIMIZING THE BROWSER

Page 45: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

DATATYPE CONVERSION

• CINT() – CONVERTS VAR TO INTEGER

• CLNG() – CONVERTS CURRENCY TO INTEGER

• CCUR()- CONVERTS TO CURRENCY FORMAT

Page 46: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

IS IT POSSIBLE TO OPEN APPLICATION THROUGH

SCRIPTING???• YES!!!• SYSTEMUTIL.RUN “PATH” FOR

OPENING ANY APPLN• INVOKE “PATH” FOR EXE

APPLICATION• EXECUTE “PATH”

Page 47: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

USER DEFINED FUNCTION

• FUNCTIONS THAT ARE REPEATED FOR MANY TIMES • EXAMPLE • PUBLIC FUNCTION SUM(X, Y, Z)• Z = X+Y• END FUNCTION• DIM A, B, C• A = INPUTBOX (“ENTER A”)• B = INPUTBOX(“ENTER B”)• SUM (A,B,C)• MSGBOX C

Page 48: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORKS• FRAMEWORKS ARE SET OF

DEFINED RULES FOR AUTOMATING A TESTING PROCESS

• IT COULD BE SAID AS AUTOMATION TEST APPROACH

Page 49: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORKS• LINEAR FRAMEWORK – RECORDING,

ENHANCEMENT , PLAYBACK• HERE U CREATE SCENARIOS, DO

RECORDING BASED ON SCENARIOS, ENHANCEMENT IS DONE FOR VERIFICATIONS, AND PLAYBACK FOR EXECUTION

Page 50: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORK• DATA DRIVEN – HERE AN

EXTERNAL DATABASE IS MAINTANINED FOR PASSING VALUES TO THE ACTIONS IN QTP

• VALUES ARE COMPLETELY PASSED ONLY THRO THIS DATA SETS

Page 51: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORK• KEYWORD DRIVEN – USING THE

MANULLY ENTERED TABLE THAT DEFINES TESTOBJECT, OPERATION, DATA AND DESCRIPTION, VB SCRIPTS ARE AUTOMATICALLY GENERATED BY QTP

Page 52: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORK• DESCRIPTIVE PROGRAMMING – IT IS A

CONCEPT OF EXECUTION OF SCRIPTS WITHOUT THE REFERENCE OF OBJECT REPOSITORY

• DIALOG(“CLASS = DIALOG”,”CAPTION = Login”).Winbutton(“class = Button”,”Text = OK”).Click

Page 53: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORKS• FUNCTIONAL/MODULAR – HERE

THE ACTIONS ARE DECLARED AS USER DEFINED FUNCTIONS

• THESE FUNCTIONS ARE CALLED WHEREVER NEEDED.

Page 54: N Dhanasekaran 2008-2009 Quick Test Professional Presentation

FRAMEWORK• HYBRID FRAMEWORK – MIX OF

ANY OF THE ABOVE FRAME WORKS ARE CLASSED AS HYBRID.

• DEPENDING ON COMPLEXITY OF THE APPLICATION, MIXES ARE CHOSEN.