Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional (Paperback)

Rex Black

  • 出版商: Wiley
  • 出版日期: 2007-03-01
  • 售價: $2,020
  • 貴賓價: 9.5$1,919
  • 語言: 英文
  • 頁數: 366
  • 裝訂: Paperback
  • ISBN: 0470127902
  • ISBN-13: 9780470127902
  • 相關分類: 軟體測試
  • 銷售排行: 🥇 2022/7 英文書 銷售排行 第 1 名

    無現貨庫存(No stock available)




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.

By the end of this book, you'll know more about the nuts and bolts of testing than most testers learn in an entire career, and you'll be ready to put those ideas into action on your next test project.

With the help of real-world examples integrated throughout the chapters, you'll discover how to:
* Analyze the risks to system quality
* Allocate your testing effort appropriately based on the level of risk
* Choose the right testing strategies every time
* Design tests based on a system's expected behavior (black box) or internal structure (white box)
* Plan and perform integration testing
* Explore and attack the system
* Focus your hard work to serve the needs of the project

The author's companion Web site provides exercises, tips, and techniques that can be used to gain valuable experience and effectively test software and systems.

Wiley Technology Publishing Timely. Practical. Reliable.

Visit the author's Web site at


Table of Contents



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 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.


Performance and Reliability.

Stress, Capacity, and Volume.



Installation and Deinstallation.


Maintenance and Maintainability.


Usability and User Interface.

Data Quality.

Error and Disaster Handling and Recovery.

Date and Time Handling.


Configuration and Compatibility.

Networked, Internetworked, and Distributed.

Standards and Regulatory Compliance.


Timing and Coordination.


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.


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.


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.


Real Numbers.

Character and String.




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.


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.






即使是一個簡單的系統,測試也可能很快變成一個潛在無窮的任務。面對緊迫的成本和進度,測試人員需要具備實用技巧的工具包,結合實踐經驗和正確策略,以完成一個成功的項目。世界知名的測試專家Rex Black為您提供測試專業人員必須了解的成熟方法和概念。他為您呈現了測試的基本技巧,並清楚地向您展示如何選擇和應用成功的策略來測試具有預算和時間限制的系統。




- 分析系統品質的風險
- 根據風險程度適當地分配測試工作
- 每次都選擇正確的測試策略
- 根據系統的預期行為(黑盒)或內部結構(白盒)設計測試
- 計劃和執行整合測試
- 探索和攻擊系統
- 專注於滿足項目需求的辛勤工作


Wiley Technology Publishing 及時、實用、可靠。





第一部分 目標、策略和戰術

第1章 什麼是實用主義?