Direct-dependency-based software compatibility testing

TitleDirect-dependency-based software compatibility testing
Publication TypeConference Papers
Year of Publication2007
AuthorsYoon I-C, Sussman A, Memon AM, Porter A
Conference NameProceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Date Published2007///
Conference LocationNew York, NY, USA
ISBN Number978-1-59593-882-4
Keywordscompatibility testing, component-based software system

Software compatibility testing is an important quality assurance task aimed at ensuring that component-based software systems build and/or execute properly across a broad range of user system configurations. Because each configuration can involve multiple components with different versions, and because there are complex and changing interdependencies between components and their versions, it is generally infeasible to test all potential configurations. Therefore, compatibility testing usually means examining only a handful of default or popular configurations to detect problems, and as a result costly errors can and do escape to the field This paper presents an improved approach to compatibility testing called RACHET. We formally model the configuration space for component-based systems and use the model to generate test plans covering user-specified portion of the space - the example in this paper is covering all it direct dependencies between components. The test plan is executed efficiently in parallel, by distributing work so as to best utilize test resources. We conducted experimentsand simulation studies applying our approach to a large-scale data management middleware system. The results showed that for this system RACHET discovered incompatibilities between components at a small fraction of the cost for exhaustive testing without compromising test quality