Performance Engineering

What is Performance Engineering?

Performance testing is the testing that is performed to ascertain how the different components of a system are performing under a given situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is actually a subset of the broader performance engineering, which is focused on addressing performance issues in the design and architecture of a software product. Designing these tests is actually very critical to the stability of your website.

How its different from Performance Testing

Performance Testing is not necessarily Performance Engineering!!

Performance Engineering is a systematic, quantitative approach to the cost-effective development of software systems to meet performance requirements. SPE is a software-oriented approach that focuses on architecture, design, and implementation choices.

SPE gives you the information you need to build software that meets performance requirements on time and within budget.

The SPE process begins early in the software development life cycle and uses quantitative methods to identify satisfactory designs and to eliminate those that are likely to have unacceptable performance before developers invest significant time in implementation. SPE continues through the detailed design, coding and performance and load testing phases to predict and manage the performance of the evolving software as well as monitor and report actual performance versus specifications and predictions. SPE methods encompass: performance data collection; quantitative performance analysis techniques; prediction strategies; management of uncertainties; data presentation and tracking; performance testing, stress and load testing, model verification and validation; critical success factors; and performance design principles, patterns and antipatterns.

Performance Testing is a "fix-it-later" approach to performance. This approach advocated concentrating on correctness and deferring consideration of performance until the testing phase. Performance problems detected then, were corrected by adding additional hardware, tuning the software (usually in a crisis-mode), or both.