If every test tool is a hammer every test problem becomes a nail

I once saw a really graphic demonstration of how if the only tool you have in your tool box is a hammer, every problem becomes a nail.  A colleague had produced a “demo” rig in his garage consisting of a foot long (30 cm if you must) piece of 2 by 1 (2 inch by 1 inch soft wood … do your own metric conversion!) which had a 4 inch nail, a 4 inch screw and a 4 inch nut and bolt inserted into it.  He was trying to influence the IT Director to invest in a wider range of better tooling.  He walked into the IT Directors office and took the “demo” rig from his briefcase along with a hammer.  When the meeting reached the point of discussing the tools procurement the IT Director clearly stated that we had a full suite of tools at our disposal and would not sanction anymore.  My colleague proceeded to explain that the tool set we had was inadequate for all jobs and that we should augment it with additional specialist tools.  The IT Director was not convinced, so my colleague took his “demo” rig and his hammer and graphically demonstrated his point, leaving a 4 inch nail driven through the IT Director’s desk, a bent screw and a much damaged nut and bolt, as his evidence at the end of the demo.  My colleague then took an identical “demo” rig from his briefcase along with the correct sized screwdriver and spanner and showed how to do the demo with the correct tools.  Finally, using the claw on his hammer he removed the original “demo” nail from the desk and walked out.  Suffice to say I thought he would get fired and we would not get our new software development tools.  WRONG! The IT Director got the point and procured the tools, and the hole in his desk was never repaired, nor was the desk replaced, as a reminder to himself and others to always make sure you have the right tools for the job.

Many organisations think that they only need to choose one testing tool suite. Many choose proprietary toolsets from the “big players”, which offer an integrated set of application lifecycle tools which cover analysis, design, build, test and release tools under one hood, after all no one ever got fired for buying from one of the market leaders. The sad fact is that these “big players” often don’t understand all aspects of the application lifecycle to an equal level and have often started out from one specific niche e.g. analysis tools or build/source code tools or testing tools.  This is further exacerbated by the fact that they have often acquired the tools which make up the suite from a variety of mergers and acquisitions meaning they don’t integrate well.  Having worked with a suite which grew from the analysis direction, I know it was never technical enough for the coders nor focussed enough on testing for the testers.  Likewise, having worked with a suite which grew from a coders’ perspective, the analysis tools were weak (and therefore rarely used) and the testing tools felt like a bolted on afterthought.  The suite which started out firmly in the testing space never gained traction with coders or analysts and became an island with an ivory tower full of testing Rapunzel’s.

At the other end of the spectrum there are a plethora of Open Source Tools and Add-ins which do a great job in Test Management, Defect Management, Test Automation, Performance Testing, etc. etc., and a host of really good niche proprietors along the length of the “tools spectrum” who offer great things at great prices.

I have always believed, whether working on a DIY project, a motorbike or car or any other job that the right tools are essential to a quality result, delivered on time and within budget.  I have therefore concluded that no one tool or tool set is adequate in the application lifecycle and/or testing space.  We have a range of tools at our disposal, which we augment with new tools from time to time, including free, borrowed, hired and purchased tools.  If your client has a tool they want you to use, use it alongside your own toolset.

If you would like any help, support or advice on selecting the right tools for the job, especially in the testing space, please get in touch with us via www.buitech.co.uk, emailing info@buitech.co.uk or by calling us on 0330 223 3036.