A guide to writing comprehensive test plans covering exploratory testing and feature specification; black and white box testing; security, usability, and maintainability; and load and stress testing

Key Features

  • Cover all key forms of testing for modern applications systematically
  • Understand anti-patterns and pitfalls in system design with the help of practical examples
  • Learn the strengths and weaknesses of different forms of testing and how to combine them effectively

Book Description

Software Test Design details best practices for testing software applications and writing comprehensive test plans. Written by an expert with over twenty years of experience in the high-tech industry, this guide will provide you with training and practical examples to improve your testing skills.

Thorough testing requires a thorough understanding of the functionality under test, informed by exploratory testing and described by a detailed functional specification. This book is divided into three sections, the first of which will describe how best to complete those tasks to start testing from a solid foundation.

Armed with the feature specification, functional testing verifies the visible behavior of features by identifying equivalence partitions, boundary values, and other key test conditions. This section explores techniques such as black- and white-box testing, trying error cases, finding security weaknesses, improving the user experience, and how to maintain your product in the long term.

The final section describes how best to test the limits of your application. How does it behave under failure conditions and can it recover? What is the maximum load it can sustain? And how does it respond when overloaded?

By the end of this book, you will know how to write detailed test plans to improve the quality of your software applications.

What you will learn

  • Understand how to investigate new features using exploratory testing
  • Discover how to write clear, detailed feature specifi cations
  • Explore systematic test techniques such as equivalence partitioning
  • Understand the strengths and weaknesses of black- and white-box testing
  • Recognize the importance of security, usability, and maintainability testing
  • Verify application resilience by running destructive tests
  • Run load and stress tests to measure system performance

Who this book is for

This book is for anyone testing software projects for mobile, web, or desktop applications. That includes Dedicated QA engineers managing software quality, Test and test automation engineers writing formal test plans, Test and QA managers running teams responsible for testing, Product owners responsible for product delivery, and Developers who want to improve the testing of their code.

Table of Contents

  1. Software Test Design
  2. Contributors
  3. About the author
  4. About the reviewer
  5. Preface
  6. Part 1 – Preparing to Test
  7. Chapter 1: Making the Most of Exploratory Testing
  8. Chapter 2: Writing Great Feature Specifications
  9. Chapter 3: How to Run Successful Specification Reviews
  10. Chapter 4: Test Types, Cases, and Environments
  11. Part 2 – Functional Testing
  12. Chapter 5: Black-Box Functional Testing
  13. Chapter 6: White-Box Functional Testing
  14. Chapter 7: Testing of Error Cases
  15. Chapter 8: User Experience Testing
  16. Chapter 9: Security Testing
  17. Chapter 10: Maintainability
  18. Part 3 – Non-Functional Testing
  19. Chapter 11: Destructive Testing
  20. Chapter 12: Load Testing
  21. Chapter 13: Stress Testing
  22. Conclusion
  23. Appendix – Example Feature Specification
  24. Index
  25. Other Books You May Enjoy