Functional Testing of GUI Applications
It's Worth the Pain
This is an article on the functional testing of desktop (GUI) applications.
It started life as a talk given at PyCon UK 2008.
There is video of me giving this presentation as a 45 minute talk at PyCon 2009: Functional Testing of Desktop Applications
This article goes through both the why and how (the infrastructure and processes involved in testing) of functional testing, and then moves onto some specific examples with a simple application called MultiDoc. MultiDoc is the example application from chapters 3-6 of IronPython in Action).
Introduction and a look at if it is even possible to test desktop applications.
Why bother, and the processes and infrastructure around automated functional testing.
The eXtreme Programming technique for specifying and testing individual application features is done using 'User Stories'.
An introduction to some real functional testing with MultiDoc and unittest.
Having setup the functional tests we need to interact with the application. A look at some techniques to do this, by testing the 'New Tab Page' dialog of MultiDoc.
It isn't always straightforward of course. There are many difficulties and potential frailties in GUI tests. In the conclusion we look at some of the problems and some of the ways you can mimimise the pain.
If you'd like to play with the examples then you can download the full MultiDoc example with test framework and example unit tests and functional tests.
It illustrates how to setup a framework for testing a project using unittest with examples of both unit tests and functional tests. Unit testing, functional testing and setting up a test framework are all covered in more detail in chapter 7 of IronPython in Action.
For buying techie books, science fiction, computer hardware or the latest gadgets: visit The Voidspace Amazon Store.
Last edited Tue Aug 2 00:51:33 2011.