Critical Testing Processes: Plan, Prepare, Perform, Perfect
暫譯: 關鍵測試流程:計劃、準備、執行、完善

Rex Black

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

商品描述

The advent of agile methodologies and test-driven development has brought software testing to the forefront of application development. Yet in today’s harried rush-to-market development environment, organizations must find a delicate balance between product release and product quality.

In Critical Testing Processes, the author distills knowledge gained from 20 years of testing experience into twelve critical processes. These include highly visible processes by which peers and management judge competence, and mission-critical processes in which performance affects the company’s profits and reputation.

After each process is introduced, the author demonstrates its use through an engaging case study. Instead of cumbersome regulations, this book provides checklists—lightweight, flexible tools for implementing process-oriented testing, gathering metrics, and making incremental process changes. By demonstrating critical processes in various organizational, operational, and technological contexts, this book shows readers how to:

  • Handle recurrent tests efficiently and consistently
  • Develop a cohesive, cooperative team that sidesteps redundancies
  • Build a reputation for reliability through the effective communication of test results
  • Define the focus of tests for maximum customer satisfaction and organizational success

    Because testing is a collaborative process with the participation of staff throughout the organization, the author discusses interpersonal and cultural issues in depth. This book also devotes ample coverage to the often-overlooked areas of planning and perfecting tests. Whatever your role in testing—from test engineering to managing hundreds of test engineers—Critical Testing Processes will offer valuable insights into what you do, why it’s important, and how you can perform better.

  • Table of Contents

    Foreword.


    Acknowledgments.


    Preface.


    Introduction.

    Book Scope.

    Who Should Read This Book?

    Demystifying Processes.

    Types and Relationships of Critical Testing Processes.

    Critical Testing Processes in Context.

    Sumatra, a Hypothetical Project.

    Terminology.

    On Using This Book.

    Recognize Good Processes.

    Handle Challenges.

    Implement Improvements.

    To Your Testing Success!

    I. PLAN.

    1. Start with the Big Picture: Put the Test Role in the Broader Context.


     

    A Testing Process.

    Understanding Operational and Organizational Context.

    Introducing the Sumatra Project and the SpeedyWriter Test Team.

    Testing within the System Development Lifecycle.

    Organizing the Testers and the Testing.

    Management Dimensions.

    Beyond Testing Process Context.

    2. Focus the Effort: Analyze Quality Risks.


     

    A Quality Risk Analysis Process.

    Jamal Introduces the Team to Quality Risk Analysis.

    Recognize a Good Quality Risk Analysis Process.

    Involve the Right Participants.

    Employ the Right Technique.

    Separate the Vital Few from the Trivial Many.

    Find Potential Bugs before Testing.

    Start at the Right Time.

    Adapt to Change.

    Handle Challenges.

    Getting People to Get Real about Risk.

    Quality Risks from Various Sources.

    Who Drives the Quality Risk Analysis Bus?

    Eliminating the Appearance of Magic in the Quantification of Risk.

    Dealing with Variation in Ratings.

    Convincing Stakeholders to Invest Time and Accept Reality.

    Implement Improvements.

    3. Gaze into the Crystal Ball: Estimate the Work Ahead.


     

    An Estimation Process.

    Jamal Predicts the Future.

    Using Rules of Thumb for Rough Estimation.

    Effort, Duration, and Dependencies.

    Planning.

    Staffing.

    Test Development.

    Test Environment Configuration.

    Test Execution.

    Moving on to Dollars and Cents.

    4. It's Not What It Costs, It's What It Saves: Budget and Return on Investment.


     

    Analyzing Return on Investment for Testing.

    Bugs That Get Fixed-or Prevented.

    Bugs That Don't Get Fixed-but Are Known.

    Tests That Mitigate Risks.

    Guiding the Project.

    A Final Note on Return on Investment Estimates.

    Jamal Prepares the Bill-and the Justification.

    Moving Forward, Then Looking Back.

    5. From Estimate to Baseline: Obtain Commitment to Realistic, Actionable, Truthful Estimates.


     

    Selling the Estimate.

    Jamal Makes His Case.

    Recognize a Good Estimation Process.

    Understand the Factors that Affect the Estimate.

    Paint a Realistic Picture of the Project's Future.

    Assign Responsibility for Action.

    Predict with Honesty.

    Estimate Quickly.

    Handle Challenges.

    What Kind of Investment Is Testing, Really?

    It Might Look Like Magic-But It's Only an Estimate.

    The Nine-Month Rule.

    Be Careful with Nonstakeholders.

    When Selling Fails.

    Safety- or Mission-Critical Systems.

    Implement Improvements.

    6. Gain and Communicate Insights: Plan the Test Effort.


     

    A Test Planning Process.

    Jamal Has a Plan.

    Beyond the Process: Key Considerations for the Test Plan.

    Selecting Strategies for Testing.

    A Special Case: Regression Risk Management Strategies.

    Understanding Test Environment Execution Resources.

    Managing Test Systems and Environment Configurations.

    Test Subproject Risks.

    Getting Everyone On Board.

    7. From Suggestion to Commitment: Assemble Stakeholder Support for Good Test Plans.


     

    Jamal Makes His Pitch.

    Recognize a Good Test Planning Process.

    Establish Clear Criteria for Phases.

    Establish Consensus, Common Expectations, and Commitment.

    Complete at a Reasonable Time.

    Promote Reasonable Flexibility and Creativity.

    Produce Appropriate Documentation.

    Provide Opportunities to Catch Errors.

    Exploit Synergies with the Project, Development, Build, and Integration Plans.

    Handle Challenges.

    Transcending the Template.

    Planning for Outsourcing.

    When Key Players Don't Support the Test Plan.

    Obeying the Law and Pleasing Regulators.

    Implement Improvements.

    II. PREPARE.

    8. Bring on the Great Testers: The How and the Who of Hiring.


     

    A Team Building Process.

    Variations on the Team Building Process.

    The Sumatra Test Team Grows.

    Identifying and Managing the Critical Test Team Skills.

    Regarding Test Technicians.

    Test Team Staffing Variations: Temporary Assignment, Rotation, Farm Team, and Backwater.

    Education, Training, Certification, and the Professionalization of Testing.

    Attitude Matters Too.

    Beyond the Obvious Interview Questions.

    From Adding People to Growing Skills.

    9. Grow Excellent Test Teams: Skills, Attitudes, and Career Paths.


     

    Jamal and Lin-Tsu Discuss Skills Growth.

    Using Skills Assessment as a Career Growth and Team Management Tool.

    Recognize a Good Team Building Process.

    Operate on a Win-Win Philosophy.

    Accurately Define the Job.

    Provide the Employee with a Long-Term Career Path.

    Give Employees Appropriate and Fair Salaries.

    Retain Employees with Sufficient Education, Experience, and Skill.

    Allow Appropriate Specialization.

    Handle Challenges.

    What Do Testers Need to Know-and What Can You Get?

    White Elephants.

    Using Contractors and Consultants.

    Implement Improvements.

    10. Archimedes' Bathtub: Design and Implement Test Systems.


     

    A Test System Design and Implementation Process.

    Emma Creates Stress on the Job.

    Three Crucial Considerations.

    Test Oracles.

    Appropriate Documentation.

    Combinatorial Explosions.

    Shifting to the Management Picture.

    11. Fill the Bathtub: Test System Coverage and Quality.


     

    A Brief Survey of Test Coverage Analysis Techniques.

    Jamal Assesses Coverage.

    Recognize a Good Test System Design and Implementation Process.

    Provides Capable Tools for Assessment of Quality.

    Efficiently Implements, Uses, Reuses, and Maintains the Test System.

    Selects the Right Techniques.

    Prevents Bugs.

    Handle Challenges.

    How Many Conditions in a Test Case?

    Retesting Third-Party Components.

    Vaguely Defined Requirements, Usage Profiles, and Environments.

    Balancing Coverage, Schedule, and Budget.

    Implement Improvements.

    III. PERFORM.

    12. An Essential Handoff: Manage Test Releases.


     

    A Test Release Process.

    The Big Build Hits the Test Lab.

    Recognize a Good Test Release Process.

    Provide Installable, Improved, and Stable Test Releases.

    Produce Predictable, Timely, and Regular Test Releases.

    Use Defined, Customer-Like Install and Uninstall Processes.

    Give the Test Release a Name That It Knows.

    Build from Carefully Selected, Coordinated, and Documented Content.

    Handle Challenges.

    Who Owns the Test Release Processes?

    Complexity of the System Under Test-and Beyond.

    Incomplete and Unrealistic System and Acceptance Test Releases.

    Implement Improvements.

    13. Assess Quality: Execute Test Cases.


     

    A Test Execution Process.

    Test Tracking Worksheets.

    The Attack on the Big Build.

    Recognize a Good Test Execution Process.

    Find the Scary Stuff First.

    Produce, Gather, and Disseminate Valuable Information.

    Correctly Interpret Test Results.

    Exhibit the Proper Attitudes.

    Proceed Efficiently.

    Handle Challenges.

    Dealing with Extended Shifts and Outsourced Testing.

    Accommodating Holidays, Cultures, and Vacations.

    Capturing the History on the Ground.

    Implement Improvements.

    IV. PERFECT.

    14. Where Quality Falls Short: Report Bugs.


     

    A Bug Reporting Process.

    A Big Bug in the Big Build.

    Beyond the Failure Description.

    Recognize a Good Bug Reporting Process.

    Effectively Communicate Useful Information.

    Describe One Symptom per Report and File One Report per Symptom.

    Draw a Clear Boundary Between Testing and Debugging.

    Handle Challenges.

    Separating Bugs, Features, and "So What".

    Handling Bugs That Got Fixed by Accident and Irreproducible Symptoms.

    Keeping Noise Out of the Signal.

    Building Trust and Credibility with Programmers.

    Selecting the Right Bug Tracking Tool.

    Implement Improvements.

    15. Illuminate the Fourth Element: Report the Test Results.


     

    A Test Results Reporting Process.

    Jamal Defines a Dashboard-and Reports on the Big Build's Test Results.

    Recognize a Good Test Results Reporting Process.

    Deliver Useful, Credible, and Timely Information.

    Relate Test Status to Project Progress-and Influence Future Progress.

    Show Trends and Destinations in Quality over Time.

    Use Appropriate Mechanisms and Documents.

    Tune the Communication to Each Listener.

    Handle Challenges.

    Handling the Presentation.

    The Bearer of Bad News.

    An Ever-Changing Complex Story.

    Maintaining a Passion for Quality While Giving a Dispassionate Presentation.

    Implement Improvements.

    16. Leverage Opportunities to Learn: Manage Change and Its Effects on Testing.


     

    A Change Management Process.

    Jamal Makes a Case-and Accommodates.

    An Interconnected Process.

    Recognize a Good Change Management Process.

    Select the Right Changes in the Right Order.

    Balance Considerations of Features, Schedule, Budget, and Quality.

    Handle Challenges.

    The Complex Nature of Change Effects.

    The Ripple Effects of Change.

    Becoming a Roadblock-or Becoming Perceived as a Roadblock.

    Implement Improvements.

    17. Return to the Big Picture: Perfect the Testing Process.


     

    Recognize a Good Test Process.

    Provide Valuable, Economical Services.

    Pervade the Project.

    Use a Mature Process.

    Apply the Appropriate Level of Formality and Standardization.

    Employ Appropriate Strategies.

    Successfully Introduce Tools.

    Enjoy Continuous Learning and Inspiration.

    Handle Challenges.

    How Can We Measure What We Can't Define?

    Immature Development or Maintenance Processes.

    Unrealistic Expectations.

    Relationships.

    "Addicted to Test".

    Incremental Process Improvement.

    Fine-Tune the Big Processes.

    Identify and Remove the Big Process Obstacles.

    Implement Improvements.

    Jamal Brown Looks Back-and Looks Forward.

    Conclusion.

    Glossary.


     

    Bibliography.


     

    Index.

    商品描述(中文翻譯)

    軟體測試的興起,隨著敏捷方法論和測試驅動開發的出現,已經成為應用開發的核心。然而,在當今急於上市的開發環境中,組織必須在產品發布和產品質量之間找到微妙的平衡。

    在《關鍵測試流程》中,作者將20年的測試經驗提煉成十二個關鍵流程。這些流程包括同儕和管理層評估能力的高度可見流程,以及影響公司利潤和聲譽的關鍵任務流程。

    在介紹每個流程後,作者通過引人入勝的案例研究展示其使用方式。這本書提供檢查清單,而不是繁瑣的規範——這些輕量且靈活的工具用於實施以流程為導向的測試、收集指標和進行漸進式的流程變更。通過在各種組織、運營和技術背景中展示關鍵流程,本書向讀者展示如何:
    - 高效且一致地處理重複測試
    - 發展一個凝聚且合作的團隊,避免冗餘
    - 通過有效溝通測試結果建立可靠的聲譽
    - 定義測試的重點,以達到最大的客戶滿意度和組織成功

    因為測試是一個需要全組織員工參與的協作過程,作者深入探討了人際和文化問題。本書還充分涵蓋了經常被忽視的測試規劃和完善領域。無論您在測試中的角色是什麼——從測試工程到管理數百名測試工程師——《關鍵測試流程》都將提供有價值的見解,幫助您了解自己所做的事情、其重要性以及如何表現得更好。

    目錄
    前言
    致謝
    序言
    導言
    書籍範圍
    誰應該閱讀本書?
    揭開流程的神秘面紗
    關鍵測試流程的類型和關係
    關鍵測試流程的背景
    假設性項目:Sumatra
    術語
    如何使用本書
    識別良好的流程
    應對挑戰
    實施改進
    祝您測試成功!

    I. 計劃
    1. 從全局開始:將測試角色放在更廣泛的背景中
    測試流程
    理解運營和組織背景
    介紹Sumatra項目和SpeedyWriter測試團隊
    在系統開發生命週期中的測試
    組織測試人員和測試
    管理維度
    超越測試流程背景
    2. 專注努力:分析質量風險
    質量風險分析流程
    Jamal向團隊介紹質量風險分析
    識別良好的質量風險分析流程
    涉及合適的參與者
    使用合適的技術
    將重要的少數與瑣碎的多數分開
    在測試前找到潛在的錯誤
    在合適的時間開始
    適應變化
    應對挑戰
    讓人們對風險有真實的認識
    來自各種來源的質量風險
    誰在推動質量風險分析?
    消除風險量化中的魔法外觀
    處理評分的變異
    說服利益相關者投入時間並接受現實
    實施改進
    3. 瞭望水晶球:估算未來的工作
    估算流程
    Jamal預測未來
    使用經驗法則進行粗略估算
    努力、持續時間和依賴性
    規劃
    人員配置
    測試開發
    測試環境配置
    測試執行
    進入金錢的世界
    4. 不是成本,而是節省:預算和投資回報
    分析測試的投資回報
    修復或預防的錯誤
    不修復但已知的錯誤
    減輕風險的測試
    指導項目
    關於投資回報估算的最終說明
    Jamal準備帳單和理由
    向前邁進,然後回顧
    5. 從估算到基準:獲得對現實、可行和真實估算的承諾
    銷售估算
    Jamal提出他的案例
    識別良好的估算流程
    理解影響估算的因素
    描繪項目未來的現實畫面
    分配行動責任
    誠實預測
    快速估算
    應對挑戰
    測試到底是什麼樣的投資?
    它可能看起來像魔法,但它只是一個估算
    九個月規則
    小心非利益相關者
    當銷售失敗時
    安全或任務關鍵系統
    實施改進
    6. 獲得並傳達見解:計劃測試工作
    測試規劃流程
    Jamal有一個計劃
    超越流程:測試計劃的關鍵考量
    選擇測試策略
    特殊案例:回歸風險管理策略
    理解測試環境執行資源
    管理測試系統和環境配置
    測試子項目風險
    讓每個人都參與進來
    7. 從建議到承諾:為良好的測試計劃組建利益相關者支持
    Jamal提出他的提案
    識別良好的測試規劃流程
    為各階段建立明確標準
    建立共識、共同期望和承諾
    在合理的時間內完成
    促進合理的靈活性和創造力
    產生適當的文檔
    提供機會以捕捉錯誤
    利用與項目、開發、構建和整合計劃的協同效應
    應對挑戰
    超越模板
    為外包做計劃
    當關鍵角色不支持測試計劃時
    遵守法律並取悅監管機構
    實施改進

    II. 準備
    8. 招募優秀測試人員:招聘的方式和人選
    團隊建設流程
    團隊建設流程的變化
    Sumatra測試團隊的成長
    識別和管理關鍵測試團隊技能
    關於測試技術人員的考量

    最後瀏覽商品 (20)