Never ask a question without a failing test.
Hm – that reminds me of an experiment. Quite funny – only 40% of all adults get it right. Here we go:
I will think of a rule that is applied for a sequence of 3 numbers.
You would have to guess what the rule is by saying sequences of 3 numbers and I will reply “Yes” or “no” if the sequence matches the rule.
You will only have ONE guess of the rule, but you can ask sequence as many times as you like to.
The game could be as so:You: 1-2-3 (must be next to each other)Me: Yes
You: 2-4-6 (Must double each time)
Me : Yes
You: 4-8-12 (Yeah – this works)Me: Yes
You: 10-20-30 (Nailed it)Me: Yes
You: I’d say the rule is “the first number says how much the following must increment with”
Me: No – you failed badly. The rule is “Mention 3 number starting from lowest to highest”
The morale of the game for Software Engineers:
You can have successful tests – and many of them. But until you get a “NO” you don’t have anything.
The “You” could have said “1-2-999″ to verify the theory but chose not to and the same way we can write tests that we think “Nah – properly not relevant” – but it is… It’s boundary tests for short