Wednesday, September 20, 2006

Test team

We're a small team, around a dozen developers and a handful of testers. Two or three times a year the developers have to temporarily join the test team to help complete a test cycle for a product release. Myself and around three other programmers have been with the test team the last week or so. Hopefully we'll be finished up by the end of this week.

Testing is an interesting experience. I don't mind doing it once in a while. I always test my own code of course, but testing other people's work is interesting. You get to try to think like a customer.

With testing, my take on it is that the name of the game is automation. I think our test team should work on ways to increase use of automated testing. There's some, but not as much as there could be. I was testing three APIs. One internal API is my own API; and two other APIs developed by others. For my own API, after I tested it out OK, there was a gap between candidate releases. The test team lead said OK to my request to use the time to create an automated test suite for the my own API.

It took me around two days to assemble the individual loose tests for each API function into a one pass driver that calls all of them. I suspect I've already saved in the subsequent baselines close to the amount of time I spent creating the automated test driver.


For the other APIs, we have a GUI driver that will set up and call each API function with data the GUI user enters interactively. This is OK for a programmer to test individual APIs as they are added, modified or debugged. However it doesn't scale well and is labour intensive and isn't well suited to rigorous regression testing.

So after this cycle I'm going to push to get some time to create a driver for the other two APIs as well. That may save me truckloads of weekend time in the future.

No comments: