Agile Mumbai 2008

 
 
Acceptance Test Driven Development - Proposal  
 

Acceptance Test Driven Development

Intent

To help the participants learn, how to build acceptance criteria and automated acceptance tests from User Stories to drive development and testing.

Overview

Collaboration, feedback, and shared understanding are some of the core values of agile practices. In addition, many agile projects need executable specifications created with your customers' participation. Unfortunately, many agile teams struggle with building automated acceptance tests to implement executable specifications. I'll explain this practice and provide a demonstration of how to perform Acceptance Test-Driven Development (ATDD) on real projects using FitNesse and the FitLibrary. I'll share my recipe for getting customers involved on agile projects that use automated acceptance tests. The participants should also be able to learn how to start this practice in your team and how managers can track the team's progress using these acceptance tests.

Target Audience

Customers, Business Analyst, QAs, Developers, anyone interested in the topic. This tutorial expects participants to have some knowledge about Agile and Iterative development. In the past, this tutorial has been most effective when participants are already using Agile and want to start the practice of acceptance testing. Some familiarity with Fit/FitNesse would help.

Outline

This tutorial will provide in-depth answers to the following questions.
  • What is Automated Acceptance Testing. Why do we need?
  • Where does Acceptance Testing fit in an Agile process?
  • What does the term Executable Specification mean?
  • What roles do QA's play? What roles do developers play? What roles do BA's/Customers play?
  • What impact does Acceptance Testing have on quality and productivity?
  • What tools are available? (FIT, FitNesse, FitLibrary, etc)
  • How to write Acceptance Tests first, before writing the code?
  • How to organize Stories, Acceptance Criteria and Acceptance Test better?
  • How to create different levels of test suites to give feedback at different levels?
  • How to version control the FitNesse wiki with their source code?
  • Integrate FitNesse with their builds, so that they can run their acceptance tests as part of their Continuous Integration loops
  • Execute acceptance tests against the server side components in a web/app server
  • What patterns and anti-patterns teams use for ATTD?

Presentation History

This tutorial was presented in various forms at XP/Agile Universe 2004, STAR West 2005, STAR East 2005, local user groups and many other consulting engagements.
  • Introduction to Automated Acceptance Testing, Agile2006
  • Introduction to Acceptance Test Driven Development, Agile2007
  • Introduction to Acceptance Test Driven Development, SQE's First Agile Development Practices Conference in Orlando.

Content Outline

  1. Section 1 - 90 Minutes
    1. Introductions
    2. Hopes and Concerns activity
    3. Warm up activity to help participants understand important of "acceptance (doneness) criteria" and difficultly in coming up with the same
    4. Introduction to Acceptance testing and Acceptance test drive development using FitNesse and FitLibrary.
    5. Examples of good and bad acceptance tests
    6. Quick Demo of ATDD
  2. Break - 30 Minutes
  3. Section 2 - 90 Minutes
    1. Hands on exercise for all the participants (laptops/computers would be required at this stage)
    2. Patterns and Anti Patterns
    3. Conclusion

Speaker Bio

About Naresh Jain

 
 
 
   
 
 
   
   
 
 
   
   
   
   
   

2005- Copyright © Agile Software Community of India
Website designed and hosted by Xnsio