Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 89

Automation Testing Training

Introduction To QTP
Session Objectives

 Introduction to Automation
 Benefits of Automated Testing
 Automated Testing Process
 Introduction to QTP and its Salient Features
 Environment Supported
Introduction to Automation

 Drawbacks of Manual testing


Manual Testing
- Manual testing is time-consuming and tedious
- Requiring a heavy investment in human resources
- Time constraints often make it impossible to manually

test every feature thoroughly before the application is

released
- Low reliability
Benefits of Automated Testing

 Why Automation

- Fast
- Reliable
- Repeatable
- Programmable Automated Testing
- Comprehensive
- Reusable
The following XL sheet give you the difference in
Time taken for Manual testing and Automation
Testing.
Sa les Process

Time Taking
Effort (in seconds) for Running
No of Effort (in for Manual (in Seconds)
Script No of Conditions hours) for Running of a ll the for one
Sr.No. Busine ss Process Na me Conditions Automate d Automation conditions itera tion
1 Sales Order Processing S001 32 32 30.4 1500 420
2 Reversal Process S002 7 7 6.65 298 123
3 BOM and Pallets S003 8 8 7.6 512 240
4 Shipment S004 4 4 3.8 395 120
5 POD & X-DOCS S005 10 10 9.5 714 182
6 Free Promotions Goods S006 4 4 3.8 388 124
7 Crate Material S007 3 3 2.85 445 148
8 Generation of Requirement S008 1 1 0.95 422 210
9 Batch Split & Invoice Summary S009 2 2 1.9 630 101
10 Inter company Sales S010 5 5 4.75 555 185
11 Out of Scope 40 0 0
10
Tota l 116 76 72.2 5859 1853

Rebate sProcess

Time Taking
Effort (in seconds) for Running
No. of Effort (in for Manual (in Seconds)
Script No of Condtions hours) for Running of a ll the for one
Sr.No. Busine ss Process Na me Conditions Automate d Automation conditions itera tion
1 Rebate Agreement Processing R001 28 28 26.6 1200 360
2 Out of Scope 2 0 0
Tota l 30 28 26.6 1200 360
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
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
Leading Automation Tools available in the
Market For Functional testing

 WinRunner
 QTP

 Rational Robot

 Silk Test

 QA Run
Automated Testing Process

 Automated testing involves three main steps

Creating Script(s)

Executing Script(s)

Analyzing Result(s)
Advantages of QTP over Win runner

 QTP has user-friendly Browser, At a Glance we can


have a look of Scripts, Active Screen and the Data XL
Sheet.
 QTP uses VB Script while win runner uses TSL which is
C language based
 QTP has Recovery Manager
 QTP generates output values and these can be used as
input values to other Objects
Introduction to QTP

 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,8.0 and 8.2
Salient Features

 Its Active Screen technology offers a Point-and-check


interface for accessing & interacting with the
components of the application under test.
 QTP produces an Icon-Based test tree in which each
branch represents a step in the business process
 Testers can view and edit their test using either the tree
view, an Icon-Based representation, or the expert View,
which reveals the VBScript test that QTP automatically
generates.
 QTP can automatically introduce Checkpoints
Salient Features

 During execution testers can manually insert several types


of check points to verify that the objects continue to
behave as expected. These check points are shown in the
presentation in the later stage

 Testers are able to record their tests so that each action, or


step in the business process are modular & reusable.

 When application under test changes, testers can update


Object Repository, thus the change made is then
propagated across all the scripts that reference to this
object
 EX: In the Authentication screen when the name of
the button is changed to Sign In form Login, Just
make an update in the Object Repository.
Salient Features

 After running a test QTP displays the results in a tress


structure and in clear visual reports
 Scripting Language is VBScript which is easy to use ,
understand and program even complex functionalities with
ease..
 Library files contains VBScript functions and
subroutines that can be added to the test.
 Support Modern Development Environment.
QuickTest testing process

 The QuickTest testing process consists of 7 main phases:

1. Preparing to record
2. Recording a session on your application
3. Enhancing your test
4. Debugging your test
5. Running your test
6. Analyzing the test results
7. Reporting defects
Add–In Manager
 Default
ActiveX
VisualBasic
Web

 Additional

Java
Oracle
PeopleSoft
.Net
Terminal Emulator
Sap, Siebel & Web services
Environments Supported

 Basic Web Technologies


 HTML
 DHTML
 XML
 Browsers
 Netscape
 Internet Explorer
 AOL
 Advanced Web Technologies
 JavaScript
 Java
 ActiveX
Environments Supported

 Multimedia Technologies
 Flash
 RealAudio/Real Video
 MS Media Player
 ERP Solutions
 mySAP.com
 Siebel 2001
 Oracle
 PeopleSoft
 .NET
 Win Forms
 Web Forms
 NET Control
