Important concepts in performance testing
Performance is a type of black box testing. We don't really care what the code says, what we're interested in is how well the application or website interacts with the environment when centered around certain concepts. These concepts are operation, breakability, data volume, scalability, and reliability.
Operation is covered by load testing, determining how the software operates under normal load. A major consideration is to determine the maximum load that can be handled without generating erratic behavior. As well as testing network and normal database interaction.
Breakability is basically how much pressure an application can take before it breaks. This is covered by stress testing which looks at what caused the system to break down, thereby identifying weaknesses that could cause unexpected or improper performance.
VOL testing looks at how much data an application can handle. This is often done by incrementally increasing the amount of information the application must deal with. It's an important form of testing because a database will almost always grow in size as time goes on. An application may only need to handle a small amount of data when it goes online for the first time, however, as data accumulates the application must be able to handle an increasingly heavy database.
Scalability answers the question, " Will the application be able to support increasingly large loads?" The idea is to determine how many users a given application can support. Scalability also addresses resources such as bandwidth, disk capacity, processor capacity and memory usage.
The purpose of reliability testing is to determine if an application can bounce back after an unexpected incident and how long it takes to return to normal operation. This is important because there are many applications, especially those online, which are critical operations. This is true of banking and government software that must continually operate in critical areas.
The concepts behind performance testing are the foundations on which performance testing is built. Understanding these concepts makes it easy to comprehend the purposes of performance testing, you can then build your testing scenarios accordingly.