Testability tour

Sometimes while I'm testing a new application, I struggle to get started. To help me focus and better understand my testing, I use application tours to support my testing. One the tours that I use is the testability tour.

Take a testability tour and try to find all the features you can use as testability features and identify the tools you have available that you can use to help in your testing. Take a look at James Bach’s Heuristics of Software Testability . Due to my automation background, this is of course my favorite tour. A testability feature is a feature of the product that gives us more visibility into the inner works of the product or more control over the state of the product.

The main testability features I look for when performing this tour are scriptable interfaces, test harness and stubs, log files, and diagnostic utilities. For example, I often look for WSDL interfaces for web services, Junit test harnesses for Java applications, and log files for web application servers. An excellent example of leveraging a scriptable interface can be found in Brian Marick’s article Bypassing the GUI . In addition, attempt to identify modules or layers of the application that can be tested independently. Many systems I’ve tested have had some level of diagnostic utilities associated with them (especially those that used external web services). The easiest way to find those is to ask developers, but you can sometimes find them lying around in admin consoles if you are lucky enough to know where to find them.

For a more descriptive look at using application tours, see an article I did for Software Test and Performance a few years ago. (It starts on page 20.)