Let's assume that the error message wasn't displayed. In this case, we have a classic case of a software bug; i.e., a bug born because of a mismatch between the actual behavior of the software and the expected behavior (which is usually specified in the spec).
If you paid a little bit of attention when you read item 2.1., you surely noticed (joke) that it wasn't clear what kind of error message is expected to be displayed-i.e., the decision on the actual text of error message is up to the programmer, and he or she can write code that will produce:
- a NONinformative, irritating message: "Error", leaving the user to wonder what he or she has done wrong and cultivating a feeling of guilt in him or her, OR
- an easy-to-understand message: "Oops, error on page. ZIP code should have 5 digits".
Formally, the programmer will be right in both cases, because the specification doesn't elaborate about the text of the error message.
Here we have a situation where the spec itself is buggy, because
- we reasonably expect that spec to give us details about the error message, and
- the actual spec doesn't give us those details.
Let's call this situation "spec bug."