Last night we had a meeting at Polteq where Test tooling was at the center of attention. Interestingly most participants consider test tooling immediately to be related to test automation, I think that with a little creative thinking most testers can get a lot more out of tools than just mere test automation. I see tools as just about anything I use in my work as a tester to get my work done. This may be an application like notepad++ to keep track of what I have done or quickly find and replace a word or phrase in several places; Selenium WebDriver to remove a lot of repetitive work in testing; Excel to create data which can be inserted into DB directly from excel.
One of the things that I realized over the course of the conversation is that, not only are there a lot of different ideas on what tools might be, but there is also confusion about how to use tools.
I have always tried to be creative in my use of tools, in other words, abuse a tool, apparently not everyone thinks like that.
An idea was posed that we compile a list of tools and in what situations these tools can be used, which is an interesting idea, I am just not convinced this is the right approach. A list of tools can of course come in extremely handy, but will we be able to come up with a more useful or complete list than for example on opensourcetesting.org ? Plus, will this stimulate those testers that think tools are directly related to test automation to go look at the list? I am not sure.
I therefore proposed to come up with a list, of 10 or so, tools that are either by default installed on a Windows PC or are easy to find and download and give some ideas of how you can make these tools work for you in a slightly unorthodox way.
While writing this post I realized how difficult it is to just think up ideas how to (mis)use tools. Generally my ideas for how to make life easier while testing come to me kind of naturally. For example when doing a major refactoring in FitNesse of the testcases, we tried at first to use the Refactor functionality within FitNesse.
This is a fairly simple regular expression find/replace. Works well enough when you do not really care what you are replacing. However when you need to know what you are replacing this refactor function is not good enough, it doesn’t give you any control since it just goes off and does the replace.
What we needed was a slightly more sophisticated way of doing the search and replace. That is where Notepad++ came knocking. This basic text editor is capable of searching within multiple files in a set of directories and showing you the results for this search, it is also capable of replacing all occurrences of these keywords in one big bang, while still showing you what it is doing.
When kicking off our current project, we needed some way to quickly build a hierarchical overview of the applications under test. We first thought of using the sitemap xml, importing that into Excel and using that. This would however, not give us the opportunity to play with it and use it as an inspiration to base the custom fixture on. We ended up using an extremely easy way to build a hierarchical overview, where all nodes can be moved, linked, collapsed and expanded at will: a mind mapping tool. We used Freemind, it is a wonderful little tool, easy to use and free to download!
There probably are an unfathomable amount of other tools that can be abused in this way. Please share them with me!
Tools are there to do stuff for you, to make life easier. Nobody is stopping you from abusing a tool to your advantage!