The Testing Phase of Application Performance Engineering

Opinion
Feb 9, 20113 mins

This is the sixth in a series of newsletters that have been discussing a seldom-mentioned IT discipline – Application Performance Engineering (APE). In this newsletter we will discuss how establishing application performance objectives impacts application testing.

One way to look at APE is that it is proactive. In particular, an IT organization that implements APE establishes response time objectives up front as part of the requirements phase of the application life cycle. This can be a complex task in part because many applications are comprised of multiple modules, each of which have differing characteristics. Hence, an IT organization can’t merely develop a couple of response time objectives that apply to the application as a whole. What they must do is to develop response time objectives for each module. In addition to response time objectives, the IT organization has to also develop throughput objectives. This includes identifying the number of simultaneous users for each module of the application. This is required because the IT organization would design and build the application quite differently if it has to support 10,000 users vs. if it only has to support 100 users.

The next step in the application life cycle is for the application development organization to use the established performance objectives to design and build an application that meets the response time and throughput objectives. In order to do this, the application development organization must be able to do effective application testing. Many application development organizations currently do application testing. 

However, in the majority of instances they do the testing just prior to going live with the application. Testing at this stage of application development will enable the organization to make minor tweaks to the application, but will not enable the organization to make the types of changes that will significantly improve the performance of the application. In order to make these types of changes, the application development organization needs to be able to model and test application performance throughout the design, build and implement phases of application life cycle.

To perform these types of tests, application development organizations need to be able to model the expected workload. In order to do this, the application development organization needs to analyze the response time and throughput objectives and create test scenarios that will identify whether or not the application will meet those objectives. As part of testing, the organization evaluates how well the expected workload will perform over the production network. In many cases, the tools to do that rely on mathematical models. As we will explain in the next newsletter, mathematical models have some significant limitations.

In the mean time we are interested in your experiences with any form of APE. Kindly write to us and let us know what you did, what worked and what didn’t work.

Jim has a broad background in the IT industry. This includes serving as a software engineer, an engineering manager for high-speed data services for a major network service provider, a product manager for network hardware, a network manager at two Fortune 500 companies, and the principal of a consulting organization. In addition, Jim has created software tools for designing customer networks for a major network service provider and directed and performed market research at a major industry analyst firm. Jim’s current interests include both cloud networking and application and service delivery. Jim has a Ph.D. in Mathematics from Boston University.

More from this author