Examples as Effective Requirement Specifications

  • critical success factors for ATDD – What Why How (summary slides) A good analyst or tester knows what questions to ask to quickly bring clarity to a murky subject. When they first hear about Acceptance Test-Driven Development (ATDD), a core practice on agile projects, their initial questions often are “Can examples really capture functional requirements?”, “Where do user stories come from?”, and “Will the analyst and tester roles become extinct?” When Jennitta Andrea worked on her first agile project in 2000, she asked all of these questions and more. As a hands-on practitioner and keen observer of teams and processes on more than a dozen agile projects since then, Jennitta has discovered that success comes from knowing how ATDD fits within an ecosystem of roles, practices, and tools. Learn what Acceptance Test-Driven Development is, the critical success factors for ATDD, and the details of several key success factors.
  • ATDD: Not As Optional As You Think (Iterations / StickyMinds, Aug 2010) It concerns me that far too many teams treat the acceptance-test-driven development (ATDD) practice as optional.  This short piece outlines how ATDD is a critical component of the overall agile software ecosystem of interrelated practices and role collaborations.
  • “Beautiful Testing Chapter 14: Test Driven Development – Driving New Standards of Beauty” Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you’ll learn how each of these professionals developed ideas of beauty in testing a wide range of products — valuable knowledge that you can apply to your own projects. NOTE: All author royalties will be donated to the Nothing But Nets campaign to save lives by preventing malaria, a disease that kills millions of children in Africa each year.(http://oreilly.com/catalog/9780596159825)
  • Envisioning the Next Generation FTDD Tool (webinar)  Slides and script from the Feb 2008 SQE WebPresention on Envisioning the Next Generation Functional Testing Tools. This is a high level business process analysis of functional test driven development that drives the understanding for tool support.
  • Some Assembly Required (Better Software, Jan 2008) Teams that naively adopt test driven development frequently run into serious problems. This article applies a magnifying glass to the TDD fine print and suggests paths to safely navigate some key landmines.
  • Brushing Up On Functional Test Effectiveness (Better Software 2005) explains how to make a functional test into an effective requirements specification by refactoring a test script into a declarative, succinct, autonomous, sufficient, and locatable specification (Better Software, November/December 2005
  • Envisioning The Next Generation of Functional Testing Tools (IEEESW, May2007) This paper is a call to improve the state of the art of functional test driven development by: reflecting on where we are now, describing processes and scenarios within the full application lifecycle, and painting a vision for the next generation functional testing tools. Appendix A is available here that shows the same functional test in a variety of different formats (IEEE Software, May 2007)
  • Generative Acceptance Testing (XP2004) While there are many excellent acceptance testing tools and frameworks available today, this paper presents an alternative approach, involving generating code from tests specified in a declarative tabular format within Excel spreadsheets. While this is a general approach, it is most applicable to difficult-to-test situations. Two such situations are presented: one involving complex fixture setup, and another involving complex application workflow concerns. (XP2004 Experience Report)
  • Putting a Motor On Canoo Web Test (XP2004)The key contributions this paper makes to the agile community are: first, it provides concrete examples of applying test automation patterns to user acceptance testing, and secondly it provides a description of various extensions to the WebTest acceptance testing framework that facilitate developing automated acceptance tests according to these established best practices. (XP2004 Experience Report)