The classic description of TDD that most people know is the 3 rules by Bob Martin. I think his rules are a very succinct description, and for a long time I've just relied on them, together with a picture of "red-green-refactor" to describe TDD to newcomers. More...
Python and Ruby and small methods
I've been working full time in Ruby now for about a month, and I think I'm beginning to get the hang of it. In many ways it's not so different from Python. I took some of the code I talked about struggling with in my last post, and set about translating it into...
Small methods, TDD and defects
Last week at Scottish Ruby Conference I chatted with Brian Marick about software design. The week before that, he had been in Göteborg for Scandinavian Developer Conference, and had spent a morning pair programming with Geoff on TextTest. I took the chance to ask...
developer-in-test role and tester role
In my current assignment, I'm taking the role of "developer-in-test". I'm working in a large distributed development project, which is building new functionality on a large existing codebase. In practice, I work closely with the developers in the project and build...
code coverage and tests
At GothPy yesterday, Geoff talked about code coverage and tests. Geoff has spent a lot of his evenings lately working on PyUseCase, and getting the test coverage up to 100%, (statement coverage), a feat which he achieved last week. The evidence for this is available...
Domain Specific Languages for Selenium Tests
I gave this talk at JFokus this week in Stockholm. I thought people might be interested in a summary of my main points.I've been using Selenium for web application testing for over a year now, on a couple of different projects. This talk is based on my...
Testing PyTDDmon
One of the things I like about GothPy is that lots of the people in the group enjoy writing code in their spare time, and like to share with us what they're up to.A little while back, Olof came up with this little tool, PyTDDmon, which is to help you when you're doing...
JUseCase, dreams of resurrection
JUseCase is the Java version of PyUseCase, for testing GUIs written in Swing. It was originally written as a master's thesis by Claes Verdoes in 2005, under Geoff's supervision. Since then it hasn't been used much, and has lain idle and unmaintained for a while. In...
big UI changes and their effect on tests
I recently read this post in Brian Marick's blog, and it set me thinking. He's talking about a test whose intention in some way survived three major GUI revisions. The test code had to be rewritten each time, but the essence of it was retained. He says: I changed the...
Domain Specific Languages for Selenium tests
I've been doing some work lately creating automated functional test suites using Selenium RC to simulate user interaction with a web GUI. I discovered quickly that the tests you record directly from selenium are rather brittle, and hard to read. In order to make the...
Hi – I´m Emily!
I am an independent consultant with Bache Consulting and chair of the Samman Technical Coaching Society. As a technical coach I work with software development organizations who want to get better at the technical practices needed to be agile, including Test-Driven Development, Refactoring and Incremental Design. I live in Gothenburg, Sweden, although I am originally from the UK. I’ve written two books: “Technical Agile Coaching with the Samman method” and “The Coding Dojo Handbook”. I teach for both O’Reilly and Pluralsight. I’m married to Geoff Bache, creator of TextTest.
Practical Coaching –
Beyond the Blog
If you’re enjoying the insights shared here on the blog, you might enjoy my training too.
“Technical Agile Coaching with the Samman Method” offers a practical guide to improving how developers collaborate and write code. You’ll learn hands-on techniques for Test-Driven Development, Refactoring, and effective team coaching.
To learn more about the book, just click the link below.
Blog categories

