Do you know QTP! :Do you know QTP! Prepared By : Sreelesh Kunnath
What is Automation- :What is Automation- Test Automation is the use of software to control the execution of tests & the comparison of results- actual with the predicted/expected.
A software program that is used to test another software program, this is referred to as Automated software testing.
A third party tool is used to test the application.
Use of automation tools reduces the test time as well as the cost. Tuesday, August 18, 2009 Sreelesh Kunnath 2
Why Automation- :Why Automation- . Avoid the errors that human make when they get tired after multiple repetitions.
. The test program wont skip any test by mistakes.
. Each feature test cycle will take less time & Required less
human intervention.
. Required for Easy cycle of Regression Testing. Tuesday, August 18, 2009 Sreelesh Kunnath 3
Benefits of Test Automation- :Benefits of Test Automation- . Allows more testing to be done
. Strengthen Test Cycle
. Testing is Consistent, repeatable
. Useful when new patches released
. Makes configuration testing easier
. Test battery can be continuously improved Tuesday, August 18, 2009 Sreelesh Kunnath 4
False Benefits- :False Benefits- . Fewer tests will be needed
. It will be easier if it is automated
. Compensate for poor design
. No more Manual Testing Tuesday, August 18, 2009 Sreelesh Kunnath 5
What are the different tools available in the market (for functional testing)- :What are the different tools available in the market (for functional testing)- . Rational Robot
. Win Runner
. QTP
. Silk Test
. QA Run
. Web FT Tuesday, August 18, 2009 Sreelesh Kunnath 6
Life Cycle Of Automation- :Life Cycle Of Automation- Analyze the Application
Select The Tool
Identify the session
Design/ Record Test Scripts
Run the test scripts
Finding & Reporting the defects Tuesday, August 18, 2009 Sreelesh Kunnath 7
What is the diff. between WR & QTP- :What is the diff. between WR & QTP- Tuesday, August 18, 2009 Sreelesh Kunnath 8
Introduction to QTP - :Introduction to QTP - . Developed by Mercury interactive But Now by HP
. Developed for web functionality
.QTP supports both web applications & windows applications
. QTP Developed in 2002
. Test Script developed on VB Script
. QTP supports Languages is
.NET. J2EE, Main Frame, XML,Java
ERP -> SAP, Seibel, People soft
. QTP Supports both Technical & Non Technical People
. QTP run on only windows platform not supporting UNIX, Linux etc Tuesday, August 18, 2009 Sreelesh Kunnath 9
Versions of QTP - :Versions of QTP - QTP 5.5 2002
5.6
6.0 Industry started from this version
6.5
8.0
Rapidly working on(8.0,,9.0)
9.0
9.2
10 Current Version Tuesday, August 18, 2009 Sreelesh Kunnath 10
Environment needs for QTP - :Environment needs for QTP - System Requirement : IBM-PC (or) Equivalent to P3
Hardware Drive : 250MB of Free Memory space
RAM : 256MB of RAM
OS : M/S windows 2000 server with 3-4 service pack
M/S windows XP with 1-2 SP
M/S windows 2003 with no service pack
Web Browser : MS Internet Explorer 5.5
Netscape Navigator 6.11, 6.22, 6.23, 7.02, 7.1
AOL 8.0, 9.0 Tuesday, August 18, 2009 Sreelesh Kunnath 11
Overview of QTP - :Overview of QTP - Testing Process of QTP
Windows Structure of QTP
Add Ins of QTP
Architecture of QTP
Execution process in QTP
Development of Automation Test
Recording Modes in QTP
Object Repository
Object Spy
Transaction
Virtual Object
Check Points
Actions
Exception Handling
Object identification
Ordinal Identifier
Smart Identification Tuesday, August 18, 2009 Sreelesh Kunnath 12
Overview of QTP - :Overview of QTP - Output Values
Synchronization point
QTP Run Modes
Regular Expressions
Descriptive Programming
Environment Variables
VB-Script
Hoe to work with Functions
Associated Library Tuesday, August 18, 2009 Sreelesh Kunnath 13
Testing Process of QTP - :Testing Process of QTP - 1) Record & Run Settings
2) Develop Automation Testing
3) Enhance/ Customize Automation test
4) Debug Automation Test
5) Execute Automation Test
6) Analyze Test Results
7) Report defects in bug tracking tool Tuesday, August 18, 2009 Sreelesh Kunnath 14
Window Structure of QTP - :Window Structure of QTP - 1) Test Pane
2) Active Screen
3) Data Table
4) Debug Viewer Tuesday, August 18, 2009 Sreelesh Kunnath 15
Add Ins of QTP - :Add Ins of QTP - It gives information about the technology supported by the QTP
By default three Add Ins are there in QTP
1) ActiveX
2) VB
3) Web
Additional Add ins:
1) Java
2) Oracle
3) People soft
4) .NET
5) Terminal Emulator
6) SAP
7) Siebel Tuesday, August 18, 2009 Sreelesh Kunnath 16
Add In Manager :Add In Manager Tuesday, August 18, 2009 Sreelesh Kunnath 17
Architecture Of QTP - :Architecture Of QTP - Execution Process in QTP
Development of Automation Test
Recording
Writing
Function Generator Tuesday, August 18, 2009 Sreelesh Kunnath 18
Recording Modes of QTP - :Recording Modes of QTP - There are three recording modes in QTP -
1)Normal Recording Mode
2) Analog Recording Mode
3) Low Level Recording Mode Tuesday, August 18, 2009 Sreelesh Kunnath 19
Record a Test :Record a Test Tuesday, August 18, 2009 Sreelesh Kunnath 20
Record & Run Settings- :Record & Run Settings- Tuesday, August 18, 2009 Sreelesh Kunnath 21
Run a Test and Save Results- :Run a Test and Save Results- Tuesday, August 18, 2009 Sreelesh Kunnath 22
View Test Results- :View Test Results- Tuesday, August 18, 2009 Sreelesh Kunnath 23
Object Repository- :Object Repository- Object Repository is nothing but a storage location. It contains the collection logical name and physical description of a particular object.
Logical Name: For Naming Convention
Physical Description : is Nothing but expected physical properties
Two types of Object Repositories are available in QTP-
1) Per Action (.mtr)
2) Shared Object Repository (.tsr) Tuesday, August 18, 2009 Sreelesh Kunnath 24
Open the Object Repository Dialog Box- :Open the Object Repository Dialog Box- Tuesday, August 18, 2009 Sreelesh Kunnath 25
Object Spy- :Object Spy- Object spy is used to display or view all the physical properties and methods of an object or a window based on the requirement.
Example: If window(“Login”). Exists Then
Msgbox(“Pass”)
else
Msgbox(“Fail”)
End If Tuesday, August 18, 2009 Sreelesh Kunnath 26
Virtual Object- :Virtual Object- Virtual Object is used to identify the properties of similar objects in a particular Area.
Example: In normal recording if we select the paint brush window, the script will look like this-
window(“Paint”).Activate
Window(“Paint”).Winobject(“colors”).Click 72,16
Window(“Paint”).Winobject(“colors”).Click 80,14
window(“Paint”).Close
If we are using Virtual object, the script will look like this-
window(“Paint”).Activate
Window(“Paint”).Winobject(“colors”).Virtual Button(“RED”)
Window(“Paint”).Winobject(“colors”).Virtual Button(“BLUE”)
window(“Paint”).Close Tuesday, August 18, 2009 Sreelesh Kunnath 27
Check Points- :Check Points- Check Point is a verification point that compares the current value of the specified property with the expected value for that property.
There are 9 types of check points are available in QTP.
They are-
1) Standard Check Point
2) Text/ Text Area Check Point
3) Bitmap Check point
4) Database Check Point
5) Table Check Point
6) Page Check Point
7) XML Check Point
8) Image Check Point
9) Accessibility Check Point Tuesday, August 18, 2009 Sreelesh Kunnath 28
Checkpoint Types :Tuesday, August 18, 2009 Sreelesh Kunnath 29 Checkpoint Types
Inserting a Checkpoint During Recording- :Inserting a Checkpoint During Recording- Tuesday, August 18, 2009 Sreelesh Kunnath 30
Insert a Checkpoint After Recording- :Insert a Checkpoint After Recording- Tuesday, August 18, 2009 Sreelesh Kunnath 31
Identifying a Failed Checkpoint- :Identifying a Failed Checkpoint- Tuesday, August 18, 2009 Sreelesh Kunnath 32
Actions- :Actions- Action is nothing but a logical portion to entire script file based on the requirement. Each and every action should have meaningful result.
Types of Actions:
1) Regular (By default)
2) Reusable
3) External
How to work with Actions:
1) Call to copy of Action
2) Call to Existing Action Tuesday, August 18, 2009 Sreelesh Kunnath 33
Data Driven Test- :Data Driven Test- Testing the same application with multiple sets of data.
How to use parameterization:
Ex:
Before parameterization
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“name”).Set ”Axis”
Dialog(“Login”).WinEdit(“Password).SetSecure”axisitt”
Dialog”Login”.Close
After Parameterization
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Login name”).Set DataTable(”name”, dtglobalsheet)
Dialog(“Login”).WinEdit(“Password). (”password”, dtglobalsheet) Dialog”Login”.Close Tuesday, August 18, 2009 Sreelesh Kunnath 34
Using Data Sheet (Global, Local & Location)- :Using Data Sheet (Global, Local & Location)- Tuesday, August 18, 2009 Sreelesh Kunnath 35
Setting the Parameter Value- :Setting the Parameter Value- Tuesday, August 18, 2009 Sreelesh Kunnath 36
Test Results Iterations- :Test Results Iterations- Tuesday, August 18, 2009 Sreelesh Kunnath 37
Exception Handling- :Exception Handling- It enables Quick test to detect and handle when unexpected
error occurred during execution time.
Types of Exception Handling:
1) Popup Exception Handling
2) Object State Exception Handling
3) Test Run Exception Handling
4) Application Crash Tuesday, August 18, 2009 Sreelesh Kunnath 38
Object Identification- :Object Identification- By using object identification we can map “customer user defined object” to “standard Class”.
Two types of properties are their in object Identification:
1) Mandatory Properties
2) Assistive properties Tuesday, August 18, 2009 Sreelesh Kunnath 39
Ordinal Identifier- :Ordinal Identifier- By using ordinal identifier options quick test able to identify an
object under ordinal identifier.
Three Components are available in ordinal identifier
1) Index
2) Location
3) Creation time Tuesday, August 18, 2009 Sreelesh Kunnath 40
Smart Identification- :Smart Identification- Quick test unable to identify the object, it is change randomly. To identify such object we need to use Smart Identification.
Two properties are available in Smart identification
They are-
1) Base Filter Properties
2) Optional Filter Properties Tuesday, August 18, 2009 Sreelesh Kunnath 41
Synchronization Point- :Synchronization Point- Synchronization point maintains the time coordination between testing process and your application process.
There are 4 types of synchronization points:
1) Sync
2) Wait, wait(5) or wait 5
3) Wait Property
4) Exist Tuesday, August 18, 2009 Sreelesh Kunnath 42
QTP Test Run Modes- :QTP Test Run Modes- In QTP, we have 2 types of run modes-
1) Normal
2) Fast Tuesday, August 18, 2009 Sreelesh Kunnath 43
Regular Expressions- :Regular Expressions- It enables quick test to identify test string with varying value (varying means changing)
Regular Expressions can be used in the following areas:
1) Check Points
2) In parameterization
3) Data Driven test
4) Actions
5) Exception Handling….etc Tuesday, August 18, 2009 Sreelesh Kunnath 44
Using a Regular Expression- :Using a Regular Expression- Tuesday, August 18, 2009 Sreelesh Kunnath 45
Some Regular Expressions- :Some Regular Expressions- Tuesday, August 18, 2009 Sreelesh Kunnath 46
Descriptive Programming- :Descriptive Programming- Without using the object repository test engineer can develop automation test in this particular accept, we need to use a technique called as descriptive programming.
Script:
Dialog(“test:=Login”).Activate
Dialog(“text;=Login”).wineidt(“attached text:= Login name”). Set “Axisitt”
Dialog(“text:=Login”).wineidt(“attached text:= Password”). Set “88888” .
Dialog(“text:=Login”).Close Tuesday, August 18, 2009 Sreelesh Kunnath 47
How to work with Environmental variables- :How to work with Environmental variables- it is a special type of variable which is use to expose the data related to environment.
Environment Variables
Built In user defined
Internal External Tuesday, August 18, 2009 Sreelesh Kunnath 48
Best Practice and tips :VB Script
Associated library
How to work with methods
How to work with functions
Back End testing
How to work with Win Runner
How to connect Quality center Tuesday, August 18, 2009 Sreelesh Kunnath 49 Best Practice and tips
Comments & Queries- :Comments & Queries- Queries are always welcome. Tuesday, August 18, 2009 Sreelesh Kunnath 50
Feedback- :Feedback- -Please spend few minutes from your
valuable time to provide your feedback.
-if helpful please mail sreelesh.kunnath@ust-global.com
-if any query please mail sreelesh.kunnath@gmail.com
Thanks & Happy Automation future Tuesday, August 18, 2009 Sreelesh Kunnath 51