Balancing automated and non-automated testing

Actually the following talk is on automated, manual, early cycle, and late cycle testing, and test planning, crowd sourcing, and dog-food programs, and more.

YouTube: GoogleTechTalks: “Turning Quality on its Head” Presented by James Whittaker, Engineering Director, Google Inc.

Google docs: slides

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.

Unit Testing Python Links Jason Diamond: Test-Driven Development in Python Jason Diamond: More Test-Driven Development in Python

AgileTesting: Python Unit Testing Part 1

AgileTesting: Python Unit Testing Part 2

StackOverflow: Python Doctest vs Unittest

Ian Bicking: Behavior Driven Programming

Programming (software artisan/craftsman?) Links for October 7th, 2009 – Don’t be an engineer – be a craftsman, be an artisan

Andrew Hunt and David Thomas: The Art in Computer Programming

Design By Gravity: Don’t be a Coder, Engineer, or Developer: be a Software Artisan!

Linux Journal: Everything Your Professor Failed to Tell You About Functional Programming

Peter Seibel: Unit testing in Coders at Work