Find a copy in the library
Finding libraries that hold this item...
|All Authors / Contributors:||
|Description:||XIV, 389 S. : Ill., graph. Darst.|
|Contents:||Introduction. About the Second Edition Who Should Use This Book? What This Book Will Do for You Software Necessary to Use This Book How This Book Is Organized Part I: The Big Picture Part II: Testing Fundamentals Part III: Applying Your Testing Skills Part IV: Supplementing Your Testing Part V: Working with Test Documentation Part VI: The Future Appendix Conventions Used in This Book I. THE BIG PICTURE. 1. Software Testing Background. Infamous Software Error Case Studies Disney's Lion King, 1994-1995 Intel Pentium Floating-Point Division Bug, 1994 NASA Mars Polar Lander, 1999 Patriot Missile Defense System, 1991 The Y2K (Year 2000) Bug, circa 1974 Dangerous Viewing Ahead, 2004 What Is a Bug? Terms for Software Failures Software Bug: A Formal Definition Why Do Bugs Occur? The Cost of Bugs What Exactly Does a Software Tester Do? What Makes a Good Software Tester? Summary Quiz 2. The Software Development Process. Product Components What Effort Goes Into a Software Product? What Parts Make Up a Software Product? Software Project Staff Software Development Lifecycle Models Big-Bang Model Code-and-Fix Model Waterfall Model Spiral Model Summary Quiz 3. The Realities of Software Testing. Testing Axioms It's Impossible to Test a Program Completely Software Testing Is a Risk-Based Exercise Testing Can't Show That Bugs Don't Exist The More Bugs You Find, the More Bugs There Are The Pesticide Paradox Not All the Bugs You Find Will Be Fixed When a Bug's a Bug Is Difficult to Say Product Specifications Are Never Final Software Testers Aren't the Most Popular Members of a Project Team Software Testing Is a Disciplined Technical Profession Software Testing Terms and Definitions Precision and Accuracy Verification and Validation Quality and Reliability Testing and Quality Assurance (QA) Summary Quiz II. TESTING FUNDAMENTALS. 4. Examining the Specification. Getting Started Black-Box and White-Box Testing Static and Dynamic Testing Static Black-Box Testing: Testing the Specification Performing a High-Level Review of the Specification Pretend to Be the Customer Research Existing Standards and Guidelines Review and Test Similar Software Low-Level Specification Test Techniques Specification Attributes Checklist Specification Terminology Checklist Summary Quiz 5. Testing the Software with Blinders On. Dynamic Black-Box Testing: Testing the Software While Blindfolded Test-to-Pass and Test-to-Fail Equivalence Partitioning Data Testing Boundary Conditions Sub-Boundary Conditions Default, Empty, Blank, Null, Zero, and None Invalid, Wrong, Incorrect, and Garbage Data State Testing Testing the Software's Logic Flow Testing States to Fail Other Black-Box Test Techniques Behave Like a Dumb User Look for Bugs Where You've Already Found Them Think like a Hacker Follow Experience, Intuition, and Hunches Summary Quiz 6. Examining the Code. Static White-Box Testing: Examining the Design and Code Formal Reviews Peer Reviews Walkthroughs Inspections Coding Standards and Guidelines Examples of Programming Standards and Guidelines Obtaining Standards Generic Code Review Checklist Data Reference Errors Data Declaration Errors Computation Errors Comparison Errors Control Flow Errors Subroutine Parameter Errors Input/Output Errors Other Checks Summary Quiz 7. Testing the Software with X-Ray Glasses. Dynamic White-Box Testing Dynamic White-Box Testing Versus Debugging Testing the Pieces Unit and Integration Testing An Example of Module Testing Data Coverage Data Flow Sub-Boundaries Formulas and Equations Error Forcing Code Coverage Program Statement and Line Coverage Branch Coverage Condition Coverage Summary Quiz III. APPLYING YOUR TESTING SKILLS. 8. Configuration Testing. An Overview of Configuration Testing Isolating Configuration Bugs Sizing Up the Job Approaching the Task Decide the Types of Hardware You'll Need Decide What Hardware Brands, Models, and Device Drivers Are Available Decide Which Hardware Features, Modes, and Options Are Possible Pare Down the Identified Hardware Configurations to a Manageable Set Identify Your Software's Unique Features That Work with the Hardware Configurations Design the Test Cases to Run on Each Configuration 136 Execute the Tests on Each Configuration Rerun the Tests Until the Results Satisfy Your Team Obtaining the Hardware Identifying Hardware Standards Configuration Testing Other Hardware Summary Quiz 9. Compatibility Testing. Compatibility Testing Overview Platform and Application Versions Backward and Forward Compatibility The Impact of Testing Multiple Versions Standards and Guidelines High-Level Standards and Guidelines Low-Level Standards and Guidelines Data Sharing Compatibility Summary Quiz 10. Foreign-Language Testing. Making the Words and Pictures Make Sense Translation Issues Text Expansion ASCII, DBCS, and Unicode Hot Keys and Shortcuts Extended Characters Computations on Characters Reading Left to Right and Right to Left Text in Graphics Keep the Text out of the Code Localization Issues Content Data Formats Configuration and Compatibility Issues Foreign Platform Configurations Data Compatibility How Much Should You Test? Summary Quiz 11. Usability Testing. User Interface Testing What Makes a Good UI? Follows Standards and Guidelines Intuitive Consistent Flexible Comfortable Correct Useful Testing for the Disabled: Accessibility Testing Legal Requirements Accessibility Features in Software Summary Quiz 12. Testing the Documentation. Types of Software Documentation The Importance of Documentation Testing What to Look for When Reviewing Documentation The Realities of Documentation Testing Summary Quiz 13. Testing for Software Security. WarGames-the Movie Understanding the Motivation Threat Modeling Is Software Security a Feature? Is Security Vulnerability a Bug? Understanding the Buffer Overrun Using Safe String Functions Computer Forensics Summary Quiz 14. Website Testing. Web Page Fundamentals Black-Box Testin Text Hyperlinks Graphics Forms Objects and Other Simple Miscellaneous Functionality Gray-Box Testing White-Box Testing Configuration and Compatibility Testing Usability Testing Introducing Automation Summary Quiz IV. SUPPLEMENTING YOUR TESTING. 15. Automated Testing and Test Tools. The Benefits of Automation and Tools Test Tools Viewers and Monitors Drivers Stubs Stress and Load Tools Interference Injectors and Noise Generators Analysis Tools Software Test Automation Macro Recording and Playback Programmed Macros Fully Programmable Automated Testing Tools Random Testing: Monkeys and Gorillas Dumb Monkeys Semi-Smart Monkeys Smart Monkeys Realities of Using Test Tools and Automation Summary Quiz 16. Bug Bashes and Beta Testing. Having Other People Test Your Software Test Sharing Beta Testing Outsourcing Your Testing Summary Quiz V. WORKING WITH TEST DOCUMENTATION. 17. Planning Your Test Effort. The Goal of Test Planning Test Planning Topics High-Level Expectations People, Places, and Things Definitions Inter-Group Responsibilities What Will and Won't Be Tested Test Phases Test Strategy Resource Requirements Tester Assignments Test Schedule Test Cases Bug Reporting Metrics and Statistics Risks and Issues Summary Quiz 18. Writing and Tracking Test Cases. The Goals of Test Case Planning Test Case Planning Overview Test Design Test Cases Test Procedures Test Case Organization and Tracking Summary Quiz 19. Reporting What You Find. Getting Your Bugs Fixed Isolating and Reproducing Bugs Not All Bugs Are Created Equal A Bug's Life Cycle Bug-Tracking Systems The Standard: The Test Incident Report Manual Bug Reporting and Tracking Automated Bug Reporting and Tracking Summary Quiz 20. Measuring Your Success. Using the Information in the Bug Tracking Database Metrics That You'll Use in Your Daily Testing Common Project-Level Metrics Summary Quiz VI. THE FUTURE. 21. Software Quality Assurance. Quality Is Free Testing and Quality Assurance in the Workplace Software Testing Quality Assurance Other Names for Software Testing Groups Test Management and Organizational Structures Capability Maturity Model (CMM) ISO 9000 Summary Quiz 22. Your Career as a Software Tester. Your Job as a Software Tester Finding a Software Testing Position Gaining Hands-On Experience Formal Training Opportunities Websites Professional Organizations Dedicated to Software or Software Quality Further Reading Summary Quiz APPENDIX. A. Answers to Quiz Questions. Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Chapter 22 Index.|