{"id":1477,"date":"2022-04-11T09:38:54","date_gmt":"2022-04-11T13:38:54","guid":{"rendered":"http:\/\/192.168.1.39\/?p=1477"},"modified":"2024-06-04T13:40:25","modified_gmt":"2024-06-04T13:40:25","slug":"introduction-to-load-testing","status":"publish","type":"post","link":"https:\/\/smcllc.smcwpsites.com\/blog\/introduction-to-load-testing\/","title":{"rendered":"My Introduction To Load Testing"},"content":{"rendered":"

My introduction to load testing was interesting. The first time I ever heard the term \u201cperformance testing\u201d, I worked at Deloitte just outside Nashville, Tennessee. I was selected to be on the newly formed \u201cImplementation Team\u201d. This was an internal group at the home office that would assist branch locations in their adoption of new applications rolled out at the higher corporate level. This was the 90\u2019s, and deployments of desktop client\/server apps means a lot of individual machines had to be touched. This was even before Citrix deployed applications were a thing.<\/p>\n

Application adoption was never a small undertaking. The sheer size of Deloitte meant rolling out applications to a few \u201cpilot\u201d offices first, and then to the remaining offices over time. Until our team was proposed, some offices could lag behind for years before they decided to migrate to a new system. Each office ran somewhat independently in that regard, and had their own IT staff per location. They could decide when they moved, which would cause a big headache trying to support multiple systems that did the same thing. The Implementation Team was there to help speed the adoption process up and support those local IT people by helping them with the process and training them so they could train their own office. It was a new concept to the firm.<\/p>\n

Entering The Multi-dimensional Universe<\/h2>\n

One of the new applications being rolled out was Hyperion Essbase\u00a0https:\/\/en.wikipedia.org\/wiki\/Essbase<\/a>\u00a0. It was a plug-in to Microsoft Excel. There was a stand alone database server for Essbase – which was a MULTI-DIMENSIONAL database rather than a relational database – which only meant to me I understood nothing about it.\u00a0 From any satellite office, a user with Excel could click a button that would pull data from the central database server (physically at the main corporate office) and get financial report information. Seems simple enough. Unfortunately, pulling all that data across the LAN\/WAN to satellite locations proved to be a performance issue, and many complaints came in to the support desk about it.<\/p>\n

To overcome this, the manager of the application decided that we should conduct a performance test. Great idea! Except none of us knew how to do that. No one even knew the concept, much less that we should automate it. Obviously, we did what anyone would do. We decided to do things the wrong way. Remember, at this moment in time I am not a performance engineer. I am just another typical IT person on a new team that helps install new software at remote locations and trains the local office on how to use it. I have no concept of performance testing. If only I had Doc Brown\u2019s Delorean, I could have been a hero!<\/p>\n

Houston. Really?<\/h2>\n

The application administrator created a Word document that listed the steps that users would do within the application on a regular basis. These were the business processes that people were complaining about. Ten (10) people were selected to travel to various remote offices with these sheets of paper, along with a stopwatch (yes, a physical stopwatch), and a laptop with the application on it. The cities were also based on locations with the most complaints about performance. One member of my team was selected to go to Miami. One was selected for New York. One was selected for Los Angeles. I got selected for Houston. No offense, Houston, but C\u2019MON!!!<\/p>\n

My travel was handled by a third party. I showed up at the hotel, which was a 2-star dive literally a stone\u2019s throw from an Interstate overpass. The homeless were setting up camp for the night underneath – with their own mattresses! The hotel was being used as a recruiting location for the army, and there were a bunch of military vehicles in the parking lot. The lobby had a very eclectic mix of people, let\u2019s leave it at that. I went to my room, and there was a large crack in the wall that looked like someone took a metal chain and whipped it across the room, creating tears in various places on the drywall.\u00a0 Think of a room from the movie \u201cSAW\u201d.\u00a0 I went back to the lobby to ask for another room. After being propositioned by a couple of interesting ladies (I -think- they were ladies but\u2026) outside the lobby, I summoned a taxi and went to the Galleria Mall. Fast. I wasn\u2019t worried about a refund on my credit card at that point. I learned a lot about third party travel arrangements that day, and have never made that mistake again. But I digress….<\/p>\n

Conference Call Chaos<\/h2>\n

The Essbase consultant would monitor the database server while we were out in the remote offices executing the application. We had multiple conference calls where we would all get on together and manually walk through the steps on the documents, and write our timings on the paper. The conference call would go something like this:<\/p>\n

Admin:\u00a0<\/strong>\u201cOK everyone, are we ready to begin?\u201d<\/p>\n

5 seconds of room noise. We heard a siren going off in New York, what sounded like a latin music festival in Miami, and an earthquake happening in Los Angeles – all at the same time.<\/p>\n

Admin:<\/strong>\u00a0\u201cOK, everyone type in your name in the field as the document states\u201d<\/p>\n

Conference line:\u00a0 Keyboard typing sounds in a flutter<\/p>\n

Admin:<\/strong>\u00a0\u201cOK, everyone hit the submit button on 3. 1\u2026.2\u2026..3!<\/p>\n

5 seconds of silence<\/p>\n

Conference line:<\/strong>\u00a0\u201cHey everyone, this is Bob. Sorry I am late to the call, have we started yet?\u201d<\/p>\n

This happened at almost every step of the business process as we painfully walked through it and logged the timings. We did this for two days. Then we all flew back home and came into the main office with our sheet of paper.<\/p>\n

\u00a0I had conversations with other team members asking them about their trip experiences. Obviously, my trip to Houston was interesting, but boring once I switched hotels. The person in Miami apparently had a great time. Same with several other cities. We weren\u2019t even sure the timings we all wrote down were accurate, or perhaps some of them were made up. Maybe it was a great boondoggle for some, I don\u2019t know. What I do know is that this was not a performance test, and definitely not repeatable. It was more akin to voodoo than testing.<\/p>\n

Is That Repeatable?<\/h2>\n

We handed our timings into the administrator, who created a standard spreadsheet, and made graphs from the data we provided. This took a couple of days. The \u201ctimings report\u201d was provided to the partner in charge of this application at the firm. At which time, he said, \u201cThis is interesting. Now can we do this for 50 people and see what the results are?\u201d I thought the administrator was going to faint!<\/p>\n

Shortly after this, the firm decided to buy an automated performance testing tool. LoadRunner 4.5 CD\u2019s were found on multiple desks! They hired two consultants from Mercury to come in to help get things started by automating the business processes we had walked through manually. I distinctly recall walking down the hallway where these mysterious engineers were tucked away doing their magic. It would be years later before I learned I had walked right past James Pulley, who was one of those engineers. We never met the whole time he was there, and we passed each other in and out of the office daily. I\u2019ve got more \u201cPulley\u201d encounters to talk about, but that is for another day.<\/p>\n

Introduction To Load Testing: The Takeaway<\/h2>\n

Think about that next step. Could you imagine hiring 50 college students and placing them in a room with some temporary laptops with the same image and coordinating this elaborate test, and the additional cost of travel to remote locations to see the effect of the WAN? These days, we take for granted that automated performance testing and load testing is the default. Most IT professionals involved with software development understand the benefits of automated load testing, and the value it brings. We wouldn\u2019t think of doing a manual exercise like this. But it wasn\u2019t always that way. Sometimes, it\u2019s a good thing to think about how far we\u2019ve come. While I still don\u2019t think performance is given the same respect at functional testing, we have come a long way.<\/p>\n

What\u2019s your first\/worst load testing story?<\/p>\n","protected":false},"excerpt":{"rendered":"

Scott Moore shares his introduction to load testing. The experience was less than stellar. <\/p>\n","protected":false},"author":1,"featured_media":1505,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[8],"tags":[21,12],"_links":{"self":[{"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/posts\/1477"}],"collection":[{"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/comments?post=1477"}],"version-history":[{"count":0,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/posts\/1477\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/media\/1505"}],"wp:attachment":[{"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/media?parent=1477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/categories?post=1477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smcllc.smcwpsites.com\/wp-json\/wp\/v2\/tags?post=1477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}