It's being edited by Lee Hawkins who is posing questions on Twitter, LinkedIn, Slack, and the AST mailing list and then collating the replies, focusing on practice over theory.
I've decided to contribute by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be.Perhaps you'd like to join me?
--00--
"Testing is just to make sure the requirements are met"
Yes, that's a common perspective, but ...
But I disagree with it given a commonly-held view of the requirements. Let's gloss that view as: some list of self-and-world-consistent criteria made explicit by stakeholders that describes all the necessary changes and rules out all the undesirable changes. At best this seems rose-tinted and at worst it's impossible to be this explicit.
But there's also a kind of locked-in assumption that these requirements satisfy the needs of the stakeholders mentioned, and that the relevant set of stakeholders has been consulted and had their needs taken into account. Again, we all know that people are people and miss things, or change their minds, or the context changes beneath their feet.
But I fear there's an implied timeline in the question too because are met makes me wonder met by what? produced by who? when? So we're testing after someone made a thing that they think satisfies the requirements? What happens if we find a problem with the requirements? Or do we just accept them as gospel?
But requiring testing to make sure layers responsibility onto this post-hoc task, the one that's separate from the building, the thinking about what we're going to build and why, or exploring why we're going to build it, for who, and what they want to achieve. That's a big ask and one that could involve all sorts of project and people management, inside and outside the project, if it was even achievable in general.
But to be honest, I find the word just triggering as well. Thankfully I've had enough of these conversations over the years to let it go this time.
But perhaps the word testing is uncontroversial? I'm pleased the question doesn't say that testers are the only ones doing this testing. But I can't escape the squishy feeling that whenever I've had to field this kind of enquiry in the past it has always been in that context.
But that leaves us with only is and to. No problem! We can use them as the foundations of an alternative statement, simplified out of my definition of testing:
The goal of testing is to identify relevant issues to relevant people at relevant times.
And this testing will include checking known requirements but also implicit and contextually-important requirements, including the requirement that the requirements make sense to the right set of people.
And this testing doesn't have to wait for something to be built before it can begin. Just this week I researched a data source that is being touted for use in a project to see how realistic it is for that source to satisfy the stated requirements. No code has been written yet except what I hacked up to explore the source.
And this testing isn't making sure, but instead it's (at least the way I do it) sympathetically sceptical about the project. It seeks to help the stakeholders to build the best version of the thing they want within their constraints.
And this testing helps to discover and expose constraints and facilitates informed choices, such as a first increment that avoids some of the harder questions raised by the testing.
And I hope that this answer isn't unsatisfactory. I know it could look like a wall of jaundiced oh-so-sensitive-tester overreaction to what you consider to be a straightforward statement. I'll admit that I have an expansive and open view of what testing is.
If it turns out that we have radically different ideas of what testing can be then I'm happy to have understood that. It'll improve our working relationship as I continue to do things outside your definition to try to help your projects succeed, but call it something else.
Image: This Day in Music
Comments
Post a Comment