서지주요정보
Prioritizing test environments for cost-effective software test in continuous integration = 지속적 통합 환경에서 비용효율적인 소프트웨어 테스트를 위한 테스트 환경 우선순위 부여 기법
서명 / 저자 Prioritizing test environments for cost-effective software test in continuous integration = 지속적 통합 환경에서 비용효율적인 소프트웨어 테스트를 위한 테스트 환경 우선순위 부여 기법 / Jung-Hyun Kwon.
저자명 Kwon, Jung-Hyun ; 권정현
발행사항 [대전 : 한국과학기술원, 2019].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8033369

소장위치/청구기호

학술문화관(도서관)2층 패컬티라운지(학위논문)

DCS 19013

SMS전송 소장위치

도서상태

이용가능

대출가능

반납예정일

초록정보

When testing applications, it is important to consider different test environments. Different properties of these environments such as web-browser types and underlying platforms may cause an application to exhibit different types of failures. As applications evolve, they must be regression tested across these different environments. Because there are many environments to consider this process can be expensive, resulting in delayed feedback about failures in applications. In this work, four techniques and two hybrid techniques are proposed for providing a developer with faster feedback on failures when regression testing applications across different test environments. The proposed techniques draw on methods used in test case prioritization; however, in this case, test environments are prioritized, based on information on recent and frequent failures. The proposed techniques are especially effective for supporting Continuous Integration (CI) practices. In CI environments, there is a short time interval between runs of regression tests. Developers frequently check their code in to the mainline codebase, and regression tests relevant to that code need to be performed in applicable environments. Existing cost-effective regression testing techniques, which utilize code coverage cannot keep up with the pace of change that occurs in such processes. The proposed techniques are empirically studied on five non-trivial, popular open source web applications. The results show that the proposed techniques can be cost-effective. The proposed approaches generally detect more failures faster than two baseline approaches, in which test environments are not prioritized or are randomly ordered. In addition, the proposed prioritization techniques are compared and analyzed to decide which techniques are more cost-effective than the other techniques for each experiment object. Furthermore, this study considers developer interests in CI environments. This study shows that the proposed techniques can also give faster feedback on test environments whose testing results are interesting to developers.

이 논문에서는 어플리케이션을 테스트할 때, 여러 다른 환경에서 테스트를 비용효율적으로 수행하는 것을 다루었다. 웹브라우저 종류나 플랫폼 등의 환경 속성에 따라 다른 종류의 테스트 실패가 발생할 수 있다. 따라서 어플리케이션이 개발됨에 따라 여러 환경에서 회귀 테스트가 수행되어야 한다. 지속적 통합 환경(Continuous Integration, CI)이 보편화 되면서, 코드가 중앙 코드 저장소에 업데이트가 되면, 다양한 테스트 환경에서의 회귀 테스트를 자동으로 수행하는 프로젝트가 늘어나고 있다. 테스트 결과는 개발자에게 전달되어 디버깅 등의 다음 개발 활동을 수행한다. 하지만 많은 환경에서 회귀 테스트가 수행됨에 따라 전체 테스트 시간과 비용이 많이 들고, 이로 인해 테스트 실패에 대한 피드백이 지연될 수 있는 문제가 있다. 이 연구에서는 다양한 테스트 환경에서 회귀테스팅을 수행할 때, 개발자에게 실패에 대한 피드백을 더 빨리 줄 수 있도록 4개의 기술과 2개의 하이브리드 방법을 제안한다. 제안 기술은 테스트 우선순위 기법에서도 자주 사용되는 최근 실패 정보, 자주 실패되는 정도를 기반으로 한다. 제안 기술은 특히 지속적 통합 환경에서 사용하기 적절하다. 대규모 CI 환경일수록 회귀 테스트 간의 시간 간격이 짧다. 개발자는 중앙 코드 저장소에 자주 커밋을 하고, 코드와 관련있는 회귀 테스트가 독립적인 환경에서 실행된다. 기존의 코드 커버리지를 바탕으로 하는 비용 효율적인 회귀 테스트 기술은 이러한 과정에서 발생하는 코드 변경 속도를 따라가기가 어렵다. 제안 기술은 5개의 인기있는 오픈소스 웹 어플리케이션에 대해 실증적으로 검증되었다. 실험 결과로 제안 기술이 비용 효율적임을 보였다. 제안 기술은 일반적으로 두개의 베이스라인 기술 (우선순위를 적용하지 않은 방법, 무작위로 우선순위를 적용한 방법)보다 더 빠르게 실패를 감지하였다. 그리고, 제안된 우선순위 기술은 서로 비교를 통해 어떤 기술이 가장 비용효율적인지 실험하였다. 뿐만 아니라, 본 연구는 CI 개발환경에서 개발자가 관심있어하는 테스트 환경에서의 테스트 결과를 우선적으로 알려주기 위한 방법도 다루었다.

서지기타정보

서지기타정보
청구기호 {DCS 19013
형태사항 iv, 47 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 권정현
지도교수의 영문표기 : In-Young Ko
지도교수의 한글표기 : 고인영
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 40-44
주제 Continuous integration
test environment
regressin testing
지속적 통합 환경
테스트 환경
회귀 테스트
QR CODE qr code