Wiley
Wiley.com
Print this page Share

Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional

ISBN: 978-0-470-12790-2
388 pages
February 2007
Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional (0470127902) cover image
A hands-on guide to testing techniques that deliver reliable software and systems

Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints.

Black begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes how to design, develop, and, ultimately, document various kinds of tests. Because this is a hands-on activity, Black includes realistic, life-sized exercises that illustrate all of the major test techniques with detailed solutions.

See More
Acknowledgments.

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.

See More
Rex Black is a 20-plus-year software and systems engineering veteran, and President and Principal Consultant of RBCS, Inc., a leader in software, hardware, and systems testing. He is the author of Managing the Testing Process as well as numerous articles. Black is also President of both the International Software Testing Qualifications Board and the American Software Testing Qualifications Board.
See More
Back to Top