Saturday, February 03, 2007

Testing is everything !

It’s amazing how lousy software is. That we as a society have come to accept buggy software as an inevitability is either a testament to our collective tolerance, or—much more likely—the near ubiquity of crappy software. So we are guilty of accepting low standards for software, but the smaller we of software writers are guilty of setting those low expectations. And I mean we: all of us. Every programmer has at some time written buggy software (or has never written any software of any real complexity), and while we’re absolutely at fault its not from lack of exertion. From time immemorial PhD candidates have scratched their whiteboard markers dry in attempts to eliminate bugs with new languages, analysis, programming techniques, and styles. The simplest method for finding bugs before they’re released into the wild remains the most generally effective: testing.

Of course, programmers perform at least nominal checks before integrating new code, but there’s only so much a person can test by hand. So we’ve invented tests suites—collections of tests that require no interaction. Testing rigor is regarded by university computer science departments a bit like ditch-digging is by civil engineering departments: a bit pedestrian. So people tend to sort it out for themselves.
A great read...

3 comments: said...

Really, nice post... worth to read...

Anonymous said...

Many industries planning to migrate their programming tools to something new. But these industries don't even scratch a surface. They can't even ship a quality VB6 application to end users. These industries don't have Testing stages. I agree with your idea. Many of them missed the method of testing.

Inder P Singh said...

Adam Leventhal mentions that the test suite:
1) Should be easy to run
2) Complete and up-to-date
3) Be with the code
4) Run automatically

How about?
1) Should be easy to create
2) Effortlessly comprehendible
3) Easy to modify/ self-updating

Inder P Singh