Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional (Paperback)
暫譯: 務實軟體測試:成為有效且高效的測試專業人士 (平裝本)

Rex Black

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

    海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

Description 

 
 
 
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 http://www.rexblackconsulting.com/

 

Table of Contents

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.

商品描述(中文翻譯)

**描述**

一本實用的測試技術指南,提供可靠的軟體和系統

即使是測試一個簡單的系統,也可能迅速變成一項潛在無限的任務。面對緊迫的成本和時間表,測試人員需要擁有一套實用的技術工具,結合實際經驗和正確的策略,以完成成功的專案。世界知名的測試專家 Rex Black 提供了測試專業人員必須了解的經驗法則和概念。他向您介紹了測試的基本技術,並清楚地展示如何選擇和應用成功的策略來測試一個有預算和時間限制的系統。

Black 首先討論有效且高效測試的目標和策略。接著,他奠定了基於風險的測試技術的基礎,解釋如何使用非正式和正式技術來分析、優先排序和記錄系統質量的風險。然後,他清楚地描述了如何設計、開發並最終記錄各種測試。由於這是一項實踐活動,Black 包含了現實的、實際大小的練習,展示所有主要測試技術及其詳細解決方案。

在本書結束時,您將比大多數測試人員在整個職業生涯中學到的更多測試的基本知識,並且您將準備好在下一個測試專案中付諸實行這些想法。

透過整個章節中整合的真實案例,您將發現如何:
* 分析系統質量的風險
* 根據風險水平適當分配測試工作
* 每次都選擇正確的測試策略
* 根據系統的預期行為(黑箱)或內部結構(白箱)設計測試
* 計劃和執行整合測試
* 探索並攻擊系統
* 將您的努力集中在滿足專案需求上

作者的伴隨網站提供練習、提示和技術,可用於獲得寶貴的經驗並有效測試軟體和系統。

Wiley 技術出版 及時、實用、可靠。

造訪作者的網站 http://www.rexblackconsulting.com/

**目錄**

**致謝。**

**導言。**

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

**第1章 實用主義意味著什麼?**

有效和高效意味著什麼?

您想要什麼效果?

什麼是正確的效率水平?

避免冗餘。

降低成本。

軟體測試不是……但常被認為是。

測試人員心理生活的五個階段。

其他測試的基本觀點。

測試作為一種質量風險管理的形式。

那麼測試團隊到底是什麼?

“質量”對您來說意味著什麼?

**第2章 三角測試練習。**

練習:三角測試。

您對三角測試的解決方案。

您對三角測試的解決方案(續)。

作者的三角測試解決方案。

**第3章 將測試與專案對齊。**

為什麼組織要進行測試?

測試的觀點。

上下文中的測試。

常見的測試階段和目標。

整個組織中的測試。

V 模型。

演進和增量模型。

螺旋模型。

可惜的常見模型:編碼和修復。

測試維護版本。

系統整合。

硬體/軟體開發。

測試過程。

**第4章 理解測試策略、戰術和設計。**

對齊任務、策略和戰術。

分析性測試策略。

基於模型的測試策略。

系統化測試策略。

以過程為導向的測試策略。

動態測試策略。

哲學性測試策略。

回歸。

回歸策略1:重複所有測試。

回歸策略2:重複某些測試。

其他三種回歸策略。

戰術:測試技術的類別。

戰略和戰術考量。

測試系統。

測試設計的經典原則。

測試開發的階段。

測試策略、戰術和設計的概要。

**第二部分 基於風險的測試。**

**第5章 理解系統質量的風險。**

質量風險的類別。

功能性。

性能和可靠性。

壓力、容量和體積。

狀態。

交易。

安裝和卸載。

操作。

維護和可維護性。

回歸。

可用性和用戶介面。

數據質量。

錯誤和災難處理及恢復。

日期和時間處理。

本地化。

配置和相容性。

網絡、互聯網和分佈式。

標準和法規遵循。

安全性。

時序和協調。

文檔。

您能想到其他質量風險嗎?

**第6章 將測試與質量風險對齊。**

優先考慮系統質量的風險。