
Introduction
Candidate Parameterization is an AI-assisted feature within LoadRunner VuGen, the script editor performance testers use to record and edit load-test scripts.
The feature automatically detects hardcoded values inside a recorded script session IDs, timestamps, tokens, and similar dynamic data and suggests them as candidates for parameterization, replacing a manual, multi-step workflow with a guided, largely automated one.
This case study explores the research, problem framing, design exploration, usability testing, and measured impact behind redesigning how performance testers parameterize scripts in VuGen.

Business Context
VuGen scripts are recorded by capturing real user traffic, which means every value captured during recording — including values that change on every run is hardcoded into the script. Replaying a script without parameterizing these values sends identical data on every iteration, which does not reflect real-world load and can invalidate test results entirely.
Enterprise teams across fintech, e-commerce, and banking reported that parameterization was consuming a disproportionate share of scripting time, and that the existing manual workflow scaled poorly with script size and team size. Rather than building a narrow fix for one workflow, the goal was to:
• Understand why parameterization was so time-consuming across teams
• Identify which parts of the workflow could be automated without sacrificing control
• Design a system that worked for both power users and occasional testers
• Reduce time-to-parameterize without introducing new risk of false replacements
Research Approach
Instead of asking:
“What would make parameterization easier?”
We focused on:
“What is the tester actually trying to accomplish, and where does the current workflow get in the way?

No candidates scanned yet
Tells the user the system is ready but waiting on them.
Scanning Large Script
Tells the user the system is working, how far along it is, and that they're not trapped.


No dynamic values found
Tells the user the scan succeeded and that zero is a real answer, not a broken one.


Note: Due to NDA constraints, I’ve modified a few details and visuals where necessary.
But would be happy to discuss.
