Tonight I was fortunate enough to see Dr. Cem Kaner speak at a special section of TASSQ. It was a good lecture about how testing should be considered a Social Science (slides availabe and the first time I had heard Cem present something. I did not get to talk to him at the pub afterwards, but conversed with Michael Bolton again so all was not lost.

Of course I have some new insights on some things (though nothing too groundbreaking as Cem echos to some degress James and Micheal with whom I am more familiar)

  • The difference between a Design Flaw and a Manufacturing Flaw is that a design one will be present on every item manufactured, but a manufacturing one will be randomly occuring. If its not random, then it’s back in the land of design. Thats not quite how it was explained, but I think I could defend this version so I’m running with it.
  • The notion of Public vs. Private bugs was interesting because I am used to arguing for opening up our bug database to partners (with some controls over what they can see / do). Cem was talking about it in the context of the developer – test relationship which is somewhere I hadn’t thought about before due to my brain working at the macro level.
  • Every programmer has a risk profile. I’ve known this for awhile, but never seen it put so perfectly. I know when I get code from different developers that it will be succeptable to certain things and certain design artifacts will (or will not) have been produced. Figuring out your developers’ risk profile not only helps target your testing, but creates potential spots for additional training / assistance for a staff member.
  • The NDIA recently listed the top software engineering risks they see right now. Here is Cem’s “Inefficiency and ineffectiveness of software testing: A key problem in software engineering” paper which helped influence the finished report.