Techniques for validating requirements

Recognizing that whole team testing may not sufficiently address validating NFRs many organizations will supplement their whole team testing efforts with parallel independent testing .

With this approach a delivery team makes their working builds available to a test team on a regular basis, minimally at the end of each iteration, and the testers perform the types of testing on it that the delivery team is either unable or unlikely to perform.

It is wonderful to strive to have teams with sufficient skills to get the job done, but sometimes the situation is too complex to allow that.

There are some types of NFRs which require significant expertise to address properly: NFRs pertaining to security, usability, and reliability for example.

Parallel independent testing is also common in regulatory compliance environments.

From a verification point of view some agile teams will perform either formal or informal reviews.

If you find yourself in that situation you will need to validate NFRs in addition to functional requirements.

It would be a stretch to assume that all of your delivery teams will have this expertise and access to these tools.There is a range of analysis tools available to you that can address NFR types such as security, performance, and more.These tools will not only identify potential problems with your code many of them will also provide summaries of what they found, metrics that you can leverage in your automated project dashboards.Minimally your developers should be performing regression testing to the best of their ability, adopting a continuous integration (CI) strategy in which the regression test suite(s) are run automatically many times a day.Advanced agile teams will take a test-driven development (TDD) approach where a single test is written just before sufficient production code which fulfills that test.

Leave a Reply