[TIP] Functional Testing of Desktop Applications

Andrzej Krzywda andrzejkrzywda at gmail.com
Tue Mar 6 02:49:16 PST 2007


Hello,

> Well, that sounds cool. But...
> We should understand that this is _not_ a classical TDD that described
> in the brilliant "Test Driven Development: By Example" book. It is not
> good nor bad - it is just a fact.
>
> Your approach actually very close to Kent's example described in the
> "Isolated test" chapter:
>
> Here is the citate:

(..)
Thanks for the quote.

As far as I understand, this chapter is about testing in isolation. As
Kent wrote he took two lessons from this experience:

1) make tests so fast to run, that he can run them himself,
2) test in isolation (many of the failures were causes by tests
affecting each other)

> Long running tests smells because they broke the main idea of TDD -
> you will not use such tests for leading your __development__.  And
> since TDD is about the development and not about testing this is fatal
> for the whole idea. Just using tests not mean using TDD. And that is
> you case. Once again I don't say this is bad. I just say the fact it
> is not TDD.

I agree that having 'slow builds' is a big problem. I don't think that
the solution is not to have functional tests (or automated acceptance
tests) at all.

It's a good practice to have user stories (ideally, defined by your
customer). For each user story you should have an acceptance test.
It's great when acceptance tests can be automated. Once you have a
suite of automated acceptance tests, it's worth to run them
frequently.

Having automated acceptance tests suite is not TDD?

You're right that long running tests smell. The problem here is how to
select a group of tests that should be used by every developer pair
before checking in.
Some advices how to deal with this problem are mentioned in Martin
Fowler's article here:

http://www.martinfowler.com/articles/continuousIntegration.html

Generally, the main idea is to split your tests:
- before-checking-in build (not longer than 10 minutes to run)
- full-build (run on the continuous integration server)

> There is a yahoo group about extreme programming where
> such guys as Kent Beck or Ron Jeffries subscribed. You can asks them
> to comment you approach if you like.

Thanks, that's a good idea!

Andrzej Krzywda



More information about the testing-in-python mailing list