This chapter showed how you can use the test-first approach to create graphical user interfaces (GUIs). Currently, the testing community uses mainly two variants:
Fine-grained unit tests, by directly addressing components and widgets.
JFCUnit for interaction tests that simulate the actual GUI operation.
Either of the two approaches reaches its limits when trying to realize certain layout standards and nonspecifiable properties like ergonomics or esthetics.
In practice, many teams create user interfaces by use of special tools (GUI builders). Such tools can speed up the GUI implementation and open the way for a twofold approach: using the GUI builder to create the GUI's layout and developing the connection to the logic layer in the test-first approach.