HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
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:
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.
Preface to Best Practices for the Formal Software Testing Process: A Menu of Testing Tasks
Download the sample pages (includes Chapter 3 and Index)
Foreword xiii
Preface xv
Chapter 1: Introduction 3
1.1: Overview 3
1.2: The Software Development Life Cycle 4
1.3: The Formal Testing Life Cycle 6
1.4: Organizational Considerations 11
1.5: The Need for the Process Model 16
1.6: How to Use the Formal Testing Process Model 17
1.7: Input-Process-Output Models 21
1.8: Level 0 IPO Model for Formal Testing 24
1.9: Level 1 IPO Model for Formal Testing 25
1.10: Limitations Inherent in This Book's Scope 26
1.11: What's Next? 27
Chapter 2: The Formal Testing Process Model: Level 1 IPO Diagrams 28
2.1: Overview 28
2.2: Extract Test Information from Program Plans–Level 1 IPO Diagram 28
2.3: Create Test Plan 34
2.4: Create Test Design, Test Cases, Test Software, and Test Procedures 39
2.5: Perform Formal Test 43
2.6: Update Test Documentation 47
2.7: What's Next? 50
Chapter 3: Extract Test Information from Program Plans: Levels 2 and 3 IPO Diagrams 51
3.1: Overview 51
3.2: Extract Test Information from Program Plans–Level 2 IPO Diagram 52
3.3: Review Program Management Plan–Level 3 IPO Diagram 56
3.4: Review Quality Assurance Plan–Level 3 IPO Diagram 60
3.5: Review Software Development Plan–Level 3 IPO Diagram 64
3.6: Review Configuration Management Plan–Level 3 IPO Diagram 69
3.7: What's Next? 72
Chapter 4: Create Test Plan: Levels 2 and 3 IPO Diagrams 73
4.1: Overview 73
4.2: Create Test Plan–Level 2 IPO Diagram 74
4.3: Analyze Requirements–Level 3 IPO Diagram 78
4.4: Write Test Plan–Level 3 IPO Diagram 83
4.5: Review Test Plan–Level 3 IPO Diagram 89
4.6: What's Next? 93
Chapter 5: Create Test Design, Test Cases, Test Software, and Test Procedures: Levels 2 and 3 IPO Diagrams 94
5.1: Overview 94
5.2: Create Test Design, Test Cases, Test Software, and Test Procedures–Level 2 IPO Diagram 95
5.3: Review Test Plan–Level 3 IPO Diagram 102
5.4: Create Test Design–Level 3 IPO Diagram 105
5.5: Review Test Design–Level 3 IPO Diagram 109
5.6: Create Test Cases–Level 3 IPO Diagram 113
5.7: Acquire Test Software-Build–Level 3 IPO Diagram 119
5.8: Acquire Test Software-Buy–Level 3 IPO Diagram 123
5.9: Create Test Procedures–Level 3 IPO Diagram 126
5.10: What's Next? 131
Chapter 6: Perform Formal Test: Levels 2 and 3 IPO Diagrams 132
6.1: Overview 132
6.2: Perform Formal Test–Level 2 IPO Diagram 133
6.3: Hold Pretest Meeting–Level 3 IPO Diagram 137
6.4: Execute Test–Level 3 IPO Diagram 141
6.5: Determine Disposition of Incidents–Level 3 IPO Diagram 146
6.6: Hold Posttest Meeting–Level 3 IPO Diagram 151
6.7: Write Test Report–Level 3 IPO Diagram 155
6.8: What's Next? 159
Chapter 7: Update Test Documentation: Levels 2 and 3 IPO Diagrams 160
7.1: Overview 160
7.2: Update Test Documentation–Level 2 IPO Diagram 161
7.3: Analyze Test Documentation Problems–Level 3 IPO Diagram 164
7.4: Update Test Documents–Level 3 IPO Diagram 167
7.5: Review and Approve Software Test Documents–Level 3 IPO Diagram 170
7.6: What's Next? 173
Chapter 8: Tailoring the Model 174
8.1: Overview 174
8.2: Using the Testing Process Model for Large, Safety-Critical, or Profit-Critical Programs 175
8.3: Using the Testing Process Model for Medium-Size Programs 178
8.4: Using the Testing Process Model on Small Projects 179
8.5: Using the Process Model with Extreme Programming 181
8.6: Starting from Scratch 183
Chapter 9: Summing Up 188
9.1: Reprise: How to Use the Testing Process Model 188
9.2: Summary Thoughts 193
9.3: Conclusion 196
Appendices 197
Appendix A: The Software Engineering Institute, the Capability Maturity Model-Software, and the Capability Maturity Model Integration 199
A. 1: The Capability Maturity Model from the Software Engineering Institute at Carnegie Mellon University 199
A.2: Capability Maturity Model Integration 202
Appendix B: Preferred Practices 204
B.1: Program Management Plan and Template 204
B.2: Software Development Plan and Template 213
B.3: Software Quality Assurance Plan and Template 221
B.4: Configuration Management Plan and Template 229
Appendix C: Questionnaire for Evaluating Local Testing Processes 249
C.1: Extract Test Information from Program Plans 249
C.2: Create Test Plan 252
C.3: Create Test Design, Test Cases, Test Software, and Test Procedures 254
C.4: Perform Formal Test 257
C.5: Update Test Documentation 259
Appendix D: A Primer for Test Execution 260
Glossary 267
Bibliography 275
Index 281