[Me]:- Guruji, how did this all begin? This whole tester - developer thing.
[Guruji]:- Well in the beginning, the Devs and testers were indistinguishable. They all used to Build, verify and validate. The compiler was the mitigating factor. But this beginning was short lived.The explosion of software in the 1970s created demand the programmer community could not meet. This was the age of the non-engineer software tester.
[Me]:- Was this the proliferation of crap?
[Guruji]:- Yes, this was when buggy software was the norm. It suddenly became Developer-centric software industry. You had to press the buttons right or risk failure.But Still, software was better than the manual systems it replaced And herein lied the problem: a complacent user community. Expectations for the software was low and software suddenly became the weakest link.
[Me]:- No sympathy?
[Guruji]:- Kind off, The 1980s were full of fixes for this problem. SASD, Cleanroom, OOA/OOD etc. But, developers were too busy to notice this. Operating systems were in flux. Programming languages began to evolve, Compiler and platform bugs needed workarounds and all this was underscored by continued tolerance of crappy applications.
[Me]:- Sounds like an industry spiraling downward....
[Guruji]:- hmn..., But software was in heavy demand. As the industry marched the academia followed from Pascal to Basic to C to Java. People coded, learned the lessons and forced changes. But what was missing? Test !!! While the devs created new ways to write buggy code, we were left to deal with the crap of yesterday.
[Me]:- And then?
[Guruji]:- In 1996 some bozo named James Whittaker taught a course dedicated to software testing at Florida Tech .The course grew to a degree minor and garnered recruiters from every major industry vertical. A book (How to Break Software) was adopted by over 80 universities .In 2006 Microsoft hired Whittaker, effectively ending that program.
[Me]:- Wow!! After that?
[Guruji]:- And then, it was the beginning of an education that worked, theory that worked, Model based and data flow testing followed. Practices that worked.
[Me]:- True!!!, Software testing has a sad history which affects they way you work and learn today.
[Guruji]: It's unlikely to change other than through grass roots efforts.Mimic the early philosophers: think, do, learn and write down the knowledge. This will help