What is software testing

We just concluded a lab week at CIM that was awesome. No other short way to put it. Read Jon’s post for the details.

For this lab week I worked with folks from QA exploring a tool (a MIT research project called “Sikuli”) for its applicability in functional testing. I’ll have a post sharing how well it went soon. We learned quite a bit, had a great exchange of experience across a departmental boundary, and now have an additional tool in the tool belt that we will be using in some cases.

I had an interesting mountain to climb to become familiar with the challenges faced in QA. What helped set the stage for me was a great Google Tech Talk by James Bach on becoming a Software Testing Expert. His video is really about becoming an expert in almost anything but the slide on “Perfect Testing” made me take pause (literally – I paused the video to consider the slide because it is so expansive and almost poetic):

Perfect testing is…

Testing is the infinite process

of comparing the invisible

to the ambiguous

so as to avoid the unthinkable

happening to the anonymous.

In other words, perfect testing is a challenge.

That’s quite a statement!

Bach goes on to fill in the picture around this statement. Watch the entire video for the context.

After taking part in this lab week, a lot of what James Bach said in this presentation has sunk in further.

I had thought I was empathetic to the work that is encompassed in software testing. What I found out was I wasn’t even close, and this experience has left me a bit humbled and inspired.