tarun lalwani - best practices for your hp bpt framework
DESCRIPTION
Presented at the HP Discover 2011 on topic - "Best Practices for your HP BPT Framework". The presentation covers few aspects of working with BPT and some new innovative thoughts to improve performance and maintainability.The speaker Tarun Lalwani is author to the best selling QTP book - "QuickTest Professional Unplugged". The book was recognized as the Best Automation book in the 2nd ATI Automation Honors awardTRANSCRIPT
![Page 1: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/1.jpg)
![Page 2: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/2.jpg)
©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
BEST PRACTICES FOR YOUR HP BUSINESS PROCESS TESTING FRAMEWORK - Doing it the right way
Tarun Lalwani
![Page 3: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/3.jpg)
©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
ABOUT THE SPEAKER- Tarun Lalwani
![Page 4: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/4.jpg)
About the Speaker – Tarun Lalwani
4 Best Practices for your BPT Framework
• Working with Infosys since 2004
• Working on QTP since version 8.2
• 16000+ Posts on various QTP Forums
• Author of the first ever book on QTP – “QuickTest Professional Unplugged”
• Winner of QTP 11 Beta – Best Feedback Award
• Winner of 2nd ATI Automation Honour Awards
• Expertise in Framework design using QTP, QC and BPT
![Page 5: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/5.jpg)
BUSINESS PROCESS TESTING
![Page 6: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/6.jpg)
Scenario – Create and Approve User
6 Best Practices for your BPT Framework
• Consider steps for a user creation and approval scenario– Launch the application
– Login using customer care user id
– Create a new user
– Logout and close the application
– Launch the application
– Login using admin user id
– Approve the new user
– Logout and close the application
![Page 7: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/7.jpg)
Typical BPT Design for the Scenario
7 Best Practices for your BPT Framework
• Create re-usable components– Launch Application
– Login
– Create User
– Approve User
– Logout
– Close Application
![Page 8: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/8.jpg)
Facts About the Design
8 Best Practices for your BPT Framework
• Created 6 reusable components
• Easy to use and remember
• 10 components called in the Business Process Test
• High reusability
![Page 9: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/9.jpg)
OPTIMIZING SCRIPTS
![Page 10: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/10.jpg)
Optimizing Scripts
10 Best Practices for your BPT Framework
• Scripts can be optimized in different ways– Reducing unnecessary parameters (run-time or hardcoded)
– Reducing test data needs using concepts of Smart Tags
– Reducing # of components required to implement scripts
– Creating scripted components with more flexibility
![Page 11: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/11.jpg)
SMART TAGS
![Page 12: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/12.jpg)
Smart Tags
12 Best Practices for your BPT Framework
• Smart Tags are special tags used for data generation
• Developed at Infosys, not provided by the default BPT framework
• Allow creating dynamic data at run-time
• Eliminates the need to update input data in certain scenarios
• Parsed and converted to actual value by component
• Can be combined with static text
• Multiple Tags can be used for the same parameter
![Page 13: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/13.jpg)
13 Best Practices for your BPT Framework
Smart Tag Usage Description
#NOW##NOW# - Date and time in just numbers (DDMMYYYYHHMMSS)#NOW[Format]# - Date in specified format
Generate the current date and time. Useful for generating unique data records
#RAND[N]##RANDA[N]##RANDN[N]#
#RAND[N]# - N character long random string#RANDN[N]# - N character long random number#RANDA[N]# - N character long random alphanumeric string
Generates random string and numbers
#NEW#
#NEW# - Select a new value. Used for radio buttons, list, checkboxes#NEW[ValueA, ValueB, ValueC]# - Select a new value present in the list
Select a new value always from the control
#ENV[NAME]# #ENV[NAME]# - Read the value from specified environment variable
Read the value from Environment variable
#PARAM[NAME]# #PARAM[NAME]# - Read the value from specified component parameter
Read the value from component parameter
#DATATABLE[NAME]# #DATATABLE[NAME]# - Read the value from specified datatable parameter
Read the value from datatableparameter
Default Smart Tags
![Page 14: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/14.jpg)
Smart Tag Sample
14 Best Practices for your BPT Framework
![Page 15: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/15.jpg)
Custom Smart Tags
15 Best Practices for your BPT Framework
• Specific to Application Under Test
• Used to execute flow and capture generated values at run-time
• Example - #NEWCUSTOMER[Tarun,Lalwani]# generates a new customer with the specified first name and last name
![Page 16: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/16.jpg)
FLEXIBLE COMPONENTS
16Best Practices for your BPT Framework
![Page 17: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/17.jpg)
Flexible Component
17 Best Practices for your BPT Framework
• Instead of building high # of re-usable components build larger flexible components
• Combine commonly performed actions into a single component
• Add Boolean flags to control actions to be performed
• Use functions to perform specific Actions in component
• Use Scripted component instead of Business component
![Page 18: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/18.jpg)
Flexible Component – Perform Launch and Logout
18 Best Practices for your BPT Framework
If IsParameterSet("bLogoutPrevious") Then
Call CP_Logout()
End If
If IsParameterSet("bClosePreviousBrowser") Then
Call CP_CloseBrowser()
End If
If IsParameterSet("bLaunchApplication") Then
Call CP_LaunchApplication()
End if
If IsParameterSet("bLogin") Then
Call CP_Login()
End if
![Page 19: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/19.jpg)
Create and Approve User – Flexible Components
19 Best Practices for your BPT Framework
![Page 20: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/20.jpg)
20 Best Practices for your BPT Framework
Optimizing Existing BPT Scripts
1 2 3 4Analyze Merge Unit Test Update Script
Analyze existing component usage pattern
Merge common component pattern calls
Test the merged component
Update scripts to use the merged component
![Page 21: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/21.jpg)
Component Merge Recommendation Tool
21 Best Practices for your BPT Framework
• Developed at Infosys, Tool analyses existing BPT scripts and recommends which components can be merged for optimization
• Sample Graph recommending merging of Login and Open User (84%) components
Create User13%
Open User84%
Bad Login3%
Create User
Open User
Bad Login
Component Called After - Login
![Page 22: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/22.jpg)
Benefits of Component Merging
22 Best Practices for your BPT Framework
• Re-usable components required in the Test suite is reduced
• The flexibility/re-usability remains similar or even higher
• Less components required per Business Process Test
• Reduction in development and maintenance effort
• Reduction in Execution time
![Page 23: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/23.jpg)
BPT 2 QTP CONVERTER
23Best Practices for your BPT Framework
![Page 24: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/24.jpg)
BPT 2 QTP Converter• Developed at Infosys, Tool to convert BPT Scripts to a Single QTP Script
• BPT2QTP.QFL to be added to the converted script to support the changes
• Resolves output to input short-circuiting of parameters
• Ability to fetch run-time parameter values directly from Test Set
Select Scripts to be converted
Download all Components to Local directory
Resolves short-circuiting of parameters
Combines all component code
into single component
Generates a notepad file
![Page 25: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/25.jpg)
Converted Code from BPT to QTP Script
25 Best Practices for your BPT Framework
bLoadSession = False
Dim Parameter, LocalParam
'Code for Business Component - Perform Launch or Logout
ExecuteGlobal StartComponent("Perform Launch or Logout")
'Parameters for the Business Component - Perform Launch or Logout
Parameter("bLogoutPrevious") = "FALSE"
…..
Call EndComponent("Perform Launch or Logout")
'Code for Business Component - Create User
'Parameters for the Business Component - Create User
….
Call EndComponent("Create User“)
![Page 26: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/26.jpg)
Benefits of Conversion to QTP Script
26 Best Practices for your BPT Framework
• Faster execution of scripts (20% - 50% faster)
• Easy to debug scripts
• Capability to resume scripts from any component, remembers the run-time parameter values of last run using external XML file
![Page 27: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/27.jpg)
THANK YOU
![Page 28: Tarun Lalwani - Best Practices for Your HP BPT Framework](https://reader030.vdocuments.us/reader030/viewer/2022013107/550281e64a795971028b51f0/html5/thumbnails/28.jpg)