Post on 13-Dec-2014
description
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Stuart Moncrieff, Performance Testing Practice Lead, JDS Australia
Extending VuGen 11.5 with Custom Add-ins
Stuart MoncrieffPerformance Testing Practice Lead
3 JDS
My Background
• Stuart Moncrieff:– Performance Testing Practice Lead at JDS Australia. I do not have
“inside knowledge” about product roadmaps.– Participated in the latest LoadRunner Beta program– The first non-HP person to develop an add-in for VuGen (probably)
• JDS Australia− HP Platinum
partner, providing consulting services in Performance Testing, Application Monitoring, etc.
4 JDS
Presentation Roadmap
My example Background Implications Technical
5 JDS
Introducing SharpDevelop
• Open Source IDE for .NET languages (an alternative to Microsoft Visual Studio)
• The new platform for VuGen, QuickTest Pro, Service Test, and Service Virtualization Designer.
• Can be extended with add-ins!
Extended by HP R&D
6 JDS
Presentation Roadmap: My Example
My Example Background Implications Technical
7 JDS
VuGen Validator: An Add-in Example
• During script reviews, I found myself always saying the same things. I decided to try to automate my reviews.
8 JDS
VuGen Validator (web version)
1. Zip VuGen script and upload
2. View report containing errors/warnings for common mistakes people make when developing scripts
9 JDS
VuGen Validator (VuGen Add-in)
• Why the Validator is better as an add-in than a web app?– Faster: do not need to zip script and upload– Integrated into scripting workflow: press a toolbar button to run,
automatically corrects some errors– Better checks: more powerful libraries/parsers available for C#
than for PHP.
− More secure: No need to upload scripts containing passwords to third-parties
10 JDS
VuGen Validator: Business Benefit
“The purpose of our VuGen Validator development is to enable significant process and quality improvement for our customers.”
11 JDS
More Ideas for Add-ins
12 JDS
Presentation Roadmap: Background
My example Background Implications Technical
13 JDS
Who can write an add-in?
• Your in-house development team
• A Performance Tester who really knows how to write code
• Anyone who can write C#
• A freelance software developer
• But always better if someone has already written an add-in that solves your problem, and shared it on the HP Community website
14 JDS
Before VuGen 11.5 Add-ins
1. Discover missing feature in VuGen that would be useful to you.
2. Discuss feature idea with LoadRunner Product Manager.
3. Product Manager collects features from customers. Makes shortlist.– What features will help sell more
software?
4. Wait…– New version of LoadRunner
released every 18 months.– Feature list for new version
created 24 months prior to release.
15 JDS
After VuGen 11.5 Add-ins
1. Discover missing feature in VuGen that would be useful to you.
2. Build it yourself (scratch your own itch).
3. Enjoy your new feature.
16 JDS
Is this a new business opportunity?
17 JDS
What is Phase 2?
1. Use internally to increase competitive advantage
2. Sell through your own channels
3. Maybe HP will provide a sales channel for partners?– Reach a large group of customers– HP Live Network?
• Note: Nothing in the LoadRunner EULA prevents you from selling products that work with (or extend) a licensed copy of LoadRunner.
18 JDS
Presentation Roadmap: Implications
My example Background Implications Technical
19 JDS
Implications for HP and LoadRunner Users
• What are the implications of HP’s design decision to embrace SharpDevelop and enable add-ins?
20 JDS
Implication: Faster development by HP
• Quicker/Easier for HP R&D to add features to VuGen.
• More improvements in each LoadRunner release.
• HP R&D can trial new features as an add-in released through the HP Community Site (independent of release cycles).
• Popular add-in features might be integrated into the core product.
21 JDS
Implication: Community Development
• Users are going to add their own features to VuGen– Can HP engage the community to share scripts, code, add-ins?– Will the new HP Community site create a stronger community?
• HP Partners are going to add their own features to VuGen– Will this create a secondary
market around add-ins?– Will this give us better support
for obscure technologies?
• HP will have looser control of the product– Is this compatible with HP
corporate culture?
22 JDS
Implication: HP Support
• HP Support: Does the problem still occur when you disable your add-ins?
23 JDS
Implication: Product Roadmap
• Choice of SharpDevelop hints at future product roadmap– Eventually C will be retired as a scripting language, and HP is
best positioned to choose a .NET based language to replace it (hopefully IronPython).
24 JDS
Presentation Roadmap: Technical
My example Background Implications Technical
25 JDS
How to: Install your Add-in
• VuGen has no add-in manager.
• Copy your add-in to: C:\Program Files\HP\LoadRunner\addins\
• Restart VuGen
26 JDS
How to: Add a menu item
Create *.addin XML file• Path name: where to put menu
item (under “Tools”)• MenuItem label: name of
menu item (“Hello World”)• MenuItem class: class to call
when menu item is clicked. The run() method is called.
27 JDS
Add-in Development Tips (part 1)
• Don’t use the latest version of SharpDevelop to develop your add-in– Add-ins built using SharpDevelop 4.2 will not work with VuGen,
which is based on SharpDevelop 4.1.– SharpDevelop 4.1 is not available on the official website, but
can be downloaded from SourceForge.
• Streamline your add-in testing– Post-build event command line:
• Delete old version of add-in from VuGen directory
• Copy freshly built add-in to VuGen directory
– Re-launch VuGen to load add-in
28 JDS
Add-in Development Tips (part 2)
• Get it working in SharpDevelop before trying it in VuGen.
• Not much documentation. You will spend a lot of time reading source code for the SharpDevelop API (few comments) andfor add-ins that are included with the SharpDevelop source code download.
• Add-in development tutorials are old and mostly don’t build with newer versions of SharpDevelop (without modification).
• Note that you can’t modify parts of VuGen that have been integrated from the old version (native code). E.g. you can’t add buttons to the Run-time Settings window.
29 JDS
30 JDS
SharpDevelop Resources
• There are three locations where you can get information on how to write SharpDevelop Add-ins:– http://wiki.sharpdevelop.net/ (section Developer Zone)– The folder "doc/technotes" in the SharpDevelop source code
download– You can ask questions about Add-in development in the
SharpDevelop forum: http://community.sharpdevelop.net/forums/
• Free e-book: Inside SharpDevelop• SharpDevelop 4.1 download
− http://sourceforge.net/projects/sharpdevelop/files/SharpDevelop%204.x/4.1/
31 JDS
Questions?
32 JDS
Shameless Self-Promotion
• VuGen Validator product page– http://ww.myloadtest.com/tools/validator
• More add-in ideas– http://www.myloadtest.com/ideas-for-vugen-addins/
• Social Media– http://twitter.com/#!/StuartMoncrieff– http://au.linkedin.com/in/stuartmoncrieff
• Useful LoadRunner tips– http://ww.myloadtest.com (my blog)– http://ww.jds.net.au/tech-tips/