The Art of Software Testing.


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)


Buy now

Search Now:
In Association with Amazon.ca

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



From the Publisher

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.


From the Inside Flap

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.


Find more on our page - Software testing books recomendations

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.



Books Software Testing Main Page
© January 2006 Alex Samurin geocities.com/xtremetesting/ and © eXtremeSoftwareTesting.com