Test-Driven Non-Functionals? Test-Driven Non-Functionals!
May 2013 • Presentation
A presentation from the ninth annual SATURN conference, held in Minneapolis, MN, April 29 - May 3, 2013.
Software Engineering Institute
We frequently observe software development teams having adopted a "test-driven" approach in software engineering. That is, they write a test first and only then write an implementation making the test succeed. This approach is quite common at the level of unit testing where it is supported by many tools such as JUnit and TestNG. It is less common at the functional test level, but we also find tool support here such a Fitnesse and Selenium. Remarkably enough, the test-driven approach seems to be lacking at the nonfunctional test level. We propose to apply a test-driven approach to nonfunctional requirements wherever possible. In this presentation, we investigate which types of nonfunctional requirements are suitable for a test-driven approach and show how we applied the idea to an application requiring "scalability" in industry practice. Finally, we make some remarks on how to prevent waste during development, as teams might easily do too much work by over-optimizing the system.