Importance of Load Testing and Launch Day
August 4, 2016
Any application or software that is intended to support many users needs adequate load testing, yet this is still an often forgotten or disregarded step in the development process. With the recent success of Pokemon GO, we are faced with another failure in load testing and server capacity planning. The difference this time is the fierce loyalty to the brand displayed by its fans. But this is not always the case. Let’s take a look at a two major times that initial stress testing issues caused problems for games during launch day.
Activision Blizzard famously released the third installment of it’s action role-playing game in 2012 to disastrous failure. Though the company worked tirelessly to correct the issues, the main problem was that they did not anticipate how many users would be logging in simultaneously and failed to prepare the servers for that instantaneous load at launch. This left players frustrated for days while they devised a working queue system in order to alleviate the issue. The “always online” requirement increased the strain immensely, preventing even those who wanted to play alone instead of in groups to cause additional strain.
Here, like with Pokemon GO, it is the brand itself which saved this game. Players wanted the latest Diablo game, and were willing to put up with issues in the short term. This enthusiasm does not last long, however, which is why immediate resolution is necessary. Though the fact remains that this issue could have been avoided entirely with better load testing.
EA and Maxis released the latest installment in the city building and management game March 5, 2013. There was a massive amount of excitement from fans at the prospect of managing a city online with multiple users participating in a single region, but skepticism that the “always online” requirement would hamper server performance. Shortly after release and in response to massive server problems, EA limited game functionality in an attempt to reign in the constant crashing and stress. It seemed that the company had failed to stress test their servers at all.
Though a recognizable brand, the lack of significant progress to address the concurrent user issues experienced by SimCity 5 (core features weren’t fully reinstated until June 11th) ultimately forced Maxis to permanently close its doors.
Both examples show that extensive load testing is critical to a successful launch. Even big companies can suffer consequences from poor foresight, despite brand recognition. There are a variety of website load testing tools, both free and paid that can be used to prepare for a launch day and help mitigate potential problems.
Load Testing Helps Avoid Software Catastrophes In the Field
August 3, 2016
When a software package’s development project has become fairly complete and has all specified functionality, it is time to conduct Load Testing. This is because it is only with a thorough amount of stress testing that a particular build of all the programs in a suite can be certified as being a valid release candidate. This is not the more basic unit testing and overall functionality testing. That is all done well before this final software development step in the Quality Assurance (QA) process.
Remaining Objective in Load Testing
The resource demands on a particular application can never be fully anticipated, so this type of testing thrashes the app until it breaks. If the load level is not high enough for the software to be accepted for release, then it must be fixed. More junior software development output often produces stress testing failures that actually warrant a redesign, losing valuable time. This is why it is so important to value keeping software developers who have many years of experience, not discriminating against them just because they are older. And most importantly, never allow your developers to do the testing. The test engineers must be separate and objective.
Of course, such load testing can only ever attempt to match anticipated worst-case stress conditions with testing that emulates known, logged, real-world situations. This is why no matter how well tested a new software product is, there will be times that unanticipated synergy between apps, apps and the Operating System, and a target app running simultaneously with other commonly present apps, can cause catastrophic failures out in the field. A really well designed and scientifically conducted stress test can alleviate a lot of headaches in this regard.
Stress Testing HIPAA Servers
When stress testing a HIPAA server, test engineers must sanitize the data, removing Protected Health Information (PHI), and standardize the structured test data inputs. It is recommended to have a compliant third party run your load tests if operating under HIPAA regulations. Many HIPAA compliant web hosts offer licensed engineers on-demand to run your testing as outlined here.
Experience + Best-in-Class Load Testing Tools = Success
One of the problems less-experienced software developers often make is trying to have their software stress tested well before it is time. There is no efficiency in that. Nothing will actually mean anything until all the feature set is implemented and there are no interface issues, no obvious performance issues, and the regular regression testing proves it is time. Don’t make that mistake and you won’t be sorry down the proverbial line!
In terms of tools that you can use to perform load testing, you can go two ways: free or paid. One of the most popular tools is Apache JMeter which can be installed on your server in order to perform a load test. If you’re looking for an external tool, Load-View is another option. As to which tool is right for you situation, only you can decide that.