“SPOT ON A VASE” – a mnemonic for requirements testing

Requirements are the starting point for defining what the project team will design, implement, and test. Elementary logic tells us that if there is something “wrong” in the requirements, then the “wrong” will be implemented, i.e. the colossal work of many people will be done in vain.*

In the process of testing requirements, their compliance with a specific set of properties is verified. Kulikov identifies the following properties of quality requirements:

Our requirements verification checklist contains most of these properties, namely: Atomicity, Singularity, Completeness, Unambiguity, Consistency, Feasibility, Testability, Mandatoryness, Relevance, Traceability, Explicitness. To check if the requirements match these properties, I came up with the mnemonic “STAIN ON THE VASE

Mnemonics – this is a type of heuristic, a set of rules and techniques that help to effectively remember the necessary information (information), usually an abbreviation word or phrase. For example, everyone remembers the children's mnemonic “every hunter wants to know where the pheasant sits,” in which the first letters of each word can be used to remember the order of the colors of the rainbow.**

Let's take you back to Ancient Greece for a while and imagine that we are ancient vase painters (developers/testers), whose craft is decorative painting of ceramic vessels. On such vessels, or otherwise vases, certain historical events, scenes from myths and legends were depicted.

One day a noble and respected resident of our city came to our workshop (systems analyst), in order to order from us the production of such a vase in honor of the hero Hercules. From him we received a parchment with wishes for what the painting on the vase should be like. His wishes (requirements) were as follows:

  1. Depict one of the feats performed by Hercules and indicate the number of this feat.

  2. One of the labors depicted on the vase must be the one where Hercules fights the Nemean Lion.

  3. So that the painting on the vase can be preserved for two hundred years.

    The painting should be beautiful.

  4. So that the vase has a meander pattern, but this is not necessary, and you still need to have time to make the vase for the upcoming holiday of Heraclea.

He also wanted to see the resemblance of Hercules depicted on the vase to himself, but did not express this out loud, but only thought about it. Let's label this wish as number 5.

Reading the parchment, we tried to imagine the future result of our work, but instead of a clear and clear image on the vase, we saw only a large illegible spot. According to wish No. 1, we need to depict one of the accomplished feats, but which one exactly? – The property “is violated”Completeness” Also, this wish can be divided into two separate ones – 1. Depict the feat and 2. Indicate the number of the feat. – The property “is violated”Atomicity” Further, in wish No. 2, we are talking about the fact that one of the labors depicted on the vase must be the one where Hercules fights the Nemean Lion, that is, we should depict not one, but several labors? Here wish No. 2 contradicts wish No. 1 and the property “Consistency” Also, we cannot guarantee the fulfillment of wish No. 3 because not a single person lives for so many years, and we cannot verify that after two hundred years the painting on the vase will be visible as before. The properties are violated hereFeasibility” And “Testability” Next comes a wish that was not numbered, which is why it is lost between the third and fourth wishes, and it can accidentally be missed when making a vase. – The property “is violated”Traceability” What does beautiful mean? – The property “is violated”Unambiguity” Wish No. 4 says that you need to depict an ornament, but this is not necessary, you don’t have to do it. – The property “is violated”Mandatory” Next in the same wish comes one more, which has nothing to do with the previous one. It would be worth describing separately, namely, that you need to have time to make a vase for the upcoming holiday of Heraclea. – The property “is violated”Singularity” And we didn’t know anything about wish No. 5, since they simply didn’t tell us about it. – The property “is violated”Explicitness“.***

If we had carried out the work according to such wishes, we would have created the “wrong” vase. It will be extremely difficult, if not impossible, to correct such a painting after firing a vase, and you will have to do everything all over again, which is wasted time, loss of money, and, even worse, possibly our reputation. Here we can draw a parallel with the cost of fixing a bug, depending on when it was found.

Preliminary familiarization and consideration of the wishes written by the customer on parchment helped us avoid all these negative consequences (requirements testing). Realizing that we cannot make the “correct” vase according to current wishes, we discuss them with the customer, ask him the questions we have, and thus form the “correct” wishes that will help us create an antique work of art.

And in conclusion, I’ll write a few words about how all this actually came to my mind. In fact, everything is quite simple here. Having written out the first letters of each of the properties (Atomicity, Unity, Completeness, Unambiguity, Consistency, Feasibility, Testability, Mandatoryness, Relevance, Traceability, Explicitness), I received the following collection of letters: AEZNNVTOAPYA. And then, using the usual enumeration of these letters, he began to come up with words and phrases, crossing out the letters that had already been used: he composed the word “SPOT” – the letters AEZNVA remained, he composed the word “VASA” – the letters NOT remained. Here my little passion for the myths of Ancient Greece came in handy and I just needed to show a little imagination. This is how “STAIN ON A VASE” ended up happening.

*Software testing. Basic course / Svyatoslav Kulikov.
**https://vladislaveremeev.gitbook.io/qa_bible/obshee/evristiki-i-mnemoniki
***In my example, I did not mention only the “Relevance” property. It means that the requirement is not obsolete. For example, the requirement must correspond to technical realities. There aren't many Windows 2000 users these days.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *