Monday, 3 January 2011

Use the source, Luke

Raise your quality standards as high as you can live with, avoid wasting your time on routine problems, and always try to work as closely as possible at the boundary of your abilities. Do this, because it is the only way of discovering how that boundary should be moved forward.
- Edsger Dijkstra

Found the quote above in this article about Malcolm Gladwell and the 10,000 hour rule.

Also came across the 'lots of learning' required in the blog post Agile Programming: Lesson One (Part One) by Patrick Wilson Welsh

The Bad News: Lots of Learning
Agile Programming with object-oriented programming languages takes a good long while to learn to do “well enough.” You must master the technical practices, principles, and patterns involved, in the context of “breakable toy” codebases, and then in real enterprise codebases. Even if you are an experienced programmer, expect it to take thousands of hours to master Agile Programming well enough that you can be reliably productive on a mature, healthy agile team in the real world

I've covered this topic before but revisited it after a Xmas break learning some Cucumber ( see last post ). The Secret Ninja Cucumber Scrolls came complete with source code so it was easy to look and learn and see how things were done.

Is it easier to learn coding than testing ? Get yourself some computer theory books and then go off and put it into practice: write your TDD tests, write the code, run and rewrite the code until all tests pass, refactor and voila, done.
Then go off and find some source code and find how the experts ( with their 10,000 hours of practice ) do it. Easy
( gross oversimplification I know )

Want to see a web server written in Postscript ? Here's the source code

Cool javascript apps written in 1k - large selection here all with source code and comments.

Want your code reviewed ? Go here

etc etc etc

So what's available for a tester ?
Having read the theory books ( or maybe not, most testers haven't read a testing book ) then how to practice it ?

For example you can be pro-active in your learning, subscribe to some testing blogs, read the series of posts from IM Testy on Combinatorial Testing and think it's great - but if you want to go and off and practice it to see if you really understood it ?

Even Harry Potter knows that theory isn't enough

Dolores Umbridge:
It is the view of the Ministry that a theoretical knowledge will be sufficient to get you through your examinations, which after all, is what school is all about.

Harry Potter:
And how is theory supposed to prepare us for what's out there?

Matt Heusser posts the occasional testing challenge

The Weekend - and Weeknight - testing sessions are getting more popular and those that take part seem to get a lot from them

Markus Gartner is blazing the way - his latest blog post is on testing challenges and he's set up a Testing Dojos site and it will be interesting to see how this takes off.

( I've volunteered to help out and I'm sure Markus would appreciate more input )

A recent interview with Michael Bolton indicates that just studying 'testing' is not enough

Study testing, but note that the great ideas are likely to come from outside the field—at least the narrow vision of the field that the process enthusiasts and “certificationists” present. Testing is a marvelously interdisciplinary craft. One implication is that whatever you bring to the table from your life and your experience and your education can inform new ideas about testing

I've started a discussion on the STC site about what you would practice if you spent 2 hours a week for a year - how would you spend 100 hours a year on ? Feel free to comment there or on this blog


shilpa said...

Nice post. Now you have put me into a thinking mode. I will come back to answer the 100 hours question later but I see a plan developing for my 2011 road map. Thanks

Markus Gärtner said...

You may also add my presentation on "Alternative paths to self-education in software testing" to your list:

And I look forward to set up an account for you :)