In software engineering, performance testing is testing that is performed to determine how fast some aspect of a system performs under a particular workload. [Performance testing is a subset of Performance Engineering, an emerging computer science practice which strives to build performance into the design and architecture of a system, prior to the onset of actual coding effort.]
Performance testing can serve different purposes. It can demonstrate that the system meets performance criteria. It can compare two systems to find which performs better. Or it can measure what parts of the system or workload cause the system to perform badly. In the diagnostic case, software engineers use tools such as profilers to measure what parts of a device or software contribute most to the poor performance or to establish throughput levels (and thresholds) for maintained acceptable response time. It is critical to the cost performance of a new system, that performance test efforts begin at the inception of the development project and extend through to deployment. The later a performance defect is detected, the higher the cost of remediation. This is true in the case of functional testing, but even more so with performance testing, due to the end-to-end nature of it's scope.
In performance testing, it is often crucial (and often difficult to arrange) for the test conditions to be similar to the expected actual use.Full Text: http://en.wikipedia.org/w/index.php?title=Performance_testing&oldid=55488307