Geoff Bache
Geoff Bache is an experienced software developer and works for
Jeppesen Systems (part of the Boeing Group) in Gothenburg, Sweden.
Geoff has a particular interest in agile methodologies, and has
pioneered the use of automated system acceptance tests in his
organization. Over the years he has used and developed various
techniques and tools, most recently the acceptance test tool
“TextTest” and the Python GUI recorder/replayer “PyUseCase”. Geoff has
presented his work in papers, workshops and tutorials at various
conferences in Europe and the USA, including XP, Agile, Europython and
Expo-C.
Track abstract - Testing
Making GUI testing productive and agile
Automated testing via the GUI has got itself a bad reputation - and with good
reason. It is associated with bloated, expensive tools, horrible
proprietary languages and maintenance nightmares. The prevailing
wisdom has become that the best thing to do is to minimize testing
through the GUI and instead go directly into the code via an API.
But does it have to be like that? The heart of the problem is one of
coupling. Tests that go through the GUI end up too tightly
coupled to it, and hence break when it changes. What if we had an
abstraction layer in between, a "GUI interpreter" that mapped the possible actions in the
current GUI to carefully chosen domain-language statements? We could
have high-level, readable tests that describe user intentions rather
than GUI mechanics.
PyUseCase is a tool that enables you to work in exactly this way. I've
been using it for several years to testing rich client applications
written with Python and GTK (similar tools exist for Java and .Net).
In this talk I hope to demonstrate how productive this approach to GUI testing
can be.
Track abstract - Testing
Text-based Acceptance Testing with TextTest
Testing a program by monitoring changes in it's plain text log files
is an old idea, but one which has fallen out of fashion lately. This
talk aims to show you that with a tool like TextTest, it can not only
work, but work well. Well enough to enable agile development,
especially in situations where for example xUnit breaks down. This is
a technique and a tool that I have developed over the past decade at
Jeppesen, for automating maintainable black-box tests that work
entirely outside of the code. In this talk I will demonstrate how the
tool works in practice, and examine the advantages and disadvantages
of this approach in general.

