Software Product Line Engineering (SPLE) is paradigm to develop customized software products that guarantee improvements in productivity and quality by using platforms and mass customization. In order to maximize benefits from SPLE, testing should be merged into SPLE process, which consist of domain engineering phase and application engineering phase, and performed with reduced effort. This paper proposes systematic software product line test cases derivation method using combinatorial test design. By applying combinatorial test design to product line test cases derivation while exploiting commonality between products, the number of generated test cases can be dramatically reduced and those test cases can be shared by products. Case study conducted in this paper shows efficacy of the method by comparing the number of test cases derived by our method and other methods that consider either commonality or combinatorial design or none of them is conducted.
소프트웨어 프로덕트라인 공학은 플랫폼을 활용해 공통 부분은 재사용하고 가변 부분은 따로 개발하도록 함으로써 생산성을 높이고 제품의 품질을 향상시킴으로써 단순한 대량 생산이 아닌 개별 고객의 요구에 맞는 대량 맞춤 생산을 하기 위한 소프트웨어 개발 패러다임이다. 소프트웨어 프로덕트라인 개발의 이점을 극대화 하기 위해서는 테스팅 과정이 프로덕트라인 공학 프로세스와 통합되어야 하며, 테스팅에 요구되는 시간과 노력을 최소화할 필요가 있다. 본 논문은 소프트웨어 프로덕트라인 테스팅에서 조합 시험 설계를 이용하여 프로덕트라인의 개별 제품 시험이 가능한 테스트 케이스를 생성하는 체계적인 방법을 제시한다. 본 연구에서 제안하는 방법은 공통성을 고려한 조합 시험 설계를 통해 적은 수의 테스트 케이스를 생성하고 이들을 각 제품들이 공유하여 재사용할 수 있도록 한다. 이에 따라 테스트 케이스 생성에 드는 노력을 크게 줄일 수 있다. 두 가지 사례 연구를 통해 제안하는 방법을 구체적으로 설명하고, 기존의 방법들과 생성되는 테스트 케이스의 수를 비교함으로써 방법의 효용성을 보인다.