Test-driven development (TDD) is the practice of creating automated unit tests that exercise planned software functionality, before writing the software itself. TDD leads to higher quality software by encouraging developers to analyze individual units of behavior before coding and by allowing easy detection of problems introduced by software change. However, few tools effectively support TDD for graphical user interfaces. Those that do are platform-specific and require developers to express all tests as executable code for the target platform. This paper describes UIT (User Interface Tester), a toolset designed to support TDD for interactive applications. UIT addresses the weaknesses of existing solutions by using human-readable declarative test scripts and by generating skeleton GUIs from test scripts so that tests can be created first. It also supports driving GUIs that target different platforms. We present details of the scripting language, an overview of the UIT architecture with a focus on its multi-platform capabilities, and a discussion of current status and future plans. We believe that as UIT matures, it can assist developers in reaping the benefits of TDD.
[1]
Kent Beck,et al.
Extreme Programming Explained: Embrace Change (2nd Edition)
,
2004
.
[2]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.
[3]
P. Krutchen,et al.
The Rational Unified Process: An Introduction
,
2000
.
[4]
Kent L. Beck,et al.
Test-driven Development - by example
,
2002,
The Addison-Wesley signature series.
[5]
Sally E. Goldin,et al.
Software process in the classroom: A comparative study
,
2009,
2009 9th International Symposium on Communications and Information Technology.
[6]
Philippe Kruchten,et al.
What Is the Rational Unified Process ?
,
2001
.
[7]
Gerard Meszaros,et al.
xUnit Test Patterns: Refactoring Test Code
,
2007
.