SPA Conference session: Accepting the Unexpectable

One-line description:Explore how visualisation can be used with Specification by Example / BDD
 
Session format: 75 minute workshop [read about the different session types]
 
Abstract:A hands-on programming workshop exploring how to adapt Specification by Example (aka Acceptance Test Driven Development, BDD) for numerical and exploratory programming.

Specification by Example does not work so well when:
* acceptance is qualitative rather than precise, and/or…
* the behaviour you want to capture involves a lot of numerical data, and/or…
* you want to transition the results of exploratory programming to production.

In this workshop we will demonstrate how to combine Approval Testing [1] with Specification by Example. Approval Tests can be used to generate visualisations as well as text, which allows more nuanced, qualitative decisions about acceptability.

[1] http://approvaltests.com
 
Audience background:* Developers and testers
* Experienced with Specification by Example / Acceptance Test Driven Development / BDD
* Can program some Java or JavaScript (not very much knowledge required)

Required equipment:
* Laptop (at least 1 per pair)
* Java or JavaScript development environment
 
Benefits of participating:To learn approval testing
To learn how visualisation can work with Specification by Example
To share ideas on these subjects with other participants.
 
Materials provided:* Approval testing library for Java and JavaScript.
* Data sets.
* Skeleton project for the exercise
 
Process:A short presentation covering: the motivation for combining visualisation and Specification by Example, approval testing, and using approval tests to generate visualisations.

Then a programming exercise in which we use an approval testing library to generate visualisations of a numerical algorithm that runs against noisy data.

Optional extra: if there is time and bandwidth, finish with a a scrapheap challenge in which we download data and/or libraries from the web and write visual approval tests with them.

Room requirements:

* Cafe-style room layout, allowing two or more pairs to work per table.
* Enough power sockets for every pair to plug their laptop in.
* Projector.
* Flip-chart and marker pens.
 
Detailed timetable:0:00 - 0:15 - initial presentation
0:15 - 1:00 - programming exercise
1:00 - 1:15 - share outputs, record lessons learned
 
Outputs:Will blog any results.
 
History:Presented at XP Day
 
Presenters
1. Nat Pryce
Technemetis Ltd.
2. Duncan McGregor
Independent
3.