Requirements-Driven Testing with Behavior Trees

Marc-Florian Wendland, Ina Schieferdecker, Alain Vouffo-Feudjio · 2011

Requirements engineering is vital for a software development project's success or failure. As today's software systems are getting more and more complex, their related requirements specifications contain often hundreds, even thousands of natural language requirements. The so called behavior engineering developed by Geoff Dromey is suitable to handle the complexity of large-scale software requirements specification by relying on a scalable requirements formalization methodology. The outcome of that methodology is a requirements model in the behavior tree notation, describing the intended, externally visible behavior of the system. By deliberately extending the behavior engineering methodology with testing activities, those requirements models can be further exploited for testing purposes like system and acceptance level testing. This also addresses the common challenge in model-based testing scenarios, namely the availability of a meaningful test model. By reusing a testable requirements model, both the system and test model can be derived from the same specification, since all requirements are intended to be captured in the requirements model properly and consistently. In this paper, we present an approach of how behavior trees can be extended with testing activities to leverage the definition of test requirements. We also briefly discuss how augmenting test-related information to make the requirements model more complete in terms of the IEEE830 standard.

Read the paper · More papers on PaperTik