Ask Joy:How Do You Know if Your Software Requirements are Testable?

ArgonDigital - enterprise automation experts

Share This Post

From our Spring newsletter, we received a question to the Ask Joy column. Here’s the question and response!

Question: “How do you determine if a requirement is testable and please answer in concise, understandable English.”

Answer: Hi Jon, I sat down to answer your question, and I honestly found myself a bit nervous about the second part of the it – in which you asked me to write in “concise, understandable English”. My first reaction was that I don’t know any other language well enough to pull off an answer, so the English part is easy. But my nervousness came from the concern that you may not think my answer is concise and understandable.

And there-in lies the problem, this question isn’t measurable in itself! When we use plain English, while it’s easy to read and get the gist of the meaning, it certainly is often up for multiple interpretations.

This is dangerous to software development, because if there are multiple interpretations, there is no guarantee that the solution will be what you asked for. Therefore, we should set out to write requirements that are precise, unambiguous, clearly understood…and testable.

So how can we then know if a requirement really is testable? Simply put, you must determine how you would measure the success of the requirement in the solution, and then decide if you were to actually measure it, that you would have a solid “yes” or “no” answer as to whether it passed or failed. If the answer is not black and white, then it’s not testable.

For further related reading:

Sometimes requirements are vague, and you can find more on this topic in a post that references an INCOSE 2008 paper on this very topic .

Roger Cauvin writes about the idea that requirements need to be testable in principle, but it’s less important if they are actually testable in practice.Scott at Tyner Blain further discusses why we care about testable requirements.

Just remember: in the end, it’s not really about the requirements and whether they are testable or not, it’s about the solution you get out on the other side.Thank you Jon for the question!
Please feel free to comment below if you’d like to continue the conversation.

More To Explore