Last week I did a presentation to a software testing course at
EC Utbildning in Sweden titled
Exploring with Automation where I demoed ways in which I use software tools to help
me to test. Following up later, one of the students asked whether I
had a favourite tool.
A favourite tool? Wow, so simple but sooo deep!
Asking for a favourite tool could make a great
interview question, to understand the breadth and depth of a candidate's
knowledge about tools, how they think about an apparently basic request with
deep complexity beneath (favourite for what task, on what basis, in what
contexts, over what timescale? what is a tool anyway?) and how they
formulate a response to take all of that into account.
I could
truthfully but unhelpfully answer this question with a curt Yes or
No. Or I could try and give something more nuanced. I went for the
latter.
At an extremely meta level I would echo Jerry Weinberg in
Perfect Software:
The number one testing tool is not the computer, but the human brain — the brain in conjunction with eyes, ears, and other sense organs. No amount of computing power can compensate for brainless testing...
But in
Testing Show
I explained why I might also consider people as essential for testing.
At
a slightly less meta level I would say that tools that help me to use my brain
productively, pragmatically, and practically will have a chance of applying in
any context, including those where we don't have acess to other tools. These
include the scientific and engineering methods, comparison, and modelling. I
talked about about some of them in How to Test Anything (blog,
video).
Reducing the metaness again, my answer might be tools that can
create tools — tool factories if you like. These are extremely valuable because
of their flexibility. At a very base level, I can use shell scripts to simply
stitch together other tools into a new tool (e.g. interacting with a search engine), I
might exploit a third-party library that has capabilities that I need (e.g.
publishing to Confluence), or I
might write a test harness from scratch (which I did for the scenario in Testing Generally).
And
bottoming out with something more atomic, I might say that in the moment the tool that solves my problem is my favouite. But, over the long term if you really pushed me and didn't give me a
specific context, I'd go for three relatively generic tools:
- A text editor allows me to take notes without breaking flow while testing. I can also write and explore my ideas there, I can write scripts, and I can even use data manipulation functions such as search-and-replace.
- A spreadsheet gives me
access to numerical data formatting, processing, and visualisation, all of which facilitate exploration.
- A pen and paper gives me a graphical lens through which to think about whatever I'm testing, and to share my thoughts with others.
But what do you think?
Image:
Discogs
Comments
https://softwaretestingnotes.substack.com/p/issue-42-software-testing-notes
Post a Comment