CBSD에서의 컴포넌트 조립 테스트 기법

A Component Composition Testing Technique in CBSD

  • 윤회진 (이화여자대학교 대학원 컴퓨터학과) ;
  • 최병주 (이화여자대학교 컴퓨터학과)
  • 발행 : 2002.10.01

초록

컴포넌트 기반 소프트웨어 개발(Component-Based Software Development : CBSD)로 만들어진 소프트웨어는 현재 개발자에 의해 새로 만들어진 컴포넌트들과 재사용되는 컴포넌트들의 '조립'으로 이루어진다. 본 논문에서는 이들을 각각 화이트박스 컴포넌트와 블랙박스 컴포넌트로 정의한다. 따라서 컴포넌트 조림에 의한 오류는 소프트웨어를 이루는 블랙박스 컴포넌트들과 화이트박스 컴포넌트들의 상호작용에 의해 발생한다. 본 논문은 이러한 조립 오류들을 테스트하는 방법을 제안하고, 엔터프라이즈 자바빈즈 아키텍쳐에서의 컴포넌트 조립 테스트에 적용한다. 본 기법은 화이트박스 컴포넌트의 특정 영역에만 오류를 삽입하여 테스트 케이스를 선정한다. 오류가 삽입되는 특정 영역은 컴포넌트 조립의 패턴들을 분석하석 선정되며, 이는 본 기법의 테스트 케이스가 높은 효율성을 갖도록 한다. 본 논문에서는 테스트 케이스의 효율성을 실험을 통해 평가하며, 나아가 컴포넌트 조립 테스트 기법의 자동화 방안을 제안한다.

An application in Component-Based Software Development (CBSD) is built by 'composing'two kinds of components; One is a component that is made by current developer himself, and the other is a component that is from other developments. We define the former as a 'White-box component' and the latter as a 'Black-box component.' The error from the composition can be said to be caused by interactions of Black-box components and White-box components. This paper proposes a new testing technique for composition errors, and applies the technique to Enterprise Java Beans component architecture. Our technique selects test cases by injecting a fault only into the specific parts of a White-box component. This specific parts for injecting a fault are selected by analyzing composition patterns, and lead to make our test cases have a good effectiveness. We show the effectiveness of our test cases through an experiment. Moreover, we also mention an automation tool for our technique.

키워드

참고문헌

  1. Marcio E. Delamaro, Jose C. Maldonado, and Aditya P. Mathur, 'Interface Mutation: An Approach for Integration Testing,' IEEE Trans. on Software Engineering, Vol. 27, No. 3, pp.228-247, Mar. 2001 https://doi.org/10.1109/32.910859
  2. R.A.DeMillo, R.J.Lipton, and F.G.Sayward, 'Hints on Test Data Selection : Help for the Practicing Programmer,' IEEE Computer, Vol. 11, No. 4, pp. 34-41, Apr 1978 https://doi.org/10.1109/C-M.1978.218136
  3. Aditia P.Mathur and W.Eric Wong. 1993. Comparing the Fault Detection Effectiveness of Mutation and Data Flow Testing: An Empirical Study, SERC-TR-146-P, Dec.29
  4. A.Jefferson Offutt. 1992. Investigations of the Software Testing Coupling Effect. ACM Trans. on Software Engineering and Methodology, 1(1): 5-20, Jan https://doi.org/10.1145/125489.125473
  5. Monica Pawlan, 'Writing Enterprise Application with JavaTM 2 Platform, Enterprise Edition,' at URL : http://developer.java.sun.com/developer/onlineTraining/J2EE/Intro/
  6. Hoijin Yoon and Byoungju Choi, 'Inter-class Test Technique between Black-box-class and White-box-class for Component customization Failures,' Asia-Pacific Software Engineering Conference, page162-165, Japan, Dec 8-10, 1999 https://doi.org/10.1109/APSEC.1999.809597
  7. Hoijin Yoon and Byoungju Choi, 'Component Customization Testing Technique Using Fault Injection Technique and Mutation Test Criteria,' i${\pm}$Proceeding on Mutation2000, Oct. 2000, USA