Pragmatic Software Testing: Becoming an Effective and Efficient Test ProfessionalISBN: 978-0-470-12790-2
Paperback
366 pages
April 2016
This is a Print-on-Demand title. It will be printed specifically to fill your order. Please allow an additional 10-15 days delivery time. The book is not returnable.
|
Introduction.
Part I Goals, Strategies, and Tactics.
Chapter 1 What Does It Mean to Be Pragmatic?
What Do Effective and Efficient Mean?
What Effects Do You Want?
What Is the Right Level of Efficiency?
Avoiding Redundancy.
Reducing Cost.
What Software Testing Isn’t…But Is Often Thought to Be.
Five Phases of a Tester’s Mental Life.
Other Founding Views on Testing.
Testing as a Form of Quality Risk Management.
So What Is the Test Team All About?
What Does “Quality” Mean to You?
Chapter 2 Triangle Test Exercise.
Exercise: The Triangle Test.
Your Solution for the Triangle Test.
Your Solution for the Triangle Test (Continued).
Author’s Triangle Test Solution.
Chapter 3 Aligning Testing with the Project.
Why Do Organizations Test?
Perspectives on Testing.
Testing in Context.
Common Test Phases and Objectives.
Testing Throughout the Organization.
The V Model.
Evolutionary and Incremental Models.
The Spiral Model.
Regrettably Common Model: Code and Fix.
Testing Maintenance Releases.
System Integration.
Hardware/Software Development.
The Test Process.
Chapter 4 Understanding Test Strategies, Tactics, and Design.
Aligning Mission, Strategies, and Tactics.
Analytical Test Strategies.
Model-Based Test Strategies.
Methodical Test Strategies.
Process-Oriented Test Strategies.
Dynamic Test Strategies.
Philosophical Test Strategies.
Regression.
Regression Strategy 1: Repeat All Tests.
Regression Strategy 2: Repeat Some Tests.
Three Other Regression Strategies.
Tactics: Categories of Testing Techniques.
Strategic and Tactical Considerations.
The Test System.
Classic Principles for Test Design.
Phases of Test Development.
Synopsis of Test Strategies, Tactics, and Design.
Part II Risk-Based Testing.
Chapter 5 Understanding Risks to System Quality.
Categories of Quality Risks.
Functionality.
Performance and Reliability.
Stress, Capacity, and Volume.
States.
Transactions.
Installation and Deinstallation.
Operations.
Maintenance and Maintainability.
Regression.
Usability and User Interface.
Data Quality.
Error and Disaster Handling and Recovery.
Date and Time Handling.
Localization.
Configuration and Compatibility.
Networked, Internetworked, and Distributed.
Standards and Regulatory Compliance.
Security.
Timing and Coordination.
Documentation.
Can You Think of Other Quality Risks?
Chapter 6 Aligning Testing with Quality Risks.
Prioritize Risks to System Quality.
Testing, Customer Usage, and System Configurations.
Approaches for Quality Risks Analysis.
Informal Quality Risk Analysis.
Tips for Risk Analysis.
Challenges of Risk Analysis.
Chapter 7 Quality Risk Analysis Exercise.
My Solution.
Comments on My Solution.
A Funny Thing Happened to Me on the Way to the Quality Risks… .
Bonus Exercise.
Template.
My Solution.
Comments on My Solution.
Bonus Example: Grays and Blues Quality Risk Analysis.
Part III Static Testing.
Chapter 8 Reviews and Other Static Tests.
Testing Requirements and Designs.
Reviews Costs and Benefits.
Types of Reviews.
Reviews for Verification and Validation.
Reviews as a Way to Improve the Process, Improve the System, and Reduce Costs.
Answers to the Three Questions about Static Testing.
Reviews as a Way to Achieve Consensus and Understanding.
The Review Process, Roles, and Responsibilities.
Deliverables and Ground Rules from Reviews.
Common Requirements and Design Bugs.
Reviewing (and Testing) Documentation.
Other Static Tests.
Chapter 9 Review Exercise.
Reviews.
Your Solution.
My Solution.
Comments on My Solution.
Bonus Exercise: Reviewing Triangle Requirements Title Page.
Triangle Requirements Review Using Wiegers’s List.
The Requirements Bugs You Found.
My Solution: Requirements Bugs.
Comments on My Solution.
Part IV Behavioral Testing.
Chapter 10 Equivalence Classes and Boundary Values.
Equivalence Partitioning.
Boundary Value Analysis.
Integer.
Real Numbers.
Character and String.
Date.
Time.
Currency.
Beyond Functional Classes and Boundaries.
Chapter 11 Equivalence Classes and Boundary Values Exercise.
Functional Boundaries and Classes.
My Solution and Comments.
Nonfunctional Boundaries and Classes.
Omninet Marketing Requirements Document (v0.3).
Omninet System Requirements Document (v0.2).
Chapter 12 Use Cases, Live Data, and Decision Tables.
Use Cases and Scenario Tests.
Nouns and Verbs, Adjectives and Adverbs.
Live Data and Customer Tests.
Decision Tables.
Chapter 13 Decision Table Exercise.
Decision Table Tests.
My Solution and Comments.
Decision Tables and Boundary Values.
My Solution and Comments.
Building a Decision Table for Testing.
My Solution and Comments.
Chapter 14 State Transition Diagrams.
Describing Systems with States Using State Transition Diagrams.
State Tables.
Printer Server State Transition Diagram.
Chapter 15 State Transition Diagram Exercise.
Kiosk States.
My Solution and Comments.
ATM State Models.
My Solution and Comments.
Grays and Blues and State Transition Diagrams.
My Solution and Comments.
Chapter 16 Domain Testing.
Combinatorial Explosions.
A Domain Example Using Frequent-Flyer Programs.
Possible Domain Test Values.
An Aerospace Example.
When Domain Rules Change.
Domain Analysis Summary.
Complex Domain Testing Example.
A General Rule for Complex Domains.
Chapter 17 Domain Testing Exercise.
My Solution and Comments.
Chapter 18 Orthogonal Arrays and All Pairs.
Combinatorial Explosions.
Orthogonal Arrays and All-Pairs Tables.
Two Orthogonal Arrays.
Selecting an Orthogonal Array.
Applying Orthogonal Arrays to a Complicated Real-World Example.
All-Pairs Tables.
Other Thoughts on Configuration Testing.
Chapter 19 Orthogonal Arrays Exercise.
My Solution and Comments.
Chapter 20 Reactive Testing.
General Facts about Reactive Tests.
Error Guessing, Attacks, and Bug Taxonomies.
Bug Hunting.
Exploratory Tests.
Checklists.
Other Sources of Inspiration for Reactive Testing.
Advantages and Disadvantages.
A Case Study of Exploratory Testing.
Part V Structural Testing.
Chapter 21 Control-Flow Testing.
Code Coverage.
McCabe Cyclomatic Complexity.
Chapter 22 Control-Flow Testing Exercise.
My Solution and Comments.
Chapter 23 Data-Flow Testing.
Chapter 24 Data-Flow Testing Exercise.
My Solutions and Comments.
Chapter 25 Integration Testing.
Drivers and Stubs.
Integration Techniques.
Backbone Integration.
McCabe Basis Paths for Integration.
Enhanced Hex Converter Program.
Call Flow.
Chapter 26 Integration Basis Test Exercise.
My Solution and Comments.
Part VI Appendices.
Appendix A Omninet: The Internet Everywhere Marketing Requirements Document.
1 Scope.
1.1 Terms, Acronyms, and Abbreviations.
1.2 Applicable Documents.
2 Required release date.
3 Description of requirements.
3.1 General technical requirements.
3.1.1 Welcome.
3.1.2 Payment.
3.1.3 Internet Browser.
3.1.4 Performance.
3.1.5 Localization.
3.1.6 Content Control.
3.1.7 Session Termination.
3.1.8 Confidentiality.
3.2 Administration.
3.2.1 Software Updates.
3.2.2 View Kiosks.
3.2.3 View Users.
3.2.4 Modify User.
3.2.5 Terminate User.
Appendix B Omninet: The Internet Everywhere System Requirements Document.
Functionality System Requirements.
Reliability System Requirements.
Usability System Requirements.
Efficiency System Requirements.
Maintainability System Requirements.
Portability System Requirements.
Design Models.
Omninet System Architecture.
Payment Processing Decision Table.
Kiosk Module Flow.
Kiosk State-Transition Diagram.
Kiosk State-Transition Table.
Kiosk OS/Browser/Connection Speed Configuration Orthogonal Array.
Appendix C Bibliography and Other Recommended Readings.
RBCS Company Profile.
Index.