ERROR: Content Element with uid "6600" and type "dce_dceuid16" has no rendering definition!
Test Driven Development: Requirements and Test Design
The typical focus of my test-related publications has been test design, automation, test and continuous integration frameworks. With this tutorial, I am entering the somewhat ambiguous, less formal territory of “test-friendly” requirements, delving into the creation of requirements that simplify the test design process.
During this tutorial, I will attempt to answer the following questions:
- How to measure the test completeness? (acknowledging that test cannot show the absence of all errors) The participants will learn guidelines for presenting the software architecture and requirements in a form allowing the creation of tests that cover all potential implementation errors. The proposed guidelines are based on the analysis of software models (UML-like), their error types and related test design techniques.
- How to verify the test completeness? The test review is the place to confirm the test quality. We will look at requirement formats that make the test reviewing process easy and focused.
- How to guarantee the test controllability and observability? Each test case needs to be executed and analyzed from external interfaces. What to do if this is not the case? The structure of a would-be test harness will be presented, that grants access to the system resources (APIs, messages, system resources).
- How to convert an informal requirement, presented as plain English text, into a tester-friendly requirement? We will discuss the rules that system engineers and architects should follow in order to deliver the desired documentation.
Test Automation Architect, Product Owner for Continuous Integration and Test Framework; Distinguished Member of Technical Staff for Nokia. Gregory holds a PhD in test design and automation for hierarchical systems and speaks at conferences and writes on test and QA related topics.