We released the final version of our patterns & practices Performance Testing Guidance for Web Applications. This guide provides an end-to-end approach for implementing performance testing. Whether you're new to performance testing or looking for ways to improve your current performance-testing approach, you will gain insights that you can tailor to your specific scenarios. The main purpose of the guide is to be a relatively stable backdrop to capture, consolidate and share a methodology for performance testing. Even though the topics addressed apply to other types of applications, we focused on explaining from a Web application perspective to maintain consistency and to be relevant to the majority of our anticipated readers.
Key Changes Since Beta 1
- Added forewords by Alberto Savoia and Rico Mariani.
- Integrated more feedback and insights from customer reviews (particularly chapters 1-4, 9, 14, 18)
- Integrated learnings from our Engineering Excellence team.
- Refactored and revamped the performance testing types.
- Revamped and improved the test execution chapter.
- Revamped and improved the reporting chapter.
- Revamped the stress testing chapter.
- Released the guide in HTML pages on our CodePlex Wiki.
- Learn the core activities of performance testing.
- Learn the values and benefits associated with each type of performance testing.
- Learn how to map performance testing to agile
- Learn how to map performance testing to CMMI
- Learn how to identify and capture performance requirements and testing objectives based on the perspectives of system users, business owners of the system, and the project team, in addition to compliance expectations and technological considerations.
- Learn how to apply principles of effective reporting to performance test data.
- Learn how to construct realistic workload models for Web applications based on expectations, documentation, observation, log files, and other data available prior to the release of the application to production.
Why We Wrote the Guide
- To consolidate real-world lessons learned around performance testing.
- To present a roadmap for end-to-end performance testing.
- To narrow the gap between state of the art and state of the practice.
- Managing and conducting performance testing in both dynamic (e.g., Agile) and structured (e.g., CMMI) environments.
- Performance testing, including load testing, stress testing, and other types of performance related testing.
- Core activities of performance testing: identifying objectives, designing tests, executing tests, analyzing results, and reporting.
Features of the Guide
- Approach for performance testing. The guide provides an approach that organizes performance testing into logical units to help you incrementally adopt performance testing throughout your application life cycle.
- Principles and practices. These serve as the foundation for the guide and provide a stable basis for recommendations. They also reflect successful approaches used in the field.
- Processes and methodologies. These provide steps for managing and conducting performance testing. For simplification and tangible results, they are broken down into activities with inputs, outputs, and steps. You can use the steps as a baseline or to help you evolve your own process.
- Life cycle approach. The guide provides end-to-end guidance on managing performance testing throughout your application life cycle, to reduce risk and lower total cost of ownership (TCO).
- Modular. Each chapter within the guide is designed to be read independently. You do not need to read the guide from beginning to end to benefit from it. Use the parts you need.
- Holistic. The guide is designed with the end in mind. If you do read the guide from beginning to end, it is organized to fit together in a comprehensive way. The guide, in its entirety, is better than the sum of its parts.
- Subject matter expertise. The guide exposes insight from various experts throughout Microsoft and from customers in the field.
- Part 1, Introduction to Performance Testing
- Part II, Exemplar Performance Testing Approaches
- Part III, Identify the Test Environment
- Part IV, Identify Performance Acceptance Criteria
- Part V, Plan and Design Tests
- Part VI, Execute Tests
- Part VII, Analyze Results and Report
- Part VIII, Performance-Testing Techniques
- Chapter 1 – Fundamentals of Web Application Performance Testing
- Chapter 2 – Types of Performance Testing
- Chapter 3 – Risks Addressed Through Performance Testing
- Chapter 4 – Web Application Performance Testing Core Activities
- Chapter 5 – Coordinating Performance Testing with an Iteration-Based Process
- Chapter 6 – Managing an Agile Performance Test Cycle
- Chapter 7 – Managing the Performance Test Cycle in a Regulated (CMMI) Environment
- Chapter 8 – Evaluating Systems to Increase Performance-Testing Effectiveness
- Chapter 9 – Determining Performance Testing Objectives
- Chapter 10 – Quantifying End-User Response Time Goals
- Chapter 11 – Consolidating Various Types of Performance Acceptance Criteria
- Chapter 12 – Modeling Application Usage
- Chapter 13 – Determining Individual User Data and Variances
- Chapter 14 – Test Execution
- Chapter 15 – Key Mathematic Principles for Performance Testers
- Chapter 16 – Performance Test Reporting Fundamentals
- Chapter 17 – Load-Testing Web Applications
- Chapter 18 – Stress-Testing Web Applications
Contributors and Reviewers
- External Contributors and Reviewers: Alberto Savoia; Ben Simo; Cem Kaner; Chris Loosley; Corey Goldberg; Dawn Haynes; Derek Mead; Karen N. Johnson; Mike Bonar; Pradeep Soundararajan; Richard Leeke; Roland Stens; Ross Collard; Steven Woody
- Microsoft Contributors / Reviewers: Alan Ridlehoover; Clint Huffman; Edmund Wong; Ken Perilman; Larry Brader; Mark Tomlinson; Paul Williams; Pete Coupland; Rico Mariani
My Related Posts