Testing something works correctly (technical correctness) is all well and good, but testing meaning (semantic correctness) is the mark of a true tester. Without it, you’re not much more than a glorified developer.
Here are some common semantic problems expressed using a progressively strained Star Wars metaphor.
You’re feeling nostalgic and ask a friend to put on a Star Wars movie, they put on episode one, The Phantom Menace. While technically correct, it is a Star Wars movie, it isn’t what you meant, it was semantically wrong.
Problem: No shared understanding of what ’Star Wars’ means.
You clarify by saying, “Noooooo, put the first Star Wars episode on” the friend stares at you confused and says “we’re watching it”.
Problem: the meaning of the first Star Wars episode has evolved over time, does it mean episode 4, the first movie? Or episode 1, the first prequel? Your friend grew up in a different time, they may even like Jar Jar.
You’ve finished your Star Wars marathon, your friend says. “lets watch another Star Wars film” and puts on Caravan of Courage. Neither of you enjoy the film because it’s not a Star Wars film. It’s simply set in the Star Wars universe.
Problem: In this case you both had a shared understanding, it was just wrong. So very wrong.
Now watch this.