Upload
john-harvey
View
218
Download
2
Tags:
Embed Size (px)
Citation preview
Introduction to QTPIVS-TRAININGIVS-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
Introduction to Automation
Why Use Testing Tools?
No TestingNo Testing Manual TestingManual Testing
• Time consuming• Low reliability• Human resources• Inconsistent
Automated TestingAutomated Testing
SpeedRepeatabilityProgramming
capabilitiesCoverageReliabilityReusabilitySave Time
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.
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
Name Product Of
Winrunner Mercury Interactive
Silk Test Segue
QA Run Compuware
Rational Robot Rational
Quick Test Professional
Mercury Interactive
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.
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.
Environments Supported
Basic Web Technologies
HTML
DHTML
XML
Browsers
Netscape
Internet Explorer
AOL
Advanced Web Technologies
JavaScript
Java
ActiveX
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
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
The Main Screen
This image is courtesy the Quick Test Professional Manual
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
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.
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?
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
Object RepositoryObject Repository
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
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.
Record & Playback
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.
Playback
Itlinfosys\Rashmi_rajabcde
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
Expert View
The Expert View uses VB Script.
But Beware! Don’t try out Scripting using VBSCRIPT directly.
A checkpoint verifies that expected information is displayed in your application while the test is running.
Check Points in QTPCheck Points in QTP
Check Point Types
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.
Analyzing a Test with Check Points
CheckpointFailed
Checkpoint Passed
Synchronization PointSynchronization 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.
What is a Synchronization Point?
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
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
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
Parameterizing Tests
How Long Does it Wait?
TIME PARAMETER (test script)
+
Object synchronization timeout (Test Settings)
=
TOTAL TIME
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.
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
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.
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.
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.
Analyzing Test Results
Test Results WindowTest Results Tree
Test Result Details
Iterations SummaryStatus Summary
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.
Viewing Test Results
Iteration Passed
Iteration Failed
Actions
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.
Creating Actions
Click on the new Action Icon
Enter the name of the new Action and assign its attributes
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
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.
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.
Integration of Winrunner, QTP & Test Director
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.
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.
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.
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.
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.
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).
References
Mercury Interactive Tutorial
Questions?
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]