Friday, 21 September 2012

Actions

Actions
Action: Set of Statements for perfoming a Task(s)
We divide our test into actions to streamline the process of testing.

Purpose of Actions:

For understandability

For reusing components

Types of Actions:

1) Non Re usable actions
2) Re usable actions
3) External actions

Operations on Actions:

• Creating Actions

• Splitting Actions

• Renaming Actions

• Deleting Actions

• Calling an Action

• Copying an Action

• Making an Action Reusable/Non Reusable

Creating an Action:
Insert>call to new action>enter name of the action>click ok
Steps:

1. Create required actions(ex login, insert,delte)
2. Prepare Scripts for those actions.

Splitting an action:

Navigation: Place cursor in desired location>Edit menu>action>split action>Enter Action 1 name & action 2 name.

Steps:

1. Generate total test in the default action
2. Split into meaningful actions.

Note: At a time we can split one actions into 2 actions.

Renaming actions:
Select desired action in action drop down box> edit menu>action>rename action>modify the name>click ok.

Deleting Actions:
Select desired action in action drop down box>edit menu>action>delete action>confirm deletion.

Calling an action:
Insert>call to existing action>browse path of the test>select desired action>click ok.

Note: U can’t edit

Copying an action:
Insert>call to copy of action>browse path of the test>select desired action>click ok.

Note: we can edit this action.

Making an action reusable:
Select Non Reusable action >edit >action>action properties>check reusable action check box >click ok.
VB Script String Functions
String Functions 
1) Left Function

Returns a specified number of charectors of a given string from left side

Syntax:

variable=Left(string,Lengh)

Example:

Dim val,x
val="Hyderabad"
x=Left(val,3)
msgbox x ' Output: Hyd


val="9247837478"
x=Left(val,1)
msgbox x ' Output: 9


val="H92yderabad"
x=Left(val,3)
msgbox x ' Output: H92


x=Left(9247837478,5)
msgbox x ' Output: 92478

val=#10-10-10#
x=Left(val,3)
msgbox x ' Output: 10/

2) Right Function

Returns a specified number of charectors of a given string from Right side

Example:

Dim val,x
val="Hyderabad"
x=Right(val,3)
msgbox x ' Output: bad


val="9247837478"
x=Right(val,1)
msgbox x ' Output: 8


val="H92yderabad"
x=Right(val,3)
msgbox x ' Output: bad


x=Right(9247837478,5)
msgbox x ' Output: 37478

val=#10-10-10#
x=Right(val,5)
msgbox x ' Output: /2010

3) Mid function

Returns a specified number of charectors of a given string

Example:

Dim val,x
val="Hyderabad"
x=Mid(Val,5,3)
msgbox x ' Output: rab

val="Hyderabad"
x=Mid(Val,5)
msgbox x ' Output: rabad

val="9247837478"
x=Mid(val,6,5)
msgbox x ' Output: 37478


val="H92yderabad"
x=Mid(val,1)
msgbox x ' Output: H92yderabad


x=Mid(9247837478,5)
msgbox x ' Output: 837478

val=#10-10-10#
x=Mid(val,5)
msgbox x ' Output: 0/2010

4) StrReverse

retuns reverse value of a string

Example:

Dim val,x
val="Hyderabad"
x=StrReverse(val)
msgbox x 'Output dabaredyH

val="001"
x=StrReverse(val)
msgbox x 'Output: 100

val=1002
x=StrReverse(val)
msgbox x 'Output: 2001

val=#10-10-10#
x=StrReverse(val)
msgbox x 'Output: 0102/01/01

x=StrReverse("Hyderabad")
msgbox x 'Output: dabaredyH

x=StrReverse(100)
msgbox x 'Output: 001

5) StrComp Function


It compares two string (Binary and textual)

if

a) Both are equal, returns 0(zero)

b) String 1 greater than string 2, returns 1(one)

b) String 2 greater than string 1, returns -1

Example:

Dim str1,str2,x
str1="India"
str2="India"
x=StrComp(str1,str2,1)
msgbox x 'Output 0

str1="india"
str2="INDIA"
x=StrComp(str1,str2,1)
msgbox x 'Output 0

str1="India"
str2="Indian"
x=StrComp(str1,str2,1)
msgbox x 'Output -1

str1="Indian"
str2="Ndia"
x=StrComp(str1,str2,1)
msgbox x 'Output -1

str1="Indian"
str2="India"
x=StrComp(str1,str2,1)
msgbox x 'Output 1

str1=100
str2=100
x=StrComp(str1,str2,1)
msgbox x 'Output 0

str1=100
str2=101
x=StrComp(str1,str2,1)
msgbox x 'Output -1

6) Lcase function

Coverts Upper case values into Lower case

