Tools of the Mad (LoadTesting) Scientist - Tapping the External Powers
One day recently I had been feeling a little down, and thought I would again stop by and see my old friend the Mad Load Testing Doctor at his very unassuming lab, hoping he could cheer me up with his brilliant ideas and defiant attitude toward the world. Maniacally devoted to the concept of building the bullet-proof website, the Doctor was obsessed in his dream to never be caught in a situation for which his site or his infrastructure had not been fully tested. Often his inventions, his unique approach to load issues, and his downright quackery renewed and inspired me in my own work.
Though his glance toward my empty hands betrayed his momentary disappointment that I had not brought snacks, his eyes once again flashed in excitement as he ushered me inside.
“PERFECT timing!” he chimed. “Today I have had a breakthrough! I have just figured out the way of harnessing the power of other software that is already installed on host machines to assist my OWN load testing projects! I can take common database and spreadsheet software and make it BEND to do my bidding! Just think, now I can load test with a unique set of user data EVERY time one of my minions, er, 'virtual users' starts a new session! I just take the next row of data from the database file, or from the spreadsheet! THINK! No more 'data concurrency issues' from the same user name and password being used over and over again during the load test! No more streams of identical requests to the server, which result in data caching on the server skewing my performance metrics! My minions will look like REAL customers! The power is perpetual too! As soon as it gets to the bottom of the spreadsheet, it can go back and use it AGAIN and AGAIN! SOON my website will be invincible!”
My eyes must have shown what he took as skepticism. His brow arched as his voice softened, and he spidered his fingertips in front of his chest.
“You don’t realize the true brilliance of my breakthrough, do you? By using the data contained in their own spreadsheets, it is already formatted in the correct way: string, number, date. I am using THEIR OWN DATA against them!”
“Doctor, I believe you can do all of this. And I agree, it is an incredibly ingenious way to add power and versatility to a load test! But I've already seen this capability.”
“Impossible!” he screamed.
“Doctor, the guys at SmartBear have beat you to this one too. Remember that I told you about their website, loaduiweb.org?” I opened my laptop and showed him the site. “In LoadUIWeb Pro, SmartBear has already created something they call ‘External Data Sources.’ Remember how we were talking about the Ten Reasons to Go Pro they highlight in their documentation?” I clicked a load test to edit, and showed him the Parameterization Wizard:
“Doctor, look, LoadUIWeb Pro automatically finds all the qualifying responses in the scenario you recorded, and you can pick the ones you parameterize. You just highlight it and click ‘Next.’ It then asks you which type of file you want to take it from, a database, an Excel spreadsheet, or even a CSV file!”
“On the next screen, I can tell the load test how to select a value from the file too. I can have it use the current date, or put in an incremental numerical value, or just start at the top line and take the value on the next line each time.”
“What do you think, does that give you some power to play with?” I asked him.
The stunned look in his eyes went wide. “CSV files? Current Date? Incremental values? That IS even more powerful than my creation! But what else do you have to do to get this chain to work, surely this setup must go on for PAGES.”
“Doctor, the wizard is already complete; those screens are all I have to do. That list of variables is now bound to the test, and every time the test is run, it will tap the power of that database automatically.”
The Doctor grumbled something regarding “four clicks” and shook his head.
“This LoadUIWeb Pro is taking a lot of fun out of being evil”