You are previewing Best Practices for the Formal Software Testing Process: A Menu of Testing Tasks.
O'Reilly logo
Best Practices for the Formal Software Testing Process: A Menu of Testing Tasks

Book Description

This is the digital version of the printed book (Copyright © 2004).

Testing is not a phase. Software developers should not simply throw software over the wall to test engineers when the developers have finished coding. A coordinated program of peer reviews and testing not only supplements a good software development process, it supports it.

A good testing life cycle begins during the requirements elucidation phase of software development, and concludes when the product is ready to install or ship following a successful system test.

Nevertheless, there is no one true way to test software; the best one can hope for is to possess a formal testing process that fits the needs of the testers as well as those of the organization and its customers.

A formal test plan is more than an early step in the software testing process—it's a vital part of your software development life cycle. This book presents a series of tasks to help you develop a formal testing process model, as well as the inputs and outputs associated with each task. These tasks include:

  • review of program plans

  • development of the formal test plan

  • creation of test documentation (test design, test cases, test software, and test procedures)

  • acquisition of automated testing tools

  • test execution

  • updating the test documentation

  • tailoring the model for projects of all sizes

Whether you are an experienced test engineer looking for ways to improve your testing process, a new test engineer hoping to learn how to perform a good testing process, a newly assigned test manager or team leader who needs to learn more about testing, or a process improvement leader, this book will help you maximize your effectiveness.

Table of Contents

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Also Available from Dorset House Publishing
  5. Dedication
  6. Acknowledgments
  7. Contents
  8. Foreword
  9. Preface
    1. Objectives
    2. Intended Audience
    3. Prerequisites
    4. How to Read This Book
    5. Scope of Coverage
    6. Features
    7. Benefits to the Reader
  10. Chapter 1. Introduction
    1. 1.1. Overview
    2. 1.2. The Software Development Life Cycle
    3. 1.3. The Formal Testing Life Cycle
    4. 1.4. Organizational Considerations
    5. 1.5. The Need for the Process Model
    6. 1.6. How to Use the Formal Testing Process Model
    7. 1.7. Input-Process-Output Models
    8. 1.8. Level 0 IPO Model for Formal Testing
    9. 1.9. Level 1 IPO Model for Formal Testing
    10. 1.10. Limitations Inherent in This Book’s Scope
    11. 1.11. What’s Next?
  11. Chapter 2. The Formal Testing Process Model: Level 1 IPO Diagrams
    1. 2.1. Overview
    2. 2.2. Extract Test Information from Program Plans—Level 1 IPO Diagram
    3. 2.3. Create Test Plan
    4. 2.4. Create Test Design, Test Cases, Test Software, and Test Procedures
    5. 2.5. Perform Formal Test
    6. 2.6. Update Test Documentation
    7. 2.7. What’s Next?
  12. Chapter 3. Extract Test Information from Program Plans: Levels 2 and 3 IPO Diagrams
    1. 3.1. Overview
    2. 3.2. Extract Test Information from Program Plans-Level 2 IPO Diagram
    3. 3.3. Review Program Management Plan—Level 3 IPO Diagram
    4. 3.4. Review Quality Assurance Plan—Level 3 IPO Diagram
    5. 3.5. Review Software Development Plan—Level 3 IPO Diagram
    6. 3.6. Review Configuration Management Plan—Level 3 IPO Diagram
    7. 3.7. What’s Next?
  13. Chapter 4. Create Test Plan: Levels 2 and 3 IPO Diagrams
    1. 4.1. Overview
    2. 4.2. Create Test Plan—Level 2 IPO Diagram
    3. 4.3. Analyze Requirements—Level 3 IPO Diagram
    4. 4.4. Write Test Plan—Level 3 IPO Diagram
    5. 4.5. Review Test Plan—Level 3 IPO Diagram
    6. 4.6. What’s Next?
  14. Chapter 5. Create Test Design, Test Cases, Test Software, and Test Procedures: Levels 2 and 3 IPO Diagrams
    1. 5.1. Overview
    2. 5.2. Create Test Design, Test Cases, Test Software, and Test Procedures—Level 2 IPO Diagram
    3. 5.3. Review Test Plan—Level 3 IPO Diagram
    4. 5.4. Create Test Design—Level 3 IPO Diagram
    5. 5.5. Review Test Design—Level 3 IPO Diagram
    6. 5.6. Create Test Cases—Level 3 IPO Diagram
    7. 5.7. Acquire Test Software-Build—Level 3 IPO Diagram
    8. 5.8. Acquire Test Software-Buy—Level 3 IPO Diagram
    9. 5.9. Create Test Procedures—Level 3 IPO Diagram
    10. 5.10. What’s Next?
  15. Chapter 6. Perform Formal Test: Levels 2 and 3 IPO Diagrams
    1. 6.1. Overview
    2. 6.2. Perform Formal Test—Level 2 IPO Diagram
    3. 6.3. Hold Pretest Meeting—Level 3 IPO Diagram
    4. 6.4. Execute Test—Level 3 IPO Diagram
    5. 6.5. Determine Disposition of Incidents—Level 3 IPO Diagram
    6. 6.6. Hold Posttest Meeting—Level 3 IPO Diagram
    7. 6.7. Write Test Report—Level 3 IPO Diagram
    8. 6.8. What’s Next?
  16. Chapter 7. Update Test Documentation: Levels 2 and 3 IPO Diagrams
    1. 7.1. Overview
    2. 7.2. Update Test Documentation—Level 2 IPO Diagram
    3. 7.3. Analyze Test Documentation Problems—Level 3 IPO Diagram
    4. 7.4. Update Test Documents—Level 3 IPO Diagram
    5. 7.5. Review and Approve Software Test Documents—Level 3 IPO Diagram
    6. 7.6. What’s Next?
  17. Chapter 8. Tailoring the Model
    1. 8.1. Overview
    2. 8.2. Using the Testing Process Model for Large, Safety-Critical, or Profit-Critical Programs
    3. 8.3. Using the Testing Process Model for Medium-Size Programs
    4. 8.4. Using the Testing Process Model on Small Projects
    5. 8.5. Using the Process Model with Extreme Programming
    6. 8.6. Starting from Scratch
  18. Chapter 9. Summing Up
    1. 9.1: Reprise. How to Use the Testing Process Model
    2. 9.2. Summary
    3. 9.3. Conclusion
  19. Appendices
    1. Appendix A. The Software Engineering Institute, the Capability Maturity Model for Software, and the Capability Maturity Model Integration
      1. A.1. The Capability Maturity Model from the Software Engineering Institute at Carnegie Mellon University
      2. A.2. Capability Maturity Model Integration
    2. Appendix B. Preferred Practices
      1. B.1. Program Management Plan and Template
      2. B.2. Software Development Plan and Template
      3. B.3. Software Quality Assurance Plan and Template
      4. B.4. Software Configuration Management Plan and Template
      5. B.5. System Test Plan and Template
    3. Appendix C. Questionnaire for Evaluating Local Testing Processes
      1. C.1. Extract Test Information from Program Plans, Process 1.1
      2. C.2. Create Test Plan, Process 1.2
      3. C.3. Create Test Design, Test Cases, Test Software, and Test Procedures, Process 1.3
      4. C.4. Perform Formal Test, Process 1.4
      5. C.5. Update Test Documentation, Process 1.5
    4. Appendix D. A Primer for Test Execution
  20. Glossary
  21. Bibliography
  22. Index