서지주요정보
Test case prioritization based on information retrieval concepts = 정보검색기법을 활용한 테스트케이스 우선순위 기법
서명 / 저자 Test case prioritization based on information retrieval concepts = 정보검색기법을 활용한 테스트케이스 우선순위 기법 / Jung-Hyun Kwon.
저자명 Kwon, Jung-Hyun ; 권정현
발행사항 [대전 : 한국과학기술원, 2014].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8026402

소장위치/청구기호

학술문화관(문화관) 보존서고

MWST 14004

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Test case prioritization is one of the techniques used in regression testing. This technique determines an execution order of test cases in test suites so that the scheduled test cases can achieve certain goals such as maximizing code coverage or increasing fault detection rate. Traditionally, code coverage based prioritization techniques such as statement and method coverage have been used. These techniques are effective because a test case covering many lines is likely to execute many faulty lines. Therefore, there has been much research on coverage based prioritization techniques. However, there has been less research focusing on less tested code. Faults in the code might not be detected fast when coverage-based techniques are used. Also, there are faults that even a test case covering many lines cannot detect. These issues can be limitations of the existing coverage based prioritization techniques. This work, involving research overcoming the limitation of the coverage based techniques, utilizes Term Frequency (TF) and Inverted Document Frequency (IDF), which are document modeling concepts in the Information Retrieval (IR) field. In this work, an effective prioritization technique is suggested with the TF/IDF scores. This work explains how TF/IDF can fit into test case prioritization. The proposed approach gives TF and IDF scores to each covered element such as a line or branch. Then, each test case that covers the elements has TF/IDF scores. Next, the proposed approach schedules the test cases by using a combination of the total TF/IDF scores and the coverage scores of the test cases. To determine appropriate weights between TF/IDF and coverage scores, a set of mutants are used as training data. In our study, five open source applications are evaluated. The proposed approach is compared to baseline approaches such as a random ordering, statement, branch and additional statement techniques. The results demonstrate that the proposed approach is generally more effective than the coverage based techniques, but is not better than the random ordering for most cases. To find a reason why the random ordering achieves a better fault detection rate than the proposed approach, a fault distribution of each program is investigated. An observation from the investigation is that even test cases that cover small amounts of code can detect many faults according to the fault distributions. The contributions of this study are as follows. First, this approach suggests an alternative technique to overcome the problems of the coverage-based techniques. Second, this work shows a possibility that IR can be utilized in test case prioritization. Lastly, this approach can be used together with other coverage-based techniques.

테스트케이스 우선순위 기법은 회귀 테스팅에서 주로 사용되는 방법들 중 하나이다. 이 기술은 실행 될 테스트들에 순서를 정함으로써 코드 커버리지나 결함 검출 등의 목적을 빠른 시간 내에 달성하기 위한 방법이다. 테스트케이스 우선순위 기법에는 전통적으로 statement based coverage나 branch based coverage기반의 우선순위 기법들이 사용되어왔다. 많은 코드를 실행하는 테스트케이스가 많은 결함을 단시간에 드러낼 확률이 크기 때문에 이 기법들을 기반으로 많은 연구들이 진행되어 왔다. 하지만 많은 코드들을 실행하는 테스트케이스들이 발견하지 못하는 결함들도 존재하기 때문에 커버리지 기반으로 한 테스트 케이스 우선순위 기법들에는 한계가 있다. 본 연구에서는 전통적인 코드 커버리지 기반의 테스트케이스 우선순위 기법의 한계를 극복하기 위해 정보검색 분야에서 사용되는 Term Frequency(TF), Inverted Document Frequency(IDF) 기법을 이용하여 효과적인 테스트케이스 우선순위 기법을 제안하였다. 본 연구에서는 TF, IDF가 테스트 케이스 우선순위기법에서 어떻게 활용될 수 있는지를 설명한다. 코드 커버리지 정보를 이용하여 각 테스트케이스의 TF, IDF 점수를 매겼으며 프로그램의 구조와 테스트케이스들의 커버리지에 따라 TF, IDF의 중요도가 달라지기 때문에 커버리지 정보와 뮤턴트들을 이용하여 적절한 TF, IDF의 weight를 결정하였다. 평가에서 5개의 실제 사용되는 어플리케이션들에 대해서 본 접근방법을 실험을 하였고 랜덤 기반, 코드 커버리지 기반 테스트 우선순위 기법과 비교를 하였다. 본 접근방법과 베이스라인과의 결함 검출률을 비교한 결과 본 접근 방법이 코드 커버리지 기반보다 전반적으로 뛰어남을 보였고 랜덤 기반 방법보다는 뛰어 나지 않음을 발견하였다. 랜덤 기반 방법이 잘 나온 이유를 찾기 위해 실험에 사용된 뮤턴트 결함 분포를 살펴봤을 때 대부분의 경우 낮은 커버리지를 가진 테스트케이스에서도 많은 결함을 발견할 수 있었다. 이 결과는 랜덤 기반의 방법이 효과적이지 않았던 기존의 연구들과는 다른 경향을 보여주고 커버리지 기반 방법이 주어진 결함 분포에 따라 효과적이지 않을 수도 있다는 것을 보여준다. 본 연구가 기여한 점은 코드 커버지리 기반의 한계를 극복한 효과적인 테스트케이스 우선순위 기법을 제안했다는 점, 정보검색 분야와 코드 커버리지 기반 우선순위 기법의 결합 가능성을 제시했다는 점, 그리고 많은 코드 커버리지 기반 테스트 케이스 우선순위 기법과 같이 사용가능 하다는 점 등이 있다. 향후 연구에서는 다양한 결함 분포를 보였던 프로그램들에 대한 연구를 계속하여 다양한 프로그램에 효과적으로 작동하는 우선순위 기법을 연구할 계획이다. 또한 프로그램의 결함 분포 및 다양한 정보를 분석해서 가장 효과적인 우선순위 기법을 추천해주는 시스템에 대한 연구를 할 수 있을 것이다.

서지기타정보

서지기타정보
청구기호 {MWST 14004
형태사항 47 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 권정현
지도교수의 영문표기 : In-Young Ko
지도교수의 한글표기 : 고인영
공동지도교수의 영문표기 : Gregg Rothermel
공동지도교수의 한글표기 : 그레그 로더멜
학위논문 학위논문(석사) - 한국과학기술원 : 웹사이언스공학전공,
서지주기 References : p. 35-36
주제 Software Testing
Test Case Prioritization
Information Retrieval
소프트웨어 테스팅
테스트케이스 우선순위 기법
정보검색
QR CODE qr code