This is an introductory talk about acceptance testing with Fit co-written by WardCunningham and RickMugridge for the Agile Development Conference. See also WhatAndHowTalk and OsconTalk.
You can read these slides as a single wiki page or step through them as a presentation. Use this link for the presentation. Adjust your browser for 14 point fonts with 2x text magification on a 1024 x 768 window.
This is the working copy of the talk that Rick and Ward are writing right now:
#0 Collaborating with Customers
- Are you happy with the collaboration you have with your customer?
- Do you even know who your customer is?
- How long before you know you're providing what they need?
- Wanna know how we like to communicate?
#1 Collaborating with Examples
- Customers and developers agree on concreate examples that are written down as tables in documents.
- Developers use this tabular data to exercise the program as it is comming to life.
- Green means the tables and program agree, red means otherwise.
- Fit is a framework that makes it easy to exercise a program and report results with this simple color code.
#1b Collaborating with the Future
- Mechanically checked examples insures that specification documents stay current.
- Table content is written from the business perspective, free of technical assumptions.
- A good set of tests are an asset that could easily outlive the programs that they test.
#2 Working in an Iterative Process
- Agile developers are ready to help customers express their desires
- Each iteration starts by choosing stories to be undertaken
- The customer works out example details while the developers get started on the code. They often work in parallel.
- The story is complete when the examples are green and sufficient to cover the story.
- Note: this is not the same as saying the code has been thouroughly tested by the examples. These tests are more about defining and measuring progress. See unit testing and exploratory testing for more ways to test.
Introductory Program
Sunday - room 1
- Introduction to Agile Software Development (Hubert Smits, 3-1/2 hours)
Sunday - room 2 - Engineering Practices of Agile Teams
- Agile Requirements with User Stories (Gerard Meszaros, 45 minutes)
- Release and Iteration Planning (Mike Cohn, 45 minutes)
- Agile Project Management (Jim Highsmith, 45 minutes)
- Acceptance Testing with FIT (Ward Cunningham & Rick Mugridge, 45 minutes)
Monday - room 1 - Agile Development Methodologies
- Scrum (Jean Tabaka, 90 minutes)
- Extreme Programming (Bob Martin, 90 minutes)
Monday - room 2 - More Practices of Agile Teams
- Project Automation (Mike Clark, 45 minutes)
- Test-Driven Development (J.B. Rainsberger, 45 minutes)
- Agile Databases (Scott Ambler, 45 minutes)
- Agile Modeling (Scott Ambler, 45 minutes)
Why is almost all the global software budget tied up in legacy systems that provide less and less value?
It then looks at why a software solution can succeed (or fail, or atrophy). Here's my first cut:
The essential business needs become well understood through an on-going dialogue between needs and means (business and development). Those essential business needs are communicated clearly to developers, who can tell when they're done. The software solution continues to satisfy the current most important needs and is coherent to users. The software evolves quickly as the business needs change.
Automated customer tests help with the major fragile/critical points here, especially communication, increasing the chance of success.
What is acceptance testing and how is it different from unit testing?
Who are the parties that are interested, and why do they care?
What is Fit, and why is it a good approach to acceptance testings, what are alternatives?
(I'm thinking ruby)
(Do you mean ruby as a language, or other frameworks as Watir?)
How can one learn more about Fit? How can they try it?