Much has been written about the complexity of application performance testing. The breadth and scope required to effectively test application architecture and transaction flow can make it a daunting effort, especially with service-oriented architectures where hundreds or even thousands of third-party services and components are added to the mix.
In order to understand if performance matches needs, testing is a necessity. While there are many areas that help define testing parameters, three overarching testing concepts must be addressed in order to provide appropriate performance for modern applications: your users, your data, and your environment.
With modern software relying on myriad interactions with other components, greater complexity in development and testing has become inevitable. Nowhere is this more evident than with enterprise resource planning (ERP) platforms, where dozens of modules are interdependent upon one another for data exchange, processing, and other core functions.
You have a new code release and two weeks for performance testing. What tests do you run? One common answer is to run the same tests you used on the last release (after fixing your scripts, of course). This is a good way to make sure the new release can handle the same load as the last one. However, this approach ignores a key fact: loads change.
Web services—software code that enables the client application and the services to interact successfully—are literally the building blocks of application function. To ensure application performance and minimize user problems in production, each web service should be tested—and its functionality and connectivity trusted—before the developing organization integrates it into the application.
As someone who preaches requirements across the country, I can honestly tell you, “What stakeholders want is not important. What matters is what they need.”