What are some lessons you have learned about testing that you wish you had known long ago or you wish someone had told you about?
That’s a very interesting question. I was reflecting on that point a few months ago.
I think the big two are about scripted testing and the requirements.
I was young and inexperienced I was sceptical about the amount of effort that scripted testing required, and whether it was the best use of testers’ time. I was also concerned about the length of time that it took to document the requirements for large, complex applications. So much time and effort went into documenting everything in precise detail that there seemed an obvious danger that the business would change faster than we could build applications.
However, I was happy to defer to the experience of the grizzled professionals. I suppressed my doubts and got on with it. Only much later did I realise that my doubts had been valid.
I wrote about this very subject on my blog a few months ago; “I wish I’d known I was right”. This is all related to what I was saying in part 1 of this interview about Agile being much more in tune with the natural, default way to develop software than the heavyweight traditional methodologies, which cut against the grain.
What are some tools you have used for test management? Which one is your favorite?
Ugh! My favourite test management tool? That’s like asking me what my favourite headache has been.
I’ve used Quality Center (Test Director) and Trac Notes (the Lotus Notes tool that we had to use in IBM). Frankly, I didn’t care much for either of them, and didn’t feel they helped me manage the testing. They helped me produce reports that I didn’t need, but which my managers and the stakeholders required. I suspect that these reports were only demanded because they were available, and I hated the way we could be forced to structure the testing to suit the reporting.
If the tools hadn’t been available I’d have quite happily used spreadsheets (Excel, 123, Open Office Calc or whatever). On balance I’ve found test management tools more of a nuisance than an aid.
Automate or not – which side do you lean towards?
That’s like asking which side of the road I lean towards when I’m driving! In the UK, it’s the left hand side – no question. In the rest of Europe, I always go for the right hand side.
That’s a bit flippant, but there’s some truth in it. It all depends what the problem is, and what the environment is. If there’s an advantage to automation then I’m in favour. I’m wary of people who’re too enthusiastic. They remind me of Maslow’s hammer; “it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.” Perhaps this variant is even more relevant; if you give a little boy a hammer he’ll find that everything he sees needs pounding.
Having said all that, I do like automated routines which can detect problems in testing and production. You can get all philosophical about this and debate whether these are test routines, automated controls, or just part of the core application. However, I did once take part in a very heated debate about whether we should put these into an application. I was over-ruled on the twin grounds that I was a tester, and shouldn’t be telling the developers what to do, and secondly no-one should write any code that didn’t flow from the requirements.
I thought that stance was really a bit dumb. On the first day we went live there was a problem with a batch job that would have been detected if I’d won the argument. A customer’s insurance policy had dropped into a black hole. It had been input, but not output. It had effectively been deleted from the master file. Instead of the problem being quickly fixed before it affected the customer, the company found out only when the customer complained. It was embarrassing, predictable and easily avoidable. But the users hadn’t specified the requirement; “whatever you do, don’t do anything as utterly stupid as losing a customer’s policy”. That went without saying, so it wasn’t said, so it wasn’t implemented.
What do you do when you are not testing?
I write football (soccer) reports for the Dundee FC website. I go to all of the home games, and most of the away matches. I then write up the report straight afterwards and get it online, mainly for the supporters who couldn’t get to the game, but also for people who were there and want to read and talk about it. I really enjoy that. It’s good fun, and it’s great to be able to write something and get immediate feedback. Normally if I write an article it’s weeks before I get feedback, so I like being able to start and finish something, then get feedback, all within a few hours.
I’m also very involved with my wife, Mary, in our church. I’m quite lucky because there’s no end of things I enjoy doing or reading about. I love travelling, cycling, walking and being in the country. I can’t remember the last time I was bored because I didn’t have anything interesting to do. When was the last time I was frustrated because there’s not enough time to do everything I want? That was today – same as every day!
If I stopped being a tester tomorrow I’d be able to fill my time quite easily. I want to write a book, but it’s not about testing. It would be about football.
What or who inspires you the most?
The quick and easy answer is my faith, which underpins much of what I do and what I am. I know I’m nowhere near perfect, but believe I’m better than I would have been without it. Also, my wife is a constant, quiet inspiration to me to do and to be better. She’s so much more patient and understanding than I deserve, and that helps spur me on. I’m also inspired by the previous generations who worked so hard and sacrificed so much to give me and my generation the freedom and prosperity that they dreamed of. In particular, that applies to my parents.
From our readers
a. I would like to know if there are any open source tools for automated testing of desktop applications (not web). I manage a small group of developers and we are not doing automated testing by now, so any recommendation is welcome.
b. Are there any good automated testing tools for the AS300? Especially something for regression testing of batch jobs.
Sorry, this is an area I’m weak in. Maybe you should try starting a discussion on the Software Testing Club, http://www.softwaretestingclub.com/?