Options
2003
Book Article
Title
Built-in contract testing for component-based development
Abstract
Assembling new software systems from prefabricated components is an attractive alternative to traditional software development practices. However, the expected reductions in development time and effort will only arise if separately developed components can be made to work effectively together with minimal effort. Lengthy and costly in-situ verification and acceptance testing directly undermines the benefits of heterogeneous components and late system integration. This chapter describes an approach that reduces manual system verification effort by equipping components with the ability to check their execution environment at run-time. When deployed in a new system, built-in contract test components check the contract-compliance of their server components, including the run-time system, and thus automatically verify their ability to fulfil their own obligations. The chapter first considers the principles behind built-in contract testing, and then describes how built-in testing can be made a natural part of component-based development.