Many advocates of unit testing believe that testing desktop (GUI) applications is so difficult as to not be worth it. Not only is it possible, but ‘functional testing’ (testing an application from the point of view of the user) is an important part of an agile development process. This talk is based on my experience of testing a spreadsheet application. Whether you have drunk the agile kool-aid or not, functional testing can improve your application and your development processes. The basic topics covered are:
* Why test functionally (including some unexpected benefits)
* The processes and infrastructure around automated tests
* How to functionally test – general principles and specific examples
* Difficulties and fragilities – and how to minimize them