ast06-substra - Substra: A Framework for Automatic...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Substra: A Framework for Automatic Generation of Integration Tests Hai Yuan Department of Computer Science North Carolina State University Raleigh, NC 27695 hyuan3@ncsu.edu Tao Xie Department of Computer Science North Carolina State University Raleigh, NC 27695 xie@csc.ncsu.edu ABSTRACT A component-based software system consists of well-encapsulated components that interact with each other via their interfaces. Soft- ware integration tests are generated to test the interactions among different components. These tests are usually in the form of se- quences of interface method calls. Although many components are equipped with documents that provide informal specifications of individual interface methods, few documents specify component interaction constraints on the usage of these interface methods, in- cluding the order in which these methods should be called and the constraints on the method arguments and returns across mul- tiple methods. In this paper, we propose Substra, a framework for automatic generation of software integration tests based on call- sequence constraints inferred from dynamic executions. Two types of sequencing constraints are inferred: shared subsystem states and object define-use relationships. The inferred constraints are used to guide automatic generation of integration tests. We have imple- mented Substra with a tool and applied the tool on an ATM ex- ample. The preliminary results show that the tool can effectively generate integration tests that exercise new program behaviors. Categories and Subject Descriptors: D.2.5 [Software Engineer- ing]: Testing and Debugging General Terms: Experimentation, Reliability, Verification. Keywords: Software Testing, Integration Testing, Test Genera- tion. 1. INTRODUCTION In component-based software development [6], a software sys- tem is built out of well-encapsulated components each of which has a set of well-defined interfaces. Components interact with each other by invoking methods through these interfaces. One impor- tant means of assuring the correctness of component interactions is through integration testing. In integration testing, integration tests are generated to test interactions among different components. These integration tests are usually in the form of sequences of method calls in the interfaces. However, syntactically correct se- quences do not necessarily result in valid tests. Specifications can Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. AST’06,
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/24/2012 for the course CSE 503 taught by Professor Davidnotikin during the Spring '11 term at University of Washington.

Page1 / 7

ast06-substra - Substra: A Framework for Automatic...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online