Monday, 27 December 2010

Scrooge The Tester

December 23rd and I found another defect in the system - various combinations of ( and \ in an input box would give an unmatched regular expression and a server error. I posted a tweet about this to which Markus Gärtner replied that I was a bit mean doing this one day before Xmas.

All of which led me to think of Scrooge and his visitations from the ghosts of Christmases past, present and future. What if I was visited by the Ghosts of Releases past, present and future ?

Past Releases:

Make the release, send it out to the customers and then schedule in 'bug blitzes' to deal with the problems they found. No unit testing - nor any other proper testing phases either as there was no tester, only the programmers trying to test their own work. That was my first introduction in how to write and release software.

Plenty of other ghosts of releases past - the release that was rock-solid ( that was when I first got the testing bug and started to test the system, I even had 5 Macs running overnight tests) but had no input from customers and when they tried it they didn't like it so we ended up with 1000 copies of unsold nicely boxed software with a great logo sitting on the shelves.

The release that didn't accept credit card payments. A bit of a flaw in a system used by telesales people. This was the release that was the straw that broke the camels back for management and they finally decided to do something about the quality of the programs and revamped the development lifecycle and wanted to do some serious testing. For which they needed someone who knew about testing and the pile of books on my desk was a big clue. That was when my move to testing really started.

Current Releases:

The Ghost of Current Releases doesn't seem that different from the last set of ghosts. Programmers that don't seem to know how to test their own work followed by testers who don't seem to know how to test it either. Means easy pickings for me and finding defects is like taking candy from a baby ( or should that be taking humbugs from a child if I'm sticking with the Scrooge theme ? ).

Requirements are vague and inconsistent with masses of documentation hiding the fact that one part of the system allows lower case input to be mandatory whilst another part of the system insists that all lower case is converted to upper case.

Project managers get a blank expression if the phrase 'exploratory testing' is used and the concept of a defect being found without a script is like Scrooge having an expense account, the concept is totally alien to them.

Just me being unlucky ? Seems The Daily WTF can go on and on and on with plenty of stories like this ( and worse )

Releases Yet To Come:

Specification by Example, Beautiful Testing II ( the long awaited follow up ) and How to Reduce the Cost of Software Testing have been best-sellers and stakeholders and suppliers are working closely together.

Programmers understand how to test and are delivering software that works and does what the customer wants.
Experienced testers are brought on board to use their skill and experience to shake the last few defects out of the system.

Project managers finally understand Brooks's law and don't bring in new resources and ask them to work late nights and weekends to try and catch up - because no catching up is needed as working s/w is being delivered right from the start.

" I will live in the Past, the Present, and the Future. The Spirits of all Three shall strive within me. I will not shut out the lessons that they teach. "

- A Christmas Carol, Charles Dickens


Darren McMillan said...

Releases Yet To Come:

The words "The cost of fixing a defect is cheaper the earlier it's found" rang true in everyone's head. People began looking at techniques to prevent or at least reduce the likelihood of such issues occurring prior to code being written & then prior to it being committed.

Thomas Ponnet said...

"Project managers get a blank expression if the phrase 'exploratory testing' is used..."

If you instead just tell them that you don't use the available time for writing scripts in advance but do more actual testing in the available time they hear "He's doing more work in less time", so it must be good." At least that's my experience.