So part of my new role at work is to manage all the testing for my new team. As the team is so small, I am there only tester so that includes things like taking care of the performance testing. Now this isn’t a scope of testing I’ve generally had much to do with before and honestly considered kind of a ninja art. But sure, I can roll with the punches and learn new things.
Up to this point, the team had been using JMeter for the load testing, but weren’t entirely sold with it. They’d seen random issues with it not reporting consistent data and with our current project we were seeing it not so capable of handling the very short response time our service performed at. And it requires a lot of post-run manual work to actually get the data. So we decided to check out HP Performance Center as it’s the standard tool our company uses for load testing. Most of the use of Perf Center is for load testing webpage based applications. We can’t have a load of customers hitting our site at once and causing servers to fall over cause that is generally considered bad. However my new team’s work is more backend service related as we’re building message transforms between services using Synapse and Groovy. So in strolls me having never used Perf Center before and also needing to use it to build something there aren’t a lot of folks who use it for that. Awesome times.
I couldn’t easily figure out how to record a script for a non web test so I just went and built it from scratch in the code. Luckily the manager in charge of the perf testing team set me up with an existing project that did similar testing when he set me up with access so I was able to get an idea where to start. A bit of googling how other people tested HTTP and REST services using Perf Center later. And luckily I have a tester on my former team who’s pretty knowledgable about these perf testing things and he helped me quite a bit getting things going. Between all of these I had a good idea what I needed to do just to write the script. There was even the extra fun challenge of having to dust off/teach myself RegEx again when I needed to add quotes to the start and end of every line of a 900 line XML request message to put in the script (seriously HP? you can’t make a smarter tool that could handle something like a block comment? -5 for crap).
Script got written and tested but needs to be uploaded to Perf Center. Then comes crazy situation where I had been setup with access to and started scripting in PerfCenter 9.5 and then when asked for my own project got moved into PerfCenter 11, which they are only just starting to upgrade folks to and all new projects must go in PerfCenter 11. <insert swearing>. Meaning I’m now a guinea pig for a tool that I’ve never used before and most of the perf testers at our company haven’t even seen the latest version of which is noted for having a distinctly different interface. Way to make it more awesome.
But I got everything redownloaded and the script retested against the new version so by the end of the week I was back to needing to upload it. Then I spent an embarassing amount of time trying to figure out how to upload it to Performance Center. However, my very nice coworker tester got me sorted and going in the right direction again. It turned out I was doing everything right, but it just wasn’t obvious I was doing so (-3 on the UX there HP).
Anyway, today I finally got to actually play with making the test go. This time I busted out the manual and sat there with the quick start guide going through the steps to setup a perf run. I have to say HP, you picked some random ass icons for you buttons in Perf Center 11 that aren’t exactly intuitive (-1 on UX). But with very little issue, I got it going and got the perf test to run all in about an hour. Score one for reading the manual (+2 on documentation -1 for actually needing it).
Now I feel I know what I’m doing, I get to start tweaking my test when I go in tomorrow and I’m kind of excited to play with it. Frustrating as it can be, it’s kind of fun getting leway to spend time ramping up and learning things. With a lot of my past projects and teams it never felt like there was a lot of free time to spare to do much of this kind of thing, or if there was it felt like you were doing it in 20 minute increments when you had a few to spare. It’s good to be like a kid once in a while with a shiny new thing to investigate. Helps drive the mind from getting stale.