When developing software, you’re constantly faced with two issues:
- Get all the requirements
- Make sure the requirements are correct
When writing code, we use tests to make sure we meet all the goals (completeness and correctness) but how do you test requirements?
By writing unit tests against a model of your requirements. There are two approaches to model requirements in a way useful for both the business and the development: Requirements Modeling Framework (RMF) and AlphaSimple.
See rafael.chaves’s blog post “Modeling requirements the pragmatic way (or When xUML meets xUnit)” for a more detailed introduction to the idea.