Friday, June 11, 2010

Reflections on tonight's agile testing uk meetup

Just completed a very interesting practical exercise with Gojko Adzic at the agile testing uk (http://agiletesting.org.uk/) event hosted by skillsmatter in London. Worked well as a group exercise and a very well attended meeting (~60 people).

Looked at a fit test and discussed why it was bad:

* Lack of focus
* Lack of clear definition of business rule(s) under test
* Included technical/software terms terms, db ids and references to fixture classes.
* Non locale specific terms (check vs cheque)
* Some irrelevant data

Key things I got out of it:

* Should describe behaviour for business rules - specification not a script
* OK to include non business rules (e.g. ordering of results) to make testing easier as long as it doesn't conflict with existing business rules. May also prompt discussion around rules
* Non-deterministic ordering is a particular problem which causes test failures and sometimes removal of tests by developers
* We missed an obvious business rule - do we send cheques for £0 (eg someone on the payroll who has not worked during the period in question)
* Feel much more comfortable with Given-When-Then (esp with tables) vs Fitness
* Most teams expressed acceptance tests using to Given-When-Then rather with tables - teams which did seemed to get into difficulty

Need to take another look at the slide stack to see if I have missed anything.

2 comments:

  1. Hi Neil,

    thanks for the write-up.

    Regarding your point #2, I'd say that it's OK to discuss adding or changing rules to make the system definition stronger - and make the system easier to develop or test. If the customers accept it, fine. If not, then not :)

    Regarding the difference between given-when-then and tables, I think this is largely irrelevant. The structure and the intent of the test should be the same in either case and I would have accepted a GWT textual description as well if anyone got to the point where the last team did with tables. Gherkin supports using tabular structures as well so you can use a mixed approach as well.

    ReplyDelete
  2. Hi Neil,

    thanks for the summary.

    I've added my observation on the nice evening on my blog: http://ziobrando.blogspot.com/2010/06/agile-testing-uk-meetup.html with a slightly different focus.

    Cheers

    ReplyDelete