My company is currently working on making our product compliant with some US government specifications. This is an interesting excercise ... there are pages and pages and pages of specifications, and some of them are explicit and unambiguoius. But lots of others don't apply to our product, and others do, but seem to assume a different architecture.
So I was very happy when my developers came back from the preliminary network integration testing with an actual acceptance test document, with test cases and expected results. Yay! Of course, the terminology is a little confusing, so I started rewriting it to make a parallel document that follows our own conventions, that will make it easier for all of us here to follow.
And I was rewriting one particular test case, and came crashing to a halt, just staring at the expected results ... it's supposed to do WHAT? I'd been mildly wondering why a certain possible call scenario hadn't been mentioned before, and there it was - but "refuse the call" was not a result I was expecting. That's not what our product currently does with that situation. Clearly, the target environment has some very specific assumptions about how this feature is going to be used, and in this case at least, it's not what we were expecting. We don't understand that target environment. I wonder what other assumptions we're missing? |