0%

Book Description

Reliable test design is important in software testing; without it, defects in software may remain undetected, making the software poor quality and causing dissatisfaction among users. This book presents the key test design techniques, in line with ISTQB, and explains when and how to use them, including in combination, with practical, real-life examples. Automated test design methods are also discussed. Tips and exercises are included throughout the book, allowing you to test your knowledge as you progress. ---- 'A masterful tour through the most important behavioural test design techniques.' Rex Black , President, RBCS, Inc.; Past President ASTQB and ISTQB --- 'This is the testing book I've been waiting for.' Elaine Weyuker , University Distinguished Professor; Member, US National Academy of Engineering; ACM Fellow; IEEE Fellow --- 'Finally, a book that makes the test design techniques available to everybody regardless of their level of experience. It will support testers wanting to improve the quality of their service or self-study for their ISTQB Advanced Level Certifications.' Francisca Cano Ortiz , Head of Software Quality Assurance, The Stars Group.

Table of Contents

  1. Front Cover
  2. Half-Title Page
  3. BCS, The Chartered Institute for it
  4. Title Page
  5. Copyright Page
  6. Contents
  7. List of figures and tables
  8. Authors
  9. Foreword
  10. Acknowledgements
  11. Abbreviations
  12. Glossary
  13. Letter to the reader
  14. Preface − Testing is complex
  15. 1. Introduction
    1. The importance of software testing
    2. What is test design exactly?
    3. Why should tests be designed?
    4. When do we design tests?
    5. Important test design-related considerations
    6. Summary
  16. 2. Example Specification: Ticket Vending Machine
    1. Summary
  17. Part I Necessary Steps Before Test Design
    1. 3. Risk Management and Test Optimisation
      1. What is risk?
      2. Scoring the risks
      3. Risk management
      4. Risks, costs and quality
      5. Risk and optimisation
      6. Example: risk analysis of TVM
      7. Key takeaways
    2. 4. Defect Prevention
      1. Defect prevention methods
      2. From requirements to specification (‘Two lifts in a 10-storey building’ example)
      3. Refinement of the ticket vending machine specification
      4. Key takeaways
  18. Part II Traditional Test Design
    1. 5. Domain-Based Testing
      1. Equivalence partitioning
      2. Boundary value analysis
      3. Domain analysis
      4. Challenges in domain-based testing
      5. TVM example
      6. Method evaluation
      7. Theoretical background
      8. Key takeaways
      9. Exercises
    2. 6. State Transition Testing
      1. Stateful and stateless systems
      2. States, transitions, conditions
      3. Example: RoboDog
      4. Validate your state transition graph
      5. Test selection criteria for state transition testing
      6. All-transition-state criterion
      7. All-transition–transition criterion
      8. Example: Collatz conjecture
      9. When multiple techniques are used together
      10. State transition testing in TVM example
      11. Method evaluation
      12. Theoretical background
      13. Key takeaways
      14. Exercises
    3. 7. Business Rule-Based Testing
      1. Decision table testing
      2. Cause–effect graphs
      3. Method evaluation
      4. Theoretical background
      5. Key takeaways
      6. Exercises
    4. 8. Scenario-Based Testing
      1. Use cases
      2. User stories
      3. Methods evaluation
      4. Theoretical background
      5. Key takeaways
      6. Exercises
    5. 9. Combinative and Combinatorial Testing
      1. Combinative techniques
      2. Combinatorial techniques
      3. Comparison of the techniques
      4. Classification trees
      5. TVM example
      6. Method evaluation
      7. Theoretical background
      8. Key takeaways
      9. Exercises
    6. 10. On-The-Fly Test Design
      1. Exploratory testing
      2. Session-based testing
      3. TVM example
      4. Method evaluation
      5. Theoretical background
      6. Key takeaways
      7. Exercise
  19. Part III Automated Test Design
    1. 11. Model-Based Testing
      1. What is a model?
      2. What is model-based testing?
      3. Test design and MBT
      4. The process of MBT
      5. Modelling languages
      6. Abstraction levels in MBT
      7. Keyword-driven testing
      8. Test selection criteria
      9. Test case generation
      10. Some MBT tools
      11. Method evaluation
      12. Key takeaways
      13. Exercise
    2. 12. Gherkin-Based MBT
      1. First example
      2. The modelling language
      3. Given, when, then, and, is
      4. Test design maintenance
      5. Ticket vending machine example
      6. Method evaluation
      7. Theoretical background
      8. Key takeaways
      9. Exercises
    3. 13. MBT Using Graphs – Graphwalker
      1. Making GraphWalker work
      2. Executing GraphWalker for the TVM model
      3. Testing our TVM with GraphWalker
      4. Method evaluation
      5. Key takeaways
      6. Exercise
    4. 14. Testing The TVM – Summary and Method Comparison
      1. Testing TVM by STT, EP and BVA
      2. Testing TVM by use case testing, EP and BVA
      3. Combinative testing
      4. Testing TVM by other methods
      5. Comparison
    5. 15. Conclusions and Recommendations
  20. Appendix A − TVM models
  21. Appendix B − Test code for demonstrating GraphWalker
  22. Appendix C − POM.XML for GraphWalker
  23. Appendix D − Solutions to the exercises
  24. References
  25. Index
  26. Back Cover
3.131.13.194