Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve quantitative tests done in specialized lab, such as measuring the response time or the number of MIPS (millions of instructions per second) at which a system functions.
We do Performance testing by understanding qualitative attributes such as reliability, scalability and interoperability.
Performance has always been a great concern and a driving force of computer evolution. Performance evaluation of a software system usually includes: resource usage, throughput, stimulus - response time and queue lengths detailing the average or maximum number of tasks waiting to be serviced by selected resources. Typical resources that need to be considered include network bandwidth requirements, CPU cycles, disk space, disk access operations, and memory usage. The goal of performance testing can be performance bottleneck identification, performance comparison and evaluation, etc. The typical method of doing performance testing is using a benchmark - a program, workload or trace designed to be representative of the typical system usage.
- Major usability problems are identified that may not be revealed by less formal testing, including problems related to the specific skills and expectations of the users.
- Measures can be obtained for the users' effectiveness, efficiency and satisfaction.