Saturday, November 05, 2011

Are you a Swiss Army Knife?

I have been thinking a lot lately about testing as a career and what does the future have in store for Professional Testers.  I just returned from Dallas and the Software Testing Professionals Conference and I am reading two books The Agile Samurai and Inmates are running the Asylum.  I am also looking very hard at software to manage the Kanban process and how to make Session Based Test Management work efficiently within my context (which can vary greatly depending on the application under test).  With these current influences, I have come to the conclusion that to be a tester in the future you must model a Swiss Army Knife.  Wow!  I went to the Swiss Army Knife web site and there is a "basic" model with 17 blade utilities.  I think for now I am going to limit my model to 4 blades, but I am sure as a tester we could use as many as we can get.

You must have the basic knife blade.  You need to have a grounded knowledge of the technologies that you will deal with day in and day out.  You also must understand testing techniques.  One great example is Black Box Software testing, BBST.  Not only will you need these skills you need some solid characteristics like motivation and leadership.  The big blade is solid and will be used a bunch.  Keep this blade clean and sharp.

You must have scissors.  You will have to gain the knowledge of processes so that you can cut your way through the bureaucracy.  There is a ton of waste that gets in the way of actually testing.  We must cut our way through the wasteland and eliminate waste.  To bad a shovel will not fit into a pocket knife.  I would not include a pen in my knife because the last thing we need as testers is to create a plethora of documentation.

You must have one specialty tool.  In my mind that tool is the ability to write automation.  I am not talking record playback.  I am talking about actually writing code.  I am a big fan of Ruby and I suggest this book, Every Day Scripting in Ruby by Brian Marick to get started.   I have become a fan of Selenium, but for those of you testers just getting started with automation I am going to suggest using WATIR.  The reason I am suggesting WATIR is that there are a great set of examples to get you started.  Start by looking at the unit tests the developers wrote.  You can certainly use PHP, Java, Javascript, or some other language, but Ruby worked extremely well for me.  I know some javascript, but Java and I never got along.  I have a huge scotoma with respect to Java.  Find that specialty tool and keep it sharp.

The final tool on the knife that I recommend is the toothpick.  As a tester you need to be able to jab yourself in order to remind yourself that you must continuously be learning.  You must be willing to poke others with a barrage of questions.  You must be able to poke inside those tiny crack in software to expose the lingering bugs.  The toothpick can get at things that other tools cannot.

Knowing how to test, how to apply diplomacy, how to write automation, and how to inquire are certainly the makings of a great knife to keep in your pocket.  As Professional testers our Swiss Army knives are diverse, which is a great thing.  We should all continue to upgrade so that some day we have the 17 blade model.

What blade will you be adding soon?

Keep on Testing!