Bowen, J.A. & Reeves, S. (2011). UI-driven test-first development of interactive systems. In Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems, June 1-16 2011, Pisa, Italy (pp. 165-174). New York, USA: ACM.
Permanent Research Commons link: http://hdl.handle.net/10289/5616
Test-driven development (TDD) is a software development approach, which has grown out of the Extreme Programming and Agile movements, whereby tests are written prior to the implementation code which is then developed and refactored so that it passes the tests. Test-first development (TFD) takes a similar approach, but rather than relying on the testers to infer the correct tests from the requirements (often expressed via use cases) they use models of the requirements as the basis for the tests (and as such have a more formal approach). One of the problems with both TDD and TFD is that is has proven hard to adapt it for interactive systems as it is not always clear how to develop tests to also support user interfaces (UIs). In this paper we propose a method which uses both formal models of informal UI design artefacts and formal specifications to derive abstract tests which then form the basis of a test-first development process.