I am creating a theme for the next few posts, on the topic of selecting an application for performance engineering and performance testing.
Under what conditions will an application require a performance test? Not all applications require performance testing, and the same application may not require repeated performance testing for every release. The selection process for performance testing frequency must consider user population, application type, technology, changes to features and function, and how non-functional requirements are monitored in the Software Development Life Cycle (SDLC).
A typical Enterprise has thousands of applications. In a business unit, there can be several hundred applications. As the business continues to evolve and change, so will the applications evolve and change to support the business needs. The changes made to the application may increase the risk to performance, scalability, or stability. Depending on the business’s tolerance for disruption, these changes may require some level of performance and scalability testing to verify the application can still process the accepted business volumes while staying within service level agreements.
These application changes are typically scheduled on a release calendar. Customer facing applications should be considered critical to the business, while internal facing applications may be less critical. However, what if the internal application is supporting the executive level of the company and provides key information for decision making? Some Enterprises believe inherently that performance and scalability testing are required, while others may leave the decision to the business units. Enabling the Enterprise for performance engineering requires an investment. This investment is considered to be an indirect investment, as it may not be immediately linked to a revenue generating process.
The value of the investment in Software Performance Engineering can be quantified. For example, when performance engineering recommends design changes allowing a revenue-generating Web site to process more orders, the return on investment is clear. In a large Enterprise, performance engineering resources are often in short supply, and budgets are generally under constant pressure. This leads IT and business decision-makers to ask certain questions, such as: What guidelines can you use to help allocate these resources’ across the project portfolio? How can you make sure you have not missed an application that required performance testing, and how can you make sure you’re not testing the wrong applications? Are you sure the results from performance are accurate and allow management to make informed decisions?