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,一個假想的項目
    - 術語
    - 使用本書
    - 認識良好的流程
    - 應對挑戰
    - 實施改進
    - 祝你測試成功!
    - 第一部分:計劃
    - 第1章:從大局出發:將測試角色放入更廣泛的上下文中
    - 第2章:聚焦努力:分析質量需求