View : 20 Download: 0

Fault-based component customization and composition testing technique

Title
Fault-based component customization and composition testing technique
Authors
윤회진
Issue Date
2003
Department/Major
대학원 컴퓨터학과
Publisher
이화여자대학교 대학원
Degree
Master
Abstract
Component-Based Software Development(CBSD) methodology reduces the cost of development by reusing pre-coded software, but there are risks involved in reusing software built by other component developers. Although a component works well in the environment for which it was designed, it can cause problems in another system. CBSD needs a more detailed and accurate testing technique than the existing testing approaches. CBSD has two main steps; one is 'Customization, and the other is 'Composition' Customization tailors pre-built components to the current development domain, and Composition merges the customized components to the component-based software. Testing should be performed just after the customization and the composition in order to keep components error-free in a new system. This dissertation develops the component testing techniques for the customization and the composition. This dissertation consists of the following four main components. First, the techniques of this dissertation can be tailored to various component architectures by developing them based on the common characteristics of the component. The component consists of a black-box part and a white-box part; the black box part including the main code is not accessible, but the white-box part including the interface for modifying the component is accessible. The testing technique tests the faults of interactions between a black-box part and a white-box part by analyzing only the white-box part. The contents of the testing technique can be specified under component architectures. Therefore, testing technique for various component architectures can be developed with the testing technique proposed in this dissertation. Second, this dissertation develops the testing techniques for Enterprise JavaBeans(EJB) and Component Object Model(COM) by specifying the contents of the test technique. EJB and COM are the two most popular component architectures. Moreover, examples are described for the EJB testing technique and the COM testing technique to show how the techniques test EJB application or COM application in the customization test level and the composition test level. Third, through the empirical study this dissertation shows that the testing technique generates more effective test data. Testing cost is important in CBSD since CBSD wants to reduce the development cost, and generating the effective test data is useful in reducing the testing cost. The empirical study selects three existing testing techniques and compares them to the testing technique proposed in this dissertation on the effectiveness of the test data. As a result, it shows that the technique proposed in this dissertation generates more effective test data on average than the others. Fourth, an automation tool for the testing technique of this dissertation is developed to show the technique can be automated. Building a test automation tool is an important element for reducing the cost of testing. The test tool automates the customization testing technique for EJB and the composition testing technique for EJB as a prototype showing that the technique of this dissertation can be automated in a tool. The tool is also used in the empirical study, and generates the effectiveness of the test data automatically by testing the customized components and the composed units of the EJB application. It demonstrates that the test tool tests the components in the customization test level and the composition test level successfully.;컴포넌트 기반 소프트웨어 개발은 이전에 개발된 소프트웨어 컴포넌트들을 재사용함으로써, 소프트웨어 개발 비용을 절감키는 목적을 갖는다. 그러나 다른 컴포넌트 개발자에 의해, 또는 다른 개발 환경에서 만들어진 소프트웨어 컴포넌트들을 컴포넌트사용자가 재사용하는 데에는 위험부담이 있다. 한 시스템에서 오류없이 잘 수행되던 컴포넌트들이 다른 시스템에서는 오류를 일으킬 수 있기 때문이다. 따라서 컴포넌트 가반 소프트웨어 개발에서는 기존의 테스트 방안과는 다른 보다 정확하고 심도있는 테스트 기법이 요구된다. 기존의 소프트웨어 컴포넌트를 재사용할 때, 컴포넌트를 새로운 개발 요구사항에 맞추는 '맞춤'과 맞추어진 컴포넌트들을 서로 엮어서 새로운 컴포넌트기반 소프트웨어를 만드는 '조립'은 컴포넌트 기반 소프트웨어 개발의 주요 작업들이다. 따라서 컴포넌트의 특성을 기반으로 하는 컴포넌트 테스트가 맞춤과 조립 작업 이후에 이루어질 필요가 있다. 이를 위해 본 논문에서는 컴포넌트 맞춤 테스트 기법과 컴포넌트 조립 테스트 기법을 개발한다. 본 논문은 다음의 내용을 중심으로 컴포넌트 맞춤 테스트 기법과 컴포넌트 조립 테스트 기법 개발한다. 첫째, 컴포넌트 공통 특성을 기반으로 테스트 기법을 개발하여, 이를 다양한 컴포넌트 아키텍쳐를 위한 테스트 기법들로 구체화시킬 수 있도록 하였다. 컴포넌트는 핵심부분을 담고 있는 블랙박스 부분과, 인터페이스로서 컴포넌트를 현재 개발 도메인에 맞출 수 있도록 공개된 화이트박스 부분으로 구성되어져 있다. 이 공통 특성을 기반으로 컴포넌트 사용자가 접근가능한 화이트 박스 부분만을 분석하여 블랙박스 부분과 화이트박스 부분 사이에서 일어날 수 있는 오류들을 테스트한다. 제안한 테스트 기법의 각 항목들은 구체적인 컴포넌트 아키텍쳐를 대상으로 구체화될 수 있으며, 이렇게 함으로써 다양한 컴포넌트 아키텍쳐를 위한 테스트 기법을 개발할 수 있다. 둘째, 컴포넌트의 공통 특성을 기반으로 제안한 기법을 엔터프라이즈 자바빈즈(Enterprise JavaBeans : EJB)와 컴포넌트 객체 모델(Component Object Model : COM)에 적용할 수 있도록 구체화하였다. EJB와 COM은 대표적인 컴포넌트 아키텍쳐들이다. 본 논문에서 제안한 컴포넌트 맞춤 테스트 기법과 컴포넌트 조립 테스트 기법을 EJB와 COM에 따라 구체화함으로써, EJB를 위한 컴포넌트 테스트 기법과 COM을 위한 컴포넌트 테스트 기법을 개발하였다. 또한 각 구체화된 기법들에 대한 예제를 보여줌으로써, 실제 어떻게 테스트 기법을 적용하는지를 설명하였다. 셋째, 개발한 테스트 기법이 효율적인 테스트 데이터를 생성함을 실험을 통해 보인다. CBSD의 목적인 소프트웨어 개발 비용 절감에 부합하여, 컴포넌트 테스트 기법도 테스트 비용을 고려해야 한다. 적은 수의 테스트 데이터로 많은 수의 오류를 감지할 수 있다면, 테스트 시간 비용면에서 도움이 될 수 있다. 본 논문에서 제안한 기법과 함께 기존에 존재하는 테스트 기법들 세가지를 선정하여 이들의 테스트 데이터의 효율성을 비교하는 실험을 수행한다. 그 결과 본 논문이 제안하는 컴포넌트 테스트 기법이 비교적 높은 효율성을 갖는 테스트 데이터를 생성함을 보인다. 넷째, 컴포넌트 테스트 기법을 자동으로 수행하는 테스트 도구를 구현하였다. 테스트 비용 절감을 고려했을 때, 테스트 도구의 구현은 중요하다. 본 논문에서 제안한 기법이 자동화 될 수 있음을 보이기 위하여, EJB로 구체화한 기법을 중심으로 컴포넌트 맞춤 테스트와 컴포넌트 조립 테스트를 수행하는 테스트 도구를 구현하였다. 또한 이를 테스트 데이터 효율성 실험에 이용하여, 본 기법의 효율성 값들을 도구를 통해 자동으로 얻었다. 이는 도구가 무리없이 컴포넌트 테스트를 수행함을 의미한다.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Master
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE