One of the ways to do it is to apply test techniques on the requirements.
For Example you use a 'Decision table'.
What is the most important thing then? that things are clear. No vagueness, no ambiguity, it has to be either 'true' or 'false', 'on' or 'off' but nothing in between.
How are you going to test a traffic-light if it is not described what colors it should have, how many light-bulbs, or what the height of the pole is etc etc...
you can not test like that.
So it is exactly with software. things have to be facts, then you can apply test techniques.