Essential Acceptance Testing

Essential Acceptance Testing

Toby Weston
Buy on Leanpub

Table of Contents

Publishing notes›

  • Publishing notes

Part 1 - An agile approach to acceptance testing›

  • Introduction
    • What is an acceptance test?
    • What are acceptance criteria?
    • What is a story?
    • Bringing it all together
  • Typical process overview
    • The story delivery lifecycle
    • Pick a story
    • Agree acceptance criteria
    • Develop
    • Demonstrate
    • Deliver

Part 2 - Discussion and alternatives›

  • Problems acceptance testing can fix
    • Communication barriers
    • Lack of shared memory
    • Lack of collective understanding of requirements
    • Blurring the “what” with the “how”
    • Ambiguous language
    • Lack of structure and direction
    • Team engagement
  • Problems acceptance testing can cause
    • Communication crutch
    • Hand off behaviour
    • Technical over exposure
    • Cargo cult
    • Command and control structures
    • Construct validity
    • Artificial constraints
  • Business value
    • Defining “value”
    • Measuring “value”
  • Alternatives to acceptance tests
    • Don’t write acceptance tests
    • Use a ports and adapters architecture
    • Don’t specify
    • Measure, don’t agree
    • Log, don’t specify
  • How design can influence testing
    • Sample application
    • Coupled architecture
    • Decoupled architecture using ports and adapters
    • Testing end-to-end (system tests)
    • Summary of test coverage
    • Benefits using ports and adapters
    • Disadvantages using ports and adapters
  • Common pitfalls
    • Features hit production that the customer didn’t want
    • Users describe solutions not problems
    • Users can’t tell how the system is supposed to behave
    • Users can’t tell if feature x is already implemented
    • Tests repeat themselves.
    • The acceptance test suite takes forever to run
    • Intermittent failures in tests
  • Q&A
    • What do we mean when we say “acceptance testing”
    • How do I manage large numbers of acceptance tests?
    • How do you map acceptance tests to stories in say JIRA?
    • How does applying acceptance testing techniques help us focus on reducing complexity?
    • When would you not write stories? Acceptance criteria?
    • How does agile acceptance testing differ from conventional UAT?
    • What are some other testing strategies? How does acceptance testing fit in?
    • How do you layer various types of testing to maximise benefit?
    • How does exception testing fit with unit and end-to-end tests?
    • Aren’t acceptance tests slow with high maintenance costs?
    • What’s the best way to leverage CI servers like TeamCity and Jenkins?
    • Where does BDD fit in?
    • Can I run acceptance tests in parallel?
    • How can I run acceptance tests which exercise business processes than span multiple business days?
    • How should I setup and tear down data?

Part 3 - Specification testing frameworks›

    Essential Acceptance Testing/overview

    Essential Acceptance Testing

    course_overview

    count_parts
    ·
    count_chapters
    begin_reading
    download
    part_count

    Publishing notes1 chapters

    Begin part ›
    1. Publishing notes

    part_count

    Part 1 - An agile approach to acceptance testing2 chapters

    Begin part ›
    1. Introduction

    2. Typical process overview

    part_count

    Part 2 - Discussion and alternatives7 chapters

    Begin part ›
    1. Problems acceptance testing can fix

    2. Problems acceptance testing can cause

    3. Business value

    4. Alternatives to acceptance tests

    5. How design can influence testing

    6. Common pitfalls

    7. Q&A

    part_count

    Part 3 - Specification testing frameworks0 chapters

    Begin part ›