Table Of Contents and List of Figures and Tables of the book "The Art of Software Testing", Second Edition, 2004 by Glenford J. Myers Revised and Updated by Tom Badgett, Todd M.Thomas, Corey Sandler (234 pages)
Preface Introduction Chapter 1 A Self-Assessment Test 1 Chapter 2 The Psychology and Economics of Program Testing 5 The Psychology of Software Testing 5 The Economics of Software Testing 9 Black-Box Testing 9 White-Box Testing 11 Software Testing Principles 14 Summary 20 Chapter 3 Program Inspections, Walkthroughs,and Reviews 21 Inspections and Walkthroughs 22 Code Inspections 24 An Error Checklist for Software Inspections 27 Data Reference Errors 27 Data-Declaration Errors 29 Computation Errors 30 Comparison Errors 31 Control-Flow Errors 32 Interface Errors 34 Input/Output Errors 35 Other Checks 38 Walkthroughs 38 Desk Checking 40 Peer Ratings 40 Summary 42 Chapter 4 Test-Case Design 43 White-Box Software Testing 44 Logic-Coverage Testing 44 Equivalence Partitioning 52 An Example 56 Boundary-Value Analysis 59 Cause-Effect Graphing 65 Error Guessing 88 The Strategy 90 Chapter 5 Module (Unit) Testing 91 Test-Case Design 92 Incremental Testing 105 Top-down versus Bottom-up Testing 109 Top-down Testing 110 Bottom-up Testing 116 A Comparison 118 Performing the Test 120 Chapter 6 Higher-Order Testing 123 Function Testing 129 System Testing 130 Facility Testing 133 Volume Testing 133 Stress Testing 134 Usability Testing 135 Security Testing 137 Performance Testing 137 Storage Testing 138 Configuration Testing 138 Compatibility/Configuration/Conversion Testing 138 Installability Testing 139 Reliability Testing 139 Recovery Testing 141 Serviceability Testing 142 Documentation Testing 142 Procedure Testing 142 Performing the System Test 143 Acceptance Testing 144 Installation Testing 144 Test Planning and Control 145 Test Completion Criteria 148 The Independent Test Agency 155 Chapter 7 Debugging Software 157 Debugging by Brute Force 158 Debugging by Induction 160 Debugging by Deduction 164 Debugging by Backtracking 168 Debugging by Testing 169 Debugging Principles 170 Error-Locating Principles 170 Error-Repairing Techniques 171 Error Analysis 173 Chapter 8 Extreme Software Testing 177 Extreme Programming Basics 178 Extreme Testing: The Concepts 183 Extreme Unit Testing 183 Acceptance Testing 185 Extreme Testing Applied 186 Test-Case Design 186 Test Driver and Application 189 Summary 191 Chapter 9 Testing Internet Applications 193 Basic E-commerce Architecture 194 Testing Challenges 196 Testing Strategies 200 Presentation Layer Testing 202 Business Layer Testing 205 Data Layer Testing 208 Appendix A Sample Extreme Testing Application 213 Appendix B Prime Numbers Less Than 1,000 221 Glossary 223 Index 227
List of Figures and Tables Figure 2.1 Control-Flow Graph of a Small Program 12 Table 2.1 Vital Program Testing Guidelines 15 Figure 2.2 The Surprising Errors Remaining/Errors Found Relationship 20 Table 3.1 Inspection Error Checklist Summary, Part I 36 Table 3.2 Inspection Error Checklist Summary, Part II 37 Figure 4.1 A Small Program to Be Tested 47 Figure 4.2 Machine Code for the Program in Figure 4.1 50 Figure 4.3 A Form for Enumerating Equivalence Classes 54 Table 4.1 Equivalence Classes 57 Figure 4.4 Input to the MTEST Program 62 Figure 4.5 Basic Cause-Effect Graph Symbols 68 Figure 4.6 Sample Cause-Effect Graph 69 Figure 4.7 Logic Diagram Equivalent to Figure 4.6 69 Figure 4.8 Constraint Symbols 70 Figure 4.9 Symbol for “Masks” Constraint 71 Figure 4.10 Sample Cause-Effect Graph with “Exclusive” Constraint 71 Figure 4.11 Syntax of the DISPLAY Command 72 Figure 4.12 Beginning of the Graph for the DISPLAY Command 76 Figure 4.13 Full Cause-Effect Graph without Constraints 77 Figure 4.14 Complete Cause-Effect Graph of the DISPLAY Command 78 Figure 4.15 Considerations Used When Tracing the Graph 80 Figure 4.16 Sample Graph to Illustrate the Tracing Considerations 81 Figure 4.17 First Half of the Resultant Decision Table 82 Figure 4.18 Second Half of the Resultant Decision Table 84 Figure 5.1 Input Tables to Module BONUS 93 Figure 5.2 Module BONUS 94 Table 5.1 Situations Corresponding to the Decision Outcomes 96 Figure 5.3 Test Cases to Satisfy the Decision-Coverage Criterion 97 Table 5.2 Situations Corresponding to the Condition Outcomes 98 Figure 5.4 Test Cases to Satisfy the Condition-Coverage Criterion 99 Figure 5.5 Test Cases to Satisfy the Multicondition-Coverage Criterion 100 Figure 5.6 Supplemental Boundary-Value-Analysis Test Cases for BONUS 104 Figure 5.7 Sample Six-Module Program 106 Figure 5.8 Sample 12-Module Program 111 Figure 5.9 Second Step in the Top-down Test 113 Figure 5.10 Intermediate State in the Top-down Test 115 Figure 5.11 Intermediate State in the Bottom-up Test 118 Table 5.3 Comparison of Top-down and Bottom-up Testing 119 Figure 6.1 The Software Development Process 124 Figure 6.2 The Development Process with Intermediate Verification Steps 126 Figure 6.3 The Correspondence between Development and Testing Processes 127 Figure 6.4 The System Test 131 Table 6.1 Hours per Year for Various Uptime Requirements 141 Table 6.2 Hypothetical Estimate of When the Errors Might Be Found 151 Figure 6.5 Estimating Completion by Plotting Errors Detected by Unit Time 153 Figure 6.6 Postmortem Study of the Testing Processes of a Large Project 154 Figure 7.1 The Inductive Debugging Process 161 Figure 7.2 A Method for Structuring the Clues 162 Figure 7.3 An Example of Clue Structuring 163 Figure 7.4 The Deductive Debugging Process 165 Figure 7.5 Test Case Results from the DISPLAY Command 166 Table 8.1 The 12 Practices of Extreme Programming 180 Table 8.2 Test Case Descriptions for check4Prime.java 187 Table 8.3 Test Driver Methods 189 Figure 9.1 Typical Architecture of an E-Commerce Site 195 Table 9.1 Examples of Presentation, Business, and Data Tier Testing 199 Figure 9.2 Detailed View of Internet Application Architecture 202 Table 9.2 Items to Test in Each Tier 203
Provides a practical rather than theoretical discussion of the purpose and nature of software testing. Emphasizes methodologies for the design of effective test cases. Comprehensively covers psychological and economic principles, managerial aspects of testing, test tools, high-order testing, code inspections, and debugging. Extensive bibliography. Programmers at all levels, and programming students, will find this reference work indispensible. --This text refers to an out of print or unavailable edition of this title.
When this book was first published in 1979, software testing was far from an exact science. Considered the "dark art" of software development, it was a little-understood process without a set of standard principles.Twenty-five years later, testing hasn’t really changed--but The Art of Software Testing has.
In addition to all the major software testing topics--such as higher-order testing, white- and black-box testing, debugging, code inspections, and walkthroughs--this fully updated Second Edition features up-to-date information on testing twenty-first-century software projects, including vital Internet-based e-commerce applications, as well as details on Extreme Testing, which supports the widely used Extreme Programming development methodology.
Just like the first edition, this revision fills the gaps in the professional literature and provides a practical, rather than theoretical, discussion of the purpose, nature, and principles of proper testing. While the book focuses on methodologies for the design of effective test cases, it also covers the psychological and economic issues that are essential to a full understanding of program testing.
Many programming students enter the workforce without the proper understanding of software testing. This book covers all the essential topics for those students, but also provides all the detail and precision that working programmers might need during the testing phase. Appropriate for programmers and students at any level, The Art of Software Testing, Second Edition presents all the latest new i deas and techniques--many illustrated with helpful examples. Comprehensive and always practical, this essential guide includes code-inspection checklists, a self-assessment test, and other resources programmers need for effective testing-- and fewer bugs.
On this page I put Table of Contents and List of Figures and Tables of the book "The Art of Software Testing", Second Edition, 2004 by Glenford J. Myers.