Cover image for Advanced Software Testing - Vol. 1

Book description

This book is written for the test analyst who wants to achieve advanced skills in test analysis, design, and execution. With a hands-on, exercise-rich approach, this book teaches you how to define and carry out the tasks required to put a test strategy into action. Learn how to analyze the system, taking into account the user's quality expectations. Additionally, learn how to evaluate system requirements as part of formal and informal reviews, using an understanding of the business domain to determine requirement validity. You will be able to analyze, design, implement, and execute tests, using risk considerations to determine the appropriate effort and priority for tests. You will learn how to report on testing progress and provide necessary evidence to support your evaluations of system quality.

Table of Contents

  1. Cover
  2. About the Author
  3. Title Page
  4. Copyright Page
  5. Acknowledgements
  6. Table of Contents
  7. Introduction
  8. 1 Test Basics
    1. 1.1 Introduction
    2. 1.2 Testing in the Software Lifecycle
    3. 1.3 Specific Systems
    4. 1.4 Metrics and Measurement
    5. 1.5 Ethics
    6. 1.6 Sample Exam Questions
  9. 2 Testing Processes
    1. 2.1 Introduction
    2. 2.2 Test Process Models
    3. 2.3 Test Planning and Control
    4. 2.4 Test Analysis and Design
      1. 2.4.1 Functional Test Objectives
      2. 2.4.2 Test Oracles
      3. 2.4.3 Standards
      4. 2.4.4 Static Tests
      5. 2.4.5 Metrics
    5. 2.5 Test Implementation and Execution
      1. 2.5.1 Test Procedure Readiness
      2. 2.5.2 Test Environment Readiness
      3. 2.5.3 Blended Test Strategies
      4. 2.5.4 Starting Test Execution
      5. 2.5.5 Running a Single Test Procedure
      6. 2.5.6 Logging Test Results
      7. 2.5.7 Use of Amateur Testers
      8. 2.5.8 Standards
      9. 2.5.9 Metrics
    6. 2.6 Evaluating Exit Criteria and Reporting
      1. 2.6.1 Test Suite Summary
      2. 2.6.2 Defect Breakdown
      3. 2.6.3 Confirmation Test Failure Rate
      4. 2.6.4 System Test Exit Review
      5. 2.6.5 Standards
    7. 2.7 Evaluating Exit Criteria and Reporting Exercise
      1. 2.7.1 System Test Exit Review
    8. 2.8 Evaluating Exit Criteria and Reporting Exercise Debrief
    9. 2.9 Test Closure Activities
    10. 2.10 Sample Exam Questions
  10. 3 Test Management
    1. 3.1 Introduction
    2. 3.2 Test Management Documentation
    3. 3.3 Test Plan Documentation Templates
    4. 3.4 Test Estimation
    5. 3.5 Scheduling and Test Planning
    6. 3.6 Test Progress Monitoring and Control
    7. 3.7 Business Value of Testing
    8. 3.8 Distributed, Outsourced, and Insourced Testing
    9. 3.9 Risk-Based Testing
      1. 3.9.1 Risk Management
      2. 3.9.2 Risk Identification
      3. 3.9.3 Risk Analysis or Risk Assessment
      4. 3.9.4 Risk Mitigation or Risk Control
      5. 3.9.5 An Example of Risk Identification and Assessment Results
      6. 3.9.6 Risk-Based Testing throughout the Lifecycle
      7. 3.9.7 Risk-Aware Testing Standards
    10. 3.10 Risk-Based Testing Exercise 1
    11. 3.11 Risk-Based Testing Exercise Debrief 1
      1. 3.11.1 Project Risk By-Products
      2. 3.11.2 Requirements Defect By-Products
    12. 3.12 Risk-Based Testing Exercise 2
    13. 3.13 Risk-Based Testing Exercise Debrief 2
      1. 3.13.1 Test Case Sequencing Guidelines
    14. 3.14 Failure Mode and Effects Analysis
      1. 3.14.1 Test Management Issues
    15. 3.15 Sample Exam Questions
  11. 4 Test Techniques
    1. 4.1 Introduction
    2. 4.2 Specification-Based Techniques
      1. 4.2.1 Equivalence Partitioning
      2. 4.2.2 Avoiding Equivalence Partitioning Errors
      3. 4.2.3 Composing Test Cases with Equivalence Partitioning
      4. 4.2.4 Equivalence Partitioning Exercise
      5. 4.2.5 Equivalence Partitioning Exercise Debrief
      6. 4.2.6 Boundary Value Analysis
      7. 4.2.7 Examples of Equivalence Partitioning and Boundary Values
      8. 4.2.8 How Many Boundary Values Are There?
      9. 4.2.9 Boundary Value Exercise
      10. 4.2.10 Boundary Value Exercise Debrief
      11. 4.2.11 Decision Tables
      12. 4.2.12 Collapsing Columns in the Table
      13. 4.2.13 Cause-Effect Graphs
      14. 4.2.14 Combining Decision Table Testing with Other Techniques
      15. 4.2.15 Nonexclusive Rules in Decision Tables
      16. 4.2.16 Decision Table Exercise
      17. 4.2.17 Decision Table Exercise Debrief
      18. 4.2.18 Use Cases
      19. 4.2.19 Use Case Exercise
      20. 4.2.20 Use Case Exercise Debrief
      21. 4.2.21 State-Based Testing and State Transition Diagrams
      22. 4.2.22 Superstates and Substates
      23. 4.2.23 State Transition Tables
      24. 4.2.24 Switch Coverage
      25. 4.2.25 State Testing with Other Techniques
      26. 4.2.26 State Testing Exercise
      27. 4.2.27 State Testing Exercise Debrief
      28. 4.2.28 Pairwise Testing
      29. 4.2.29 Pairwise Testing Exercise
      30. 4.2.30 Pairwise Testing Exercise Debrief
      31. 4.2.31 Classification Trees
      32. 4.2.32 Classification Trees Exercise
      33. 4.2.33 Classification Trees Exercise Debrief
      34. 4.2.34 Deriving Tests from the Test Basis
      35. 4.2.35 Deriving Tests from the Test Basis Exercise
      36. 4.2.36 Deriving Tests from the Test Basis Exercise Debrief
    3. 4.3 Structure-Based Techniques
      1. 4.3.1 Defect- and Experience-based Techniques
      2. 4.3.2 Defect Taxonomies
      3. 4.3.3 Error Guessing
      4. 4.3.4 Checklist Testing
      5. 4.3.5 Exploratory Testing
      6. 4.3.6 Test Charters
      7. 4.3.7 Software Attacks
      8. 4.3.8 An Example of Effective Attacks
      9. 4.3.9 Other Attacks
      10. 4.3.10 Common Themes
    4. 4.4 Defect- and Experience-Based Techniques Exercise 1
      1. 4.4.1 Defect- and Experience-Based Techniques Exercise Debrief 1
      2. 4.4.2 Defect- and Experience-Based Techniques Exercise 2
      3. 4.4.3 Defect- and Experience-Based Techniques Exercise Debrief 2
    5. 4.5 Static Analysis
    6. 4.6 Dynamic Analysis
    7. 4.7 Sample Exam Questions
  12. 5 Tests of Software Characteristics
    1. 5.1 Introduction
    2. 5.2 Quality Attributes for Domain Testing
      1. 5.2.1 Functional Accuracy
      2. 5.2.2 Functional Suitability
      3. 5.2.3 Functional Interoperability
      4. 5.2.4 Functional Interoperability Exercise
      5. 5.2.5 Functional Interoperability Exercise Debrief
      6. 5.2.6 Functional Security
      7. 5.2.7 Accessibility
      8. 5.2.8 Usability
      9. 5.2.9 Usability Exercise
      10. 5.2.10 Usability Exercise Debrief
    3. 5.3 Quality Attributes for Technical Testing
      1. 5.3.1 Technical Security
      2. 5.3.2 Security Attacks
      3. 5.3.3 Reliability
      4. 5.3.4 Efficiency Testing
      5. 5.3.5 Maintainability Testing
      6. 5.3.6 Portability Testing
    4. 5.4 Sample Exam Questions
  13. 6 Reviews
    1. 6.1 Introduction
    2. 6.2 The Principles of Reviews
    3. 6.3 Types of Reviews
    4. 6.4 Introducing Reviews
    5. 6.5 Success Factors for Reviews
      1. 6.5.1 Wiegers’s Review Checklists
      2. 6.5.2 Deutsch’s Review Checklist
    6. 6.6 Wiegers’s Checklist Review Exercise
    7. 6.7 Wiegers’s Checklist Review Exercise Debrief
    8. 6.8 Deutsch Checklist Review Exercise
    9. 6.9 Deutsch Checklist Review Exercise Debrief
    10. 6.10 Sample Exam Questions
  14. 7 Incident Management
    1. 7.1 Introduction
    2. 7.2 When Can a Defect Be Detected?
    3. 7.3 Defect Lifecycle
    4. 7.4 Defect Fields
    5. 7.5 Metrics and Incident Management
    6. 7.6 Communicating Incidents
    7. 7.7 Incident Management Exercise
    8. 7.8 Incident Management Exercise Debrief
    9. 7.9 Sample Exam Questions
  15. 8 Standards and Test Process Improvement
  16. 9 Test Tools and Automation
    1. 9.1 Introduction
    2. 9.2 Test Tool Concepts
      1. 9.2.1 Test Automation Costs
      2. 9.2.2 Test Automation Risks
      3. 9.2.3 Test Automation Benefits
      4. 9.2.4 Test Automation Strategies
      5. 9.2.5 Test Tool Integration and Scripting
      6. 9.2.6 Test Tool Classification
    3. 9.3 Test Tool Categories
      1. 9.3.1 Test Management Tools
      2. 9.3.2 Test Execution Tools
      3. 9.3.3 Debugging, Troubleshooting, Fault Seeding, and Injection Tools
      4. 9.3.4 Static and Dynamic Analysis Tools
      5. 9.3.5 Performance Test Tools
      6. 9.3.6 Web Testing Tools
      7. 9.3.7 Simulators and Emulators
    4. 9.4 Sample Exam Questions
  17. 10 People Skills and Team Composition
    1. 10.1 Introduction
    2. 10.2 Individual Skills
    3. 10.3 Test Team Dynamics
    4. 10.4 Fitting Testing within an Organization
    5. 10.5 Motivation
    6. 10.6 Communication
    7. 10.7 Sample Exam Questions
  18. 11 Preparing for the Exam
    1. 11.1 Learning Objectives
      1. 11.1.1 Level 1: Remember (K1)
      2. 11.1.2 Level 2: Understand (K2)
      3. 11.1.3 Level 3: Apply (K3)
      4. 11.1.4 Level 4: Analyze (K4)
      5. 11.1.5 Where Did These Levels of Learning Objectives Come From?
    2. 11.2 ISTQB Advanced Exams
      1. 11.2.1 Scenario-Based Questions
      2. 11.2.2 On the Evolution of the Exams
  19. Bibliography
    1. Advanced Syllabus Referenced Standards
    2. Advanced Syllabus Referenced Books
    3. Other Referenced Books
    4. Other References
  20. HELLOCARMS The Next Generation of Home Equity Lending
    1. Table of Contents
    2. II Versioning
    3. III Glossary
    4. 000 Introduction
    5. 001 Informal Use Case
    6. 003 Scope
    7. 004 System Business Benefits
    8. 010 Functional System Requirements
    9. 020 Reliability System Requirements
    10. 030 Usability System Requirements
    11. 040 Efficiency System Requirements
    12. 050 Maintainability System Requirements
    13. 060 Portability System Requirements
    14. A Acknowledgement
  21. Answers to Sample Questions
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 9
    9. Chapter 10
  22. Index
  23. Footnotes
    1. Chapter 1
    2. Chapter 3
    3. Chapter 4
    4. Chapter 5
    5. Chapter 6
    6. Chapter 9
    7. Chapter 10
    8. Appendix A