Tests and Requirements, Requirements and Tests: A Möbius Strip

Writing acceptance tests early is a requirements engineering technique that can save time and money and help businesses better respond to change. We believe that concrete requirements blend with acceptance tests in much the same way as the two sides of a strip of paper become one side in a Mobius strip. In other words, requirements and tests become indistinguishable, so you can specify system behavior by writing tests and then verify that behavior by executing the tests. In this article, we purposely avoided describing the detailed syntax of FIT to demonstrate that knowledge of that syntax isn't required to read and understand the tests as requirements. This could lead you to believe that there is no syntax and that the tests are simply ad hoc conversions of narratives to tables. Requirements written in the FIT style are also tests.