Dim val,x
val="HYDERABAD"
x=Lcase(val)
msgbox x 'Output hyderabad

val="Hyderabad"
x=Lcase(val)
msgbox x 'Output hyderabad

val="HederabaD"
x=Lcase(val)
msgbox x 'Output hyderabad

val="hyderabad"
x=Lcase(val)
msgbox x 'Output hyderabad

x=Lcase("HYDERABAD")
msgbox x 'Output hyderabad


7) Ucase function

Coverts Lower case values into Upper case

Example:

Dim val,x
val="HYDERABAD"
x=Ucase(val)
msgbox x 'Output HYDERABAD

val="Hyderabad"
x=Ucase(val)
msgbox x 'Output HYDERABAD

val="HederabaD"
x=Ucase(val)
msgbox x 'Output HYDERABAD

val="hyderabad"
x=Ucase(val)
msgbox x 'Output HYDERABAD

x=Ucase("HYDERABAD")
msgbox x 'Output HYDERABAD

8) LBound, UBound Functions


Example:


Dim x(3), y(4,5)
Msgbox Lbound(x) '0
Msgbox UBound(x)'3
'Find size of the Array
Msgbox UBound(x)+1
Msgbox Lbound(y,1) '0
Msgbox Lbound(y,2) '0
Msgbox UBound(y,1) '4
Msgbox UBound(y,2) '5

Analyzing Test Results & Reporting



Analyzing Test Results & Reporting

Analyzing the Test Result is not a responsibility of QTP. After Running Tests, User (Test Engineer) has to analyze the test result. and send defect reports.

QTP Result Window:

After Running/Executing a test, then QTP Provide result window. we export test result from result window in Document (.Doc), HTML, XML and PDF formats.

Note: QTP doen't provide batch wise test result, if we execute test batches. It provides test wise result only.

Status of the Result:

QTP has 4 types of result status

a) Pass
b) Fail
c) Done
d) Warning
Defining our own Result:
Generally QTP provides, test results, if we use qtp tool features like checkpoints. suppose if we use flow control statements (conditional and Loop statements), then we have to define our own result.

For defining our own results, QTP is providing an utility object called "Reporter"

by using reporter, we can define our own results.

Syntax:

Reporter.ReportEvent status of the Result,"Result Step","message"

Example"

Reporter.ReportEvent micPass,"Res","Login operation Successful"

exaplanation:

Reporter- Utility object
ReportEvent-Method
micPass-Status of the Result.
Res-Result step
"Login operation Successful"- Message

Status of the Result:

1) Pass -micPass or 0

2) Fail  -micPass or 1

3) Done- micDone or 2

4) Warning- micDone or 3
Reporting Defects
QTP is an Object based Test tool. We can create and execute tests using QTP. QTP Provides, various methods for crating and enhancing Tests.

After Running Tests, QTP provides result in Result window and also provides a facility to define our own Results. Result Exporting facility also available in QTP Result window.

Any how Analyzing Results is the Responsibility of Test Engineer after running tests.

After analyzing results, we can report defects in various methods.

If we are using QTP for Functional Test Automation and Defect management manual, then entering defect details in company prescribed format and sending.

If we are using Bugzilla or Zera or PR-Tracker like Bug Tracking tool, then after analyzing results, if we find any mismatches sending defects through the Bug tracking tool (Every Bug Tracking tool has its own defect report template)

If we are using Quality center for Test management, then we can send defects directly from QTP result window. In between QTP and Quality Center back to back integration is available.

Transaction Points



Inserting Transaction Points

QTP is providing a Utility object called Services for measuring transaction time
Suppose, we want to measure how much time that one test or part of the test is taking for execution/running, we can measure using these transaction point (Start and End) 

Syntax:

Services.StartTransaction “Transaction Name”
Statements
-------
------
Services.EndTransaction “Transaction Name”

Note: these options (Start and End Transactions) available in QTP tool Insert menu

Example:

services.StartTransaction "Login"
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set "naga"
Dialog("Login").WinEdit("Password:").SetSecure "4baf50f18b0ae0d5f5425fe760653e96da50bde7"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Activate
services.EndTransaction "Login"
Note: We can insert number of transaction points in a test

Using Timer Function 


‘Timer’ is a VB Script Built-in function, that can be used for measuring transaction time.
ST=Timer’ It returns elapsed time since 12:00 AM Mid night in seconds
Example:
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set "naga"
Dialog("Login").WinEdit("Password:").SetSecure "4baf50f18b0ae0d5f5425fe760653e96da50bde7"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Activate
ET=Timer
TT=ET-ST
msgbox TT


Note: here ST, ET and TT are variables, you can take any variable, I used:
ST for Start Transaction
ET for End transaction
TT for Transaction Time

Step Generator