Environments Supported

 Web Services
 XML
 WSDL

 Operating Systems
 Windows XP/2003
 Windows 2000
 Windows 98
 Windows NT
 Windows ME
Environments Supported

 Terminal Emulators

 3270
 5250
 VT100

 Languages

 European
 Japanese
 Chinese (traditional and simplified)
 Korean
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
QTP Screen
Important Toolbars

 Test toolbar: containing buttons to assist you in the


testing process(ex: record,Run..)
 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
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Recording Modes in QTP

 Normal(This mode is the default and takes full advantage of


Quick Test's test object model, recognizing the objects in your
application regardless of their location on the screen)

 Analog Recording (enables you to records the exact mouse


and keyboard operations you perform in relation to either the
screen or the application window. In this recording mode, Quick
Test record and tracks every movement of the mouse as you
drag the mouse around a screen or window. User cannot edit
analog recording steps from within Quick Test)
Recording Modes in QTP

 Low Level Recording (enables you to record on any object in


your application, whether or not Quick Test recognizes the
specific object or the specific operation. This mode records at
the object level and records all run-time objects as Window or
Win Object test objects. Use low-level Recording for Recording
tests in an environment or on an object not recognized by
Quick Test. You can also use low-level Recording if the exact
coordinates of the object are important for your test.)
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Object Repository

 Object Repository acts as a translator between QTP


script and the Operating System ( similar to GUI map
concept in win runner).

 QTP stores information it learns about a window or an


object in object repository

 When QTP runs a test, it uses the object repository to


locate objects. QTP reads an objects description in the
repository and then looks for an object with the same
properties in the application under test.
How QTP Stores Objects

Add objects using Object


Generates Script Repository
object
identification
settings

QTP
TEST SCRIPT
Object Repository

Types of Object Repositories

 Per Action Object Repository

 Shared Object Repository


Object Repository Per Action

TEST 1 Object
Repository
ACTION 1
Object
ACTION 2
Repository

TEST 2
Object
Repository
ACTION 1
ACTION 2
Object
Repository
Shared Object Repository

TEST 1

ACTION 1
ACTION 2

Object
Repository
TEST 2

ACTION 1
ACTION 2
Per Action vs Shared
Object Repository
Per Action Object Repository Shared Object Repository

 Separate action repository  can use the same shared


for each action. object repository file for
 If an object description multiple tests.
changes, you need to  If an object description
modify the object in every changes, you only have to
action repository using that modify in the shared Object
object. Repository – all tests will
 No need for any Object playback properly.
Repository administrator.  Requires Shared object
 Preferred method if repository creation and
application won’t change maintenance.
during renovation  Crucial if application may
 Default Object Repository. change during renovation
Preferable for novice QTP  Most commonly used across
users. Automation projects.
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Object Recognition configuration

 To identify objects uniquely, object identification


configuration can be done. User can configure
Mandatory,Assistive properties and ordinal identifier
 Examples:
 List Box
 Combo Box
 Text Box
 Text Area
Smart Object Identification

 Smart Object Identification to Ensure Successful Test


Execution

 A sophisticated object recognition mechanism allows


tests to automatically recover when object properties are
not found during execution. Quick Test now evaluates
application object properties upon test playback, and can
make decisions based on logical property matches, even
if the recorded object properties are not present.
Smart Object Identification

 Base filter properties—The most fundamental


properties of a particular test object class; those whose
values cannot be changed without changing the essence
of the original object. For example, if a Web link's tag
was changed from <A> to any other value, you could no
longer call it the same object.
 Optional filter properties—Other properties that can
help identify objects of a particular class as they are
unlikely to change on a regular basis, but which can be
ignored if they are no longer applicable
 How does Smart Identification process work?
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
What is Active Screen?

 While recording the screen is captured and stored. In the


tool the same can be seen as “Active Screen”
 The same can be updated by using “Change Active
Screen” Option
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Script View

 Keyword View

 Expert View
Keyword View
Expert View
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
What are Actions?

 Actions help divide your test into logical units


 Group of Statements to perform certain action
 Actions can be nested
 Multiple actions can be called in a single test
 Splitting Actions
 Calling Actions
 Using Action Parameters
 Impact on Object Repository
Actions

 Three Types

 Non–reusable

 Re-usable
 External
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.
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Checkpoints

A checkpoint is a step in your test that compares the actual


values of a specified object property to an expected
value of the same property

Like,
Verify text in status bar
Verify value in a grid
Verify bitmaps (Tick mark in Release strategy )
Checkpoints

 Various Checkpoints are available


 Text / Text Area Checkpoint
 Bitmap Checkpoint
 Database Checkpoint
 XML Checkpoint(File/Webpage)
 Standard Checkpoint(Page/Table/Image/object)
 Accessibility Checkpoint
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Output Values

 An Output value is a step in which one or more values


