Testing and Change
14/10/05 20:24 Filed in: Programming
| Guidewire
Guidewire is an XP-ish shop, and one of the delights
of working there is the incredible test
infrastructure that they have set up. It has been
immensely educational to work with people who take
testing so seriously. Now that I have some first-hand
experience with this sort of an environment, I have a
few tentative observations:
* Test-first development is hard when a GUI layer is involved
* End-to-end tests are not worth the effort until you have a 1.0 product. And perhaps they aren't even worth the effort until you have a 2.0 product, where certain application paths have been established and need to be maintained.
* Unit testing can get really nasty when there are elaborate dependencies between classes
o It is very hard to keep dependencies low. It requires effort at every step. If you aren't constantly watching it, you will introduce them.
* A flexible sample data and configuration generation platform is crucial for a good test environment
* If tests aren't easy to write, they won't get written or they will be written poorly
* Test-first development is hard when a GUI layer is involved
* End-to-end tests are not worth the effort until you have a 1.0 product. And perhaps they aren't even worth the effort until you have a 2.0 product, where certain application paths have been established and need to be maintained.
* Unit testing can get really nasty when there are elaborate dependencies between classes
o It is very hard to keep dependencies low. It requires effort at every step. If you aren't constantly watching it, you will introduce them.
* A flexible sample data and configuration generation platform is crucial for a good test environment
* If tests aren't easy to write, they won't get written or they will be written poorly
|