Testing the Implementation of Business Rules Using Intensional Database Tests

  • Authors:
  • David Willmor;Suzanne M. Embury

  • Affiliations:
  • University of Manchester, UK;University of Manchester, UK

  • Venue:
  • TAIC-PART '06 Proceedings of the Testing: Academic & Industrial Conference on Practice And Research Techniques
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the key roles of any information system is to enforce the business rules and policies set by the owning organisation. As for any important functionality, it is necessary to verify the implementation of any business rule carefully, through thorough testing. However, business rules have some specific features which make testing a particular challenge. They represent a more fine-grained unit of functionality than is usually considered by testing tools (programs, module, UML models, etc.) and their implementations are typically spread across a system (or perhaps some specific layer of a system). There is no convenient one-toone relationship between programs and business rules that can facilitate their testing. To the best of our knowledge, no tools, methods or guidelines exist for helping software developers to test the implementation of business rules. Standard testing tools can help to a certain extent, but they leave the rule-specific work entirely in the programmer's hands. In this paper, we discuss the problems of testing business rules, and elicit the key features of a good test suite for a collection of business rules. We focus in particular on constraint business rules - an important class of rule that is commonly applied to the persistent data managed by the information system. We show how intensional database tests provide a suitable platform on which to implement business rule tests rapidly, and show how existing intensional test suites can be automatically adapted to test business rules. We have applied these ideas in a case study, which has allowed us to compare the relative costs of creating and executing these augmented test suites, as well as providing some evidence of their ability to detect faults in business rule implementations.