are captured at a specific point in the test
 Can capture status bar messages
 Can capture object properties and text
 Can store the values in a variable or table
 Text / Text Area Output Value
 Bitmap Output Value
 Database Output Value
 XML Output Value(File/Webpage)
 Standard Output Value
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
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.
Why Synchronize?

 Without synchronization With synchronization point


point

t
ip

T
t

U
r
rip

Sc
T

A
U
Run script
Sc

Run script A

Inputs data Accepts


Inputs data Accepts to AUT input
to AUT input
Attempts Sends data to
next step database server Sends data to
Waits
database server
Script Waits for
fails server;
cannot
continue

Client affirms
Continues transaction is
complete
Process 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.
Synchronization
 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
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Data Driven Testing

 QTP supports Data Driven Testing


 Can use the Data Driver Wizard to parameterize the tests
 Stores data file with extension .XL
 Two types of sheets within the data table “Global” and
“Action”
 Data in “Global” is available across all actions in the test
 Data in “Action” is available only to that action
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.
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Transaction Response Time

 Transaction Response Time is used to measure the


response time of any transaction
 Can be done for a single transaction
 Can be done for multiple transactions
 Results are logged in Test results log for every iteration
 Response time measured from start to end of one
iteration (within login and logoff)
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Recovery scenarios

 QTP can recover from unexpected events and/ or errors


 Control can be transferred to a function
 Useful, when running unattended
 Every Script has at least one recovery scenario
 Generic recovery scenario naming convention is
g<name>
 Script specific recovery scenarios naming convention
is <Script ID>_<name>
Recovery scenarios In QTP

 What is Recovery Scenario


 How to Implement Recovery Scenario
 Types of Recovery Scenario
 Advantage of Recovery Scenario
 Disadvantage of Recovery Scenario
What is Recovery Scenario

 Recovery Scenario is used to control the execution flow


of QTP script.

 To Control the unexpected event or action perform by


the application which we are going to automate.
Recovery Scenario

 Unexpected events, errors, popup window, message,


link and application crashes during a test run can disrupt
your test and distort test results. This is a problem
particularly when running tests unattended—the test is
suspended until you perform the action needed to
recover.
How to Implement Recovery Scenario.

 In QTP the Recovery Scenario Manager provides a


wizard that guides you through the process of defining a
recovery scenario—a definition of an unexpected event
and the operation's necessary to recover the test run.
How to Implement Recovery Scenario.

 Record the Error on which you want to create recovery.


 In QTP go to Tools Menu Option -> select the Recovery
Scenario Manager.
Recovery Scenario Manager
Recovery Event
Recovery Condition
Recovery Operation
Run Option
Save The Recovery Scenario
Tip

 After you have created recovery scenarios, you can


associate one or more scenarios with a test in order to
instruct QuickTest to perform the recovery scenario's
during the test run if a trigger event occurs. The
Recovery tab of the Test Settings dialog box lists all the
recovery scenarios associated with the current test.
To add a recovery scenario to a test
Advantage of Recovery Scenario

 Control the Execution flow of script.


 Handle unexpected behavior of application.
 User define Error Message.
Settings

 When we call Recovery scenario with On Every step


option scrip execution become slow. Call only on
Error.
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Execute Script

Script can be executed in two ways


 Run
 Select Test->Run
 Run from Step
 Select Test->Run from Step
Test Run

Where the Test Results are stored


Two ways
 New folder is created for each run
 Temp folder overwrites last run results

E.g..
T:\QTP_SCRIPTS_FINAL\S007_015\Res1
C:\DOCUME~1\SU2693\LOCALS~1\Temp\TempResults
Test Run
Analyze Result's

Structure of a Test Result log


 Results at an overall level and at step level
 Results at action level rolled up to get summary of
results
 Screen shots help you to verify the flow
 Screen shots available to identify the failures
 Run time data is visible for debugging the failures
Test Results

QTP Test/Step Outcome


 Passed
 Expected Vs actual is same
 Failed
 Expected Vs actual is different
 Done
 Step has been executed
 when unable to execute, marks the step as failed
 Warning
 Step has been executed but QTP logs a message
Test Results

How to view the Test Results


 Select Test->Results

How to check the results of the past runs


 Select Start->QTP->Test Results Viewer

How to delete the past test results


 Select Start->QTP->Tools-> Test Results Deletion
Tool
What you need to Know in QTP?

 How are the objects recognized?


 What is Object Repository?
 What is Object Recognition configuration?
 What is Active Screen?
 What is Keyword View and Expert View?
 What are Actions?
 What are the checkpoints available?
 Output Values
 Synchronization Point
 Data Driven Test?
 Transaction Response Time
 Exception Handling
 Reporting
Any Questions?

? Thanks

You might also like