Since I wrote about my ideas for VuGen add-ins, a few people have spoken to me about their need for an add-in that would integrate VuGen with their revision control/source code management system.
The interesting thing is that when I ask what version control features they are missing, they don’t have any specific features in mind (unless you count “backups”, which has nothing to do with version control). Most fall back on “VuGen scripts are source code, and all source code should be managed in a version control tool”.
Well, VuGen 11.50 allows basic version control features (check in/out, version history) when integrated with ALM. Is that good enough, or are there still features missing?
Common features/benefits of Version Control tools:
- It is a central repository of source code.
- It gives you a change history, which shows you what changes have been made, when they were made, and who made them.
- It allows branching and merging (hopefully with atomic commits), so multiple people can work on the same codebase at the same time, or multiple branches of the codebase can be maintained in parallel.
- It gives revision IDs that uniquely identify a version of the source code.
- It provides access control to source code.
Personally, I don’t really need most of these features, or they already have a simple solution (e.g. network share drive and a diff tool). VuGen scripts are generally trivially simple, worked on by a single person, and are throw-away code (due to tight coupling with the application under test).
The feature that I most want is the ability to see exactly what script was run for a specific test, so I can see if there have been script changes that could be the cause of different performance characteristics between tests. A LoadRunner Analysis file includes the name of the scripts used for the test, and their runtime settings, but does not include the script (*.c) files or the parameter files.
Adding version control to VuGen doesn’t help me, because script versions are irrelevant unless they can be directly linked to a test results file. So, for me, the solution is not to add version control into the development tool, but to add audit logging to the LoadRunner Controller, so that a copy of the VuGen script used for the test is stored with the LoadRunner Results/Analysis files.