The impact of using a contract-driven, test-interceptor based software development approach

Journal Title
Journal ISSN
Volume Title
Stellenbosch : Stellenbosch University
ENGLISH SUMMARY: Contract Driven Development, also known as Design by Contract (DBC), Contract Programming and Programming by Contract, is a well-known methodology for designing software. The main aim of the methodology is to reduce quality assurance costs, and to improve reusability and software quality through the use of formalized component contracts. Companies are spending large amounts of money and resources on quality assurance and testing in the pursuit of correct and bug-free software, yet contract driven development is not currently used extensively in industry. This is because the specification of formalized component requirements within component contracts is perceived to be complex, tedious and expensive. In this study, we introduce the concept of test-interceptors, which are automatically generated from component contracts. The function of the testinterceptors is to validate whether, in the context of rendering component services, the component contracts are satisfied. These test interceptors can be used for unit testing, integration testing, operational testing and external service provider oversight. It is expected that such an approach improves verifiability, enforces separation of test logic and test data and assists with recuperating part of the requirements formalization costs through lower test development costs and lower costs associated with bug fixes. This study aims to assess the impact of introducing contract-driven development to both, the quality attributes of the software development process, and the quality of the software produced by the process.
AFRIKAANSE OPSOMMING: Geen opsomming beskikbaar.
Thesis (MPhil)--Stellenbosch University, 2023.