KR102226387B1 - 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치 - Google Patents

효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치 Download PDF

Info

Publication number
KR102226387B1
KR102226387B1 KR1020190065106A KR20190065106A KR102226387B1 KR 102226387 B1 KR102226387 B1 KR 102226387B1 KR 1020190065106 A KR1020190065106 A KR 1020190065106A KR 20190065106 A KR20190065106 A KR 20190065106A KR 102226387 B1 KR102226387 B1 KR 102226387B1
Authority
KR
South Korea
Prior art keywords
product
products
test
checksum
test item
Prior art date
Application number
KR1020190065106A
Other languages
English (en)
Other versions
KR20200138861A (ko
Inventor
강성원
정필수
한영훈
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020190065106A priority Critical patent/KR102226387B1/ko
Publication of KR20200138861A publication Critical patent/KR20200138861A/ko
Application granted granted Critical
Publication of KR102226387B1 publication Critical patent/KR102226387B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Abstract

효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치가 제시된다. 본 발명에서 제안하는 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 단계, 선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계 및 상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 단계를 포함한다.

Description

효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치{Test Execution Reduction Method and Apparatus for Efficient Product Line Regression Testing}
본 발명은 제품 라인의 회귀 시험을 효과적이고 효율적으로 수행하기 위한 방법 및 장치에 관한 것이다.
제품 라인 개발/시험 방법론은 유사한 제품들로 구성된 제품군의 공통성과 가변성을 식별하여 공통 부분을 재사용함으로써 개발 비용을 최소화하는 개발 패러다임이다. 이 기술은 모바일, 자동차, 항공, 군사 무기체계 등 제품군 단위로 개발하는 도메인 영역에서 주로 채택되어왔다. 회귀 시험은 변경된 소프트웨어에 새로운 결함이 발생되었는지 확인하기 위해서 수행된다. 이는 소프트웨어가 변경될 때마다 수행되어야 하기 때문에 매우 많은 비용을 요구한다. 이 비용을 줄이기 위해, 변경에 영향 받은 시험 항목만을 식별하기 위한 회귀 시험 선택 방법들이 단일 제품의 회귀 시험을 위해 제안되었다. 이를 통해, 재시험할 시험 항목의 수를 줄임으로써 단일 제품의 회귀 시험 비용을 절감시켰다. 그러나, 단일 제품의 회귀 시험과 달리, 제품 라인은 다수의 유사한 제품들로 구성된 제품군을 갖고, 제품 라인 시험 항목은 제품군에서 둘 이상의 제품에 재사용되기 때문에, 하나의 시험 항목이 다수의 제품에서 실행될 수 있다. 이 과정에, 결함을 발견하는데 전혀 도움을 주지 않는 불필요한 실행을 수행하게 되어, 막대한 비용을 낭비하게 만든다. 44,994줄의 코드와 26,290개의 시험 항목을 가진 7개 제품으로 구성된 제품 라인을 대상으로 실험한 결과, 총 161,359회의 실행 중, 97,527회(약 60%)의 실행이 결함을 발견하는데 도움이 되지 않는 불필요한 실행임을 확인하였다. 이들을 효과적으로 식별할 수 있다면 제품 라인 회귀 시험 비용을 상당히 절감시킬 수 있다. 본 발명은 제품 라인 시험 항목의 불필요한 실행을 효과적으로 식별하는 방법에 관한 것이다.
기존에 제품 라인 회귀 시험에서 시험 항목의 불필요한 실행을 줄이는 연구들이 제시되었다. 이러한 종래기술들에 대한 설명과 한계점은 다음과 같다.
종래기술은 여러 가지 설정 옵션을 갖는 제품에서 시험 항목을 실행할 때, 다수의 설정 옵션에 공통되는 코드에서 시험 항목을 단 한번만 실행함으로써 시험 비용을 줄이는 방법을 제안하였다. 그들의 방법은 시험 항목을 모든 설정 옵션들에서 개별적으로 실행시키지 않고 동일한 결과를 내는 시험 항목을 식별하여 중복 실행을 줄인다. 이 방법들은 시험 항목을 여러 설정 옵션들에서 모두 실행시키는 것과 비교하여 월등히 더 빠르게 시험할 수 있다는 실험 결과를 보여줌으로써 우수성을 보였다. 그러나, 이 방법들은 다수의 설정 옵션을 갖는 단일 제품에는 적용 가능하지만, 제품군을 갖는 제품 라인에 적용 불가능하다.
다른 종래기술은 ScenTED-DF로 불리는 데이터 흐름 기반의 제품 라인 시험 기술을 제안하였다. ScenTED-DF는 가변적 활동도를 사용하여 제품 라인의 가변성을 표현한다. 이 활동도를 통해, 시험 항목의 실행 추적 정보(execution trace)를 재사용하여 여러 제품에 공통된 소스코드의 불필요한 시험을 줄인다. 그러나, 가변적 활동도는 제품 라인이 일반적으로 갖는 산출물이 아닐 뿐만 아니라 자동으로 생성될 수 없는 산출물이기 때문에 ScenTED-DF를 사용하기 위해서는 사람의 노력이 반드시 필요하다. 또한, 가변적 활동도를 엄밀히 모델링하지 않으면 결함을 놓칠 수 있다는 한계를 지닌다.
또 다른 종래기술은 제품 라인 시험 비용을 줄이기 위해 시험 항목의 실행 추적 정보를 재사용하는 방법을 제안하였다. 여기서, 한 제품에서 시험 항목을 실행할 때 시험 항목이 실행하는 모듈들의 이름, 버전, 입력, 출력을 기록한다. 이때, 다른 시험 항목이 동일한 이름, 버전, 입력을 갖는 모듈을 실행할 예정이라면, 시험 항목의 실행 없이 기록된 데이터로부터 출력값을 재사용함으로써 불필요한 실행을 줄인다. 그러나, 이 방법은 두 모듈이 같은 이름, 버전, 입력을 가지더라도 출력이 달라질 수 있다는 중요한 사실을 고려하지 않기 때문에 결함을 놓칠 수 있다는 한계를 지닌다.
국방, 모바일, 자동차, 의료 등의 도메인과 같이, 제품군 단위로 개발하는 조직에서는 제품 라인 공학을 적용하여, 공통 부분을 최대한 재사용함으로써 효율적으로 제품군을 개발한다. CMU-SEI 연구소의 보고에 따르면, 제품 라인 공학은 제품의 품질 52% 향상, 비용 45% 절감, 생산성 39% 향상, 고객만족도 39% 향상, 출시 시간 30% 단축의 효과를 준다고 한다. 즉, 제품 라인 공학은 개발 산출물들(예를 들어, 소스코드, 시험 항목 등)의 재사용을 통해, 제품군 개발의 시간적/비용적 한계를 효과적으로 해결한다.
Philips, Siemens, Boeing, Hewlett-Packard, Bosch, Nokia 등 해외의 많은 기업에서 그 효과를 보고하였으며, 삼성전자와 LG 전자에서도 소프트웨어 제품 라인 공학을 적용하고 있다. 그러나, 지금까지 제품 라인 공학은 개발 방법에 집중되어왔고, 시험 방법은 큰 성과를 이루지 못했다. 즉, 현재는 제품군의 제품들을 개별로 시험하고 있기 때문에 중복 시험으로 인한 막대한 비용을 낭비하고 있다.
따라서, 제품군의 공통성과 가변성을 식별하여 중복 시험을 최소화하고 시험 결과를 최대한 재사용함으로써 제품군의 시험 비용을 효과적으로 줄일 수 있는 방안을 필요로 한다.
본 발명이 이루고자 하는 기술적 과제는 다수의 유사 제품들로 이뤄진 제품 라인의 회귀 시험 비용을 줄이기 위해, 결함을 발견하는데 도움을 주지 않는 불필요한 시험 실행을 식별하는 자동화된 방법 및 장치를 제공하는데 있다. 이를 통해, 제품 라인 시험 항목을 모든 제품에서 모두 실행하는 것과 동일한 결함 발견율을 유지하면서 회귀 시험의 비용을 줄이고자 한다.
일 측면에 있어서, 본 발명에서 제안하는 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 단계, 선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계 및 상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 단계를 포함한다.
기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 단계는 회귀 시험을 위해 선택된 시험 항목의 실행 횟수 및 비용을 줄이기 위해 기존 제품과 변경된 제품 간의 차이를 분석한다.
선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계는 선택된 제품군의 복수의 제품들에 포함된 두 코드 유닛의 체크섬 값이 같은 경우, 두 코드 유닛의 소스코드가 동일한 것으로 판단하고, 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)를 생성하고, 제품군의 각 제품에 대해 알고리즘을 수행하여 제품들의 모든 코드 유닛을 추출하여, 각 코드 유닛의 체크섬 값을 체크섬 행렬에 삽입함으로써 체크섬 행렬을 생성한다.
선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계는 각 시험 항목이 같은 시험 결과를 낼 제품들을 실행 대상에서 제외시킴으로써 실행될 제품들을 선별하고, 각 시험 항목에 대해 실행하는 코드 유닛의 제품 별 체크섬 값들을 체크섬 행렬로부터 얻은 후, 서로 다른 실행 추적 정보를 갖거나 또는 서로 다른 체크섬 값들을 갖는 제품들을 선별한다.
상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 단계는 기존 제품과 변경된 제품 간의 차이를 식별하여 시험 항목의 실행 횟수를 감소하여 시험 항목 실행의 비용이 감소하게 되므로 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 수집 단계의 비용을 감소시킨다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 장치는 기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 분석부, 선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 제품 선별부 및 상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 수집부를 포함한다.
본 발명의 실시예들에 따르면 소스코드와 시험 항목의 실행 추적 정보를 활용하여 결함을 탐지하지 않는 불필요한 시험 항목의 실행을 줄일 수 있다. 다시 말해, 각 시험 항목을 제품군의 모든 제품들에서 모두 실행하는 것과 동일한 수의 결함 탐지하는 동시에, 시험 항목의 불필요한 실행 수를 줄임으로써 동일한 효과의 회귀 시험을 적은 비용으로 수행할 수 있다. 11개의 제품 라인을 대상으로 선행 실험한 결과, 본 발명을 통해 제품 라인 회귀 시험의 비용을 평균 59.8% 절감할 수 있음을 확인하였다.
도 1은 본 발명의 일 실시예에 따른 제품 라인 소스코드, 제품군의 소스코드, 시험 항목을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 제품 라인의 회귀 시험을 수행하기 위한 알고리즘이다.
도 4는 본 발명의 일 실시예에 따른 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 장치의 구성을 나타내는 도면이다.
본 발명은 제품 라인의 회귀 시험을 효과적이고 효율적으로 수행하기 위한 방법 및 장치에 관한 것이다. 한 시험 항목이 다수의 제품들에서 동일한 코드를 실행한다면 그 시험 항목은 그 제품들에서 동일한 시험 결과를 낸다. 따라서 이 경우, 시험 항목을 여러 제품 중 단 하나의 제품에서만 실행하고 다른 제품에서는 실행할 필요가 없다. 그러나, 시험 항목을 실행시키지 않고도 다수의 변경된 제품에서 동일한 코드를 실행하는지 아는 방법이 필요하다. 이를 위해, 본 발명은 회귀 시험 과정에서 일반적으로 얻을 수 있는 시험 항목의 실행 추적 정보(execution trace)를 이용하여 문제를 해결한다.
본 발명은 제품 라인 소스코드가 변경되었을 때, 회귀 시험을 위해 선택된 시험 항목들을 대상으로 복수의 제품에서 동일한 실행 추적 정보를 갖는 시험 항목을 식별한다. 이후, 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬(checksum) 값 비교를 통해, 식별된 시험 항목들 중 둘 이상의 변경된 제품에서 동일한 코드를 시험하는 실행들을 식별한다. 식별된 실행들은 복수의 제품에서 동일한 결과를 내므로, 하나의 제품에서 한 번만 실행시킨다. 이와 같은 절차를 통해, 제품 라인 시험 항목의 불필요한 실행을 줄일 수 있다.
본 발명에 사용된 용어 "제품군"은 다양한 공통성을 지닌 제품들의 집합을 의미한다.
본 발명에 사용된 용어 "플랫폼 산출물"은 제품군의 공통 부분과 가변 부분으로 구성된 산출물을 의미한다.
본 발명에 사용된 용어 "제품 라인"은 계획된 제품들을 위한 플랫폼 산출물을 갖는 제품군을 의미한다.
본 발명의 실시예에 따른 "제어된 회귀 시험"에 있어서, 변경된 제품 P'가 시험 항목 t와 함께 시험될 때 P'의 시험 결과에 영향을 주는 요소는 P'의 코드를 제외하고는 변경 전 제품 P가 t와 함께 시험될 때와 모두 동일하다는 것을 가정한다. 이러한 가정으로 인해, 하드웨어, 운영체제, 네트워크 연결 등의 외부 환경 요소는 일관되게 변하지 않는다.
본 발명의 실시예에 따른 "일관된 가변성"에 있어서, 제품 라인의 코드 변경이 제품 라인의 가변성을 변경시키지 않는다는 것을 가정한다. 이러한 가정은 기존 제품군의 실행 추적 정보를 사용하기 위해 반드시 필요하다. 제품 라인의 가변성이 변경되면 시험 항목과 제품간의 연결이 끊어지기 때문에 회귀 시험을 효과적으로 수행할 수 없기 때문이다. 이러한 가정으로 인해, 제품 라인 소스코드가 변경되기 전에 여러 제품에 공유되었던 소스코드는 변경 후에도 그 제품들이 공유한다.
제어된 회귀 시험 가정 하에, TRP(t)=[x1, x2, …, xn]가 시험 항목 t를 제품 P에서 실행되는 코드 유닛(예를 들어, 파일, 클래스, 메소드 등)의 순서이고, code(x)는 코드 유닛 x의 소스코드, TestP'(t)는 t를 변경된 제품 P'에서 실행한 시험 결과라고 할 때, 다음 정리1이 성립된다.
정리 1:
제품 P1, P2와 변경들 {c1, …, ck}⊆ TRP1(t)에 대해, 만약 TRP1(t)=TRP2(t)이고 P1'와 P2'의 모든 cp∈{c1, …, ck}가 동일하면 TestP1(t)=TestP2(t)이다.
다시 말해, 한 시험 항목이 두 제품에서 동일한 실행 추적 정보를 생성하고 변경된 코드 유닛이 변경된 두 제품에서 동일하면, 그 시험 항목은 두 제품에서 같은 시험 결과를 낸다. 정리 1에 대한 증명은 다음과 같다.
P1와 P2에서 시험 항목 t가 실행될 때, 만약 두 제품에서 생성되는 실행 추적 정보가 동일하고(다시 말해, TRP1(t)=TRP2(t)) P1'와 P2'의 모든 cp∈{c1, …, ck}가 동일하면 다음 두 가지 경우가 발생될 수 있다. 첫째는 t는 P1과 P2에서 같은 소스코드를 실행하는 경우이다. 이 경우, 제어된 회귀 시험 가정으로 인해, 같은 소스코드를 실행하는 시험 항목의 두 실행은 항상 같은 시험 결과를 낸다(다시 말해, TestP1(t)=TestP2(t)). 두 번째는 시험 항목에 에러가 발생되어 두 제품에서 실행될 수 없는 경우이다. 이러한 경우, 시험 항목은 두 제품에서 모두 통과하지 못하는 시험 결과를 낸다. 두 경우에 의해, P1와 P2에서 시험 항목 t가 실행은 항상 동일한 결과를 낸다. 따라서 정리 1이 성립된다.
이하, 위 정의와 가정, 정리들에 기초하여 본 방법의 실시 예를 첨부된 도면을 참조하여 설명하고, 이를 수행하기 위한 구체적인 방법을 설명한다.
도 1은 본 발명의 일 실시예에 따른 제품 라인 소스코드, 제품군의 소스코드, 시험 항목을 설명하기 위한 도면이다.
도 1은 변경된 제품 라인 소스코드(110)와 세 제품 P1, P2, P3으로 구성된 제품군(120), 및 그들의 시험 항목 t1, t2, t3(130)을 보여준다. 제품군(120)의 각 제품은 제품 라인 소스코드의 일부를 복사하여 생성된다. 도 1을 참조하면, 복사된 소스코드를 제품 라인 소스코드와 같은 음영으로 표시하였다. t1과 t2는 모든 제품에서 공통적으로 실행될 수 있고, t3는 P2와 P3에서 실행 가능하다.
이러한 상황에서, 도 1과 같이 제품 라인 소스코드가 변경(111, 112)되어 회귀 시험을 위해 시험 항목 t1, t2, t3가 선택되었다고 가정한다. 그러면 변경된 제품군이 올바로 동작하는지 시험하기 위해 t1, t2, t3를 제품군에서 실행해야 한다. 가장 기본적인 방법으로서, 각 시험 항목을 실행 가능한 모든 제품에서 실행한다면 t1과 t2는 세 제품(P1, P2, P3), t3는 두 제품(P2, P3)에서 실행되므로 총 8회를 실행하게 된다.
시험 항목의 실행 횟수를 줄이기 위해, 회귀 시험을 위해 선택된 모든 시험 항목들을 하나의 제품에서 한번만 수행하는 방법을 사용할 수 있다. 즉, t1, t2, t3를 P3에서만 실행시키면 총 3회로 실행 수를 줄일 수 있다. 그러나 이 방법은 선형 검색 클래스(LinearSearch class)를 시험하지 않기 때문에 결함을 놓칠 수 있다는 문제점을 갖는다.
결함을 놓치지 않고 제품 라인 시험 항목의 실행 수를 줄이기 위해, 본 발명은 시험 항목의 실행 추적 정보가 사용된다. t1, t2, t3가 제품 라인의 제품군에서 실행될 때, t1은 모든 제품에서 {Search class} 를 지나고 t2는 P1에서 {Search class, LinearSearch class}, P2와 P3에서 {Search class, BinarySearch class}를 지나고 t3은 P1에서 실행 불가능하고 P2와 P3에서 {BinarySearch class}를 지난다. 이 때, P1, P2, P3에서 t1의 실행 결과는 항상 동일하다. 왜냐하면 t1은 P1, P2, P3에서 같은 클래스를 지나고, 그 클래스들은 P1, P2, P3에서 동일한 코드를 갖기 때문이다. 다시 말해, t1은 세 제품에서 동일한 코드를 지나기 때문이다. 마찬가지로, P2에서 t2와 t3의 실행 결과는 항상 동일하다. 그러므로, 총 4회의 시험 항목의 실행만으로 결함 탐지율을 낮추지 않고 제품 라인의 회귀 시험을 효율적으로 수행할 수 있다. 본 발명을 제안하기 위해, 제품 라인 시험 항목의 실행 추적 정보를 수집하는 기술과 이를 이용하여 시험 항목의 불필요한 실행을 줄이는 기술을 제안한다.
도 2는 본 발명의 일 실시예에 따른 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법을 설명하기 위한 흐름도이다.
제안하는 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법은 분석 단계(211), 제품 선별 단계(212) 및 수집 단계(213)를 포함한다. 도 2를 참조하면, 각 단계의 수행(210), 각 단계에서 생성되는 데이터(220), 수행 과정(230) 및 데이터 흐름(240)을 나타내었다.
본 발명은 제품 라인 시험 항목의 불필요한 실행 수를 줄이기 위해, 분석 단계(211)에서 선택된 각 시험 항목이 실행될 제품을 선별하는 제품 선별(PS: Product Selection) 단계(212)를 분석 단계(211) 직후에 수행하여 실행 및 수집 단계(213)의 비용을 줄인다.
분석 단계(211)에서 기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목(221)을 선택한다. 본 발명은 회귀 시험을 위해 분석 단계로부터 선택된 시험 항목의 실행 횟수를 줄이는 것이다. 따라서, 분석 단계(211)는 회귀 시험을 위한 시험 항목을 선택하는 방법들이 적용될 수 있다.
제품 선별 단계(212)는 선택된 시험 항목을 실행하는 단계로서, 회귀 시험을 위한 시험 항목(221)과 변경된 제품 라인 소스코드(222)를 이용하여, 제품군 체크섬 서브 단계(212a)와 제품 선별 서브 단계(212b)를 통해, 분석 단계에서 선택된 제품 라인 시험 항목의 시험 횟수를 줄인다.
제품 선별 단계(212)에서는 분석 단계(211)에서 선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고(212a), 체크섬 값을 비교하여 생성된 체크섬 행렬(223)을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들(224)을 선별한다(212b).
도 3은 본 발명의 일 실시예에 따른 제품 라인의 회귀 시험을 수행하기 위한 알고리즘이다.
단계(212a)에서, 체크섬 값 비교는 두 코드 유닛의 소스코드가 같은지 확인하기 위한 효율적인 비교 방법이다. 두 코드 유닛의 체크섬 값이 같으면 두 코드 유닛의 소스코드는 동일하고, 그렇지 않으면 두 코드 유닛의 소스코드는 다르다는 것을 의미한다. 제품 선별 단계(212)에서는 제품군의 제품들에 포함된 코드 유닛의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)를 생성한다.
도 3에의 familyChecksum 함수와 같이, 제품군의 각 제품에 대해, 알고리즘은 제품의 모든 코드 유닛을 추출한다(줄 18-19). 그리고 나서, 각 코드 유닛의 체크섬 값을 체크섬 행렬에 삽입함으로써 체크섬 행렬을 만든다(줄 20-22). 생성된 체크섬 행렬은 제품 선별 서브 단계의 입력으로 사용된다.
<표 1>
Figure 112019056553851-pat00001
표 1은 P1, P2, P3으로 구성된 변경된 제품군의 체크섬 테이블의 예시를 보여준다. 이러한 예시에서, P1은 코드 유닛 A와 B 갖고, P2는 코드 유닛 A와 C를 갖고, P3는 코드 유닛 A, B, C를 갖는다. 그리고 각각의 체크섬 값을 행렬 값으로 표시하였다. 예시를 간단하게 만들기 위해, 체크섬 값을 두 개의 알파벳 쌍으로 표현하였다(예를 들어, Aa, Ba, Ca 및 Cb). 표 1에서 코드 유닛 A는 제품군의 모든 제품에서 동일한 체크섬 값을 가지므로 코드 유닛 A는 모든 제품에서 동일한 소스코드를 갖는다는 것을 의미한다. 코드 유닛 B는 P2가 갖지 않고 P1과 P3에서 동일한 체크섬 값을 가지므로 두 제품에서 동일한 소스코드를 갖는다는 것을 의미한다. 코드 유닛 C는 P1이 갖지 않고 P2과 P3에서 체크섬 값이 다르므로, P2, P3 제품에서 소스코드가 동일하지 않다는 것을 의미한다.
단계(212b)는, 단계(212a)에서 생성된 체크섬 행렬을 사용하여 분석 단계(211)에서 선택된 각 시험 항목이 실행될 제품들을 선별한다. 상기 정리 1을 통해, 한 시험 항목이 두 제품에서 동일한 실행 추적 정보를 갖고 실행되는 코드 유닛의 소스코드가 같을 때, 그 시험 항목은 두 제품에서 같은 시험 결과를 낸다고 하였다. 따라서 본 발명은 각 시험 항목에 대해, 실행 추적 정보와 실행되는 코드 유닛의 체크섬을 비교하여, 각 시험 항목이 같은 시험 결과를 낼 제품들을 실행 대상에서 제외시킴으로써 실행될 제품들을 선별한다.
도 3의 productSelection 함수와 같이, 각 시험 항목에 대해, 실행하는 코드 유닛의 제품 별 체크섬 값들을 체크섬 행렬로부터 얻은 후(줄 3-7), 서로 다른 실행 추적 정보를 갖거나 서로 다른 체크섬 값들을 갖는 제품들을 선별한다(줄 8-11). 정리 1에 의해, 선별되지 않은 제품들은 결함 발견율을 높이지 않는 실행이 불필요한 제품이므로 실행 대상에서 제외된다.
<표 2>
Figure 112019056553851-pat00002
표 2는 표 1의 제품 P1, P2, P3의 회귀 시험을 위해 선택된 시험 항목 t1, t2, t3, t4의 실행 추적 정보와 제품 선별의 예시를 보여준다. 이러한 예시에서, t1은 P1과 P3에서 코드 유닛 A, B를 실행하고, P1과 P3에서 A, B의 체크섬 값이 같다(각각 Aa 및 Ba). 이러한 경우, 상기 정리 1에 의해, t1은 두 제품에서 동일한 실행 결과를 낼 것이므로 P1 또는 P3 중 하나의 제품이 선택되고 다른 하나는 제외된다. t2는 P2, P3에서 코드 유닛 A, C를 실행한다. 그러나 P2에서 코드 유닛 C의 체크섬 값(Ca)은 P3에서 코드 유닛 C의 체크섬 값(Cb)이 같지 않다. 따라서 P2과 P3 모두 선택된다. t3은 P1에서 실행될 때는 코드 유닛 A와 B를 실행하고 P2에서 실행될 때는 코드 유닛 A와 C를 실행한다. 이 경우, P1에서의 실행 추적 정보([A, B])와 P2에서의 실행 추적 정보([A, C])가 다르기 때문에 P1, P2 모두 선택된다. 마지막으로, t4는 P1과 P3에서 실행될 때는 코드 유닛 A와 B를 실행하고 P2에서 실행될 때는 코드 유닛 A만 실행한다. 이러한 경우, P1과 P3에서 코드 유닛 A, B의 체크섬 값(Aa 및 Ba)이 같고 P2에서의 실행 추적 정보([A])가 P1, P3에서의 실행 추적 정보([A, B])와 다르므로, P1과 P3 중에서 하나와 P2가 선택된다.
실행 및 수집 단계(213)는 이후의 수행될 회귀 시험에 사용할 시험 항목의 실행 추적 정보를 수집하는 단계이다. 실행 및 수집 단계(213)에서, 상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신(225)한다.
실행 및 수집 단계(213)는 분석 단계(211)에서 선택된 시험 항목을 제품 선별 단계(212)에서 선별된 제품에서 실행하고 실행 추적 정보를 갱신하는 단계이다. 본 발명으로 인해, 실행 및 수집 단계(213)의 비용이 절감되어, 제품 라인의 총 회귀 시험 비용이 절감된다. 그 이유는 제품 식별 단계를 통해서 시험 항목의 실행 횟수가 감소하여 실행 단계의 비용이 감소하게 되고, 따라서 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 수집 단계의 비용이 감소되기 때문이다.
도 4는 본 발명의 일 실시예에 따른 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 장치의 구성을 나타내는 도면이다.
제안하는 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 장치(400)는 분석부(410), 제품 선별부(420) 및 실행 및 수집부(430)를 포함한다.
분석부(410), 제품 선별부(420) 및 실행 및 수집부(430)는 도 2의 단계들(211~213)을 수행하기 위해 구성될 수 있다.
분석부(410)는 기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택한다. 본 발명은 회귀 시험을 위해 분석부(410)에서 선택된 시험 항목의 실행 횟수를 줄이는 것이다. 따라서, 분석부(410)는 회귀 시험을 위한 시험 항목을 선택하는 방법들을 적용할 수 있다.
제품 선별부(420)는 선택된 시험 항목을 실행하는 것으로서, 회귀 시험을 위한 시험 항목과 변경된 제품 라인 소스코드를 이용하여, 제품군 체크섬 서브 단계와 제품 선별 서브 단계의 수행을 통해, 분석부(410)에서 선택된 제품 라인 시험 항목의 시험 횟수를 줄인다.
제품 선별부(420)는 분석부(410)에서 선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별한다.
체크섬 값 비교는 두 코드 유닛의 소스코드가 같은지 확인하기 위한 효율적인 비교 방법이다. 두 코드 유닛의 체크섬 값이 같으면 두 코드 유닛의 소스코드는 동일하고, 그렇지 않으면 두 코드 유닛의 소스코드는 다르다는 것을 의미한다. 제품 선별부(420)는 제품군의 제품들에 포함된 코드 유닛의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)를 생성한다.
이후, 제품 선별부(420)는 생성된 체크섬 행렬을 사용하여 분석부(410)에서 선택된 각 시험 항목이 실행될 제품들을 선별한다. 상기 정리 1을 통해, 한 시험 항목이 두 제품에서 동일한 실행 추적 정보를 갖고 실행되는 코드 유닛의 소스코드가 같을 때, 그 시험 항목은 두 제품에서 같은 시험 결과를 낸다고 하였다. 따라서 본 발명은 각 시험 항목에 대해, 실행 추적 정보와 실행되는 코드 유닛의 체크섬을 비교하여, 각 시험 항목이 같은 시험 결과를 낼 제품들을 실행 대상에서 제외시킴으로써 실행될 제품들을 선별한다.
실행 및 수집부(430)는 이후의 수행될 회귀 시험에 사용할 시험 항목의 실행 추적 정보를 수집한다. 실행 및 수집부(430)는 상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신한다.
실행 및 수집부(430)는 분석부(410)에서 선택된 시험 항목을 제품 선별부(420)에서 선별된 제품에서 실행하고 실행 추적 정보를 갱신한다. 본 발명으로 인해, 실행 및 수집의 비용이 절감되어, 제품 라인의 총 회귀 시험 비용이 절감된다. 그 이유는 제품 식별 단계를 통해서 시험 항목의 실행 횟수가 감소하여 실행 단계의 비용이 감소하게 되고, 따라서 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 수집 단계의 비용이 감소되기 때문이다.
본 발명의 목적은 제품 라인이 변경되었을 때, 회귀 시험의 비용을 줄이기 위해 시험 항목의 실행 횟수를 줄이는 자동화된 방법을 제시하는 것이다. 기존에 발명된 방법들은 발생되는 결함을 놓칠 수 있다는 심각한 한계를 지니기 때문에, 결함을 놓치지 않고도 시험 항목의 실행 횟수를 줄이는 효과적인 방법을 제안하였다. 본 발명의 목적을 달성하기 위해, 회귀 시험을 위해 선택된 각 시험 항목이 실행될 제품을 선별하는 제품 선별(PS: Product Selection) 단계를 수행하여 실행 및 수집 단계의 비용을 줄일 수 있다. 제품 선별 단계는 변경된 제품군에 포함된 모든 코드 유닛들의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)을 만드는 제품군 체크섬 서브 단계와 생성된 체크섬 행렬을 사용하여 분석 단계에서 선택된 각 시험 항목이 실행될 제품들을 선별하는 제품 선별 서브 단계로 구성된다. 이를 통해, 제품 라인의 회귀 시험을 기존 방법보다 효율적으로 수행하여 많은 비용을 감소시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 제품 라인 회귀 시험 수행 방법에 있어서,
    기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 단계;
    선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계; 및
    상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 단계
    를 포함하고,
    선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 단계는,
    선택된 제품군의 복수의 제품들에 포함된 두 코드 유닛의 체크섬 값이 같은 경우, 두 코드 유닛의 소스코드가 동일한 것으로 판단하고, 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)를 생성하며,
    제품군의 각 제품에 대해 알고리즘을 수행하여 제품들의 모든 코드 유닛을 추출하여, 각 코드 유닛의 체크섬 값을 체크섬 행렬에 삽입함으로써 체크섬 행렬을 생성하고,
    생성된 체크섬 행렬은 제품 선별 서브 단계의 입력으로 사용되어, 각 시험 항목이 같은 시험 결과를 낼 제품들을 실행 대상에서 제외시킴으로써 실행될 제품들을 선별하고, 각 시험 항목에 대해 실행하는 코드 유닛의 제품 별 체크섬 값들을 체크섬 행렬로부터 얻은 후, 서로 다른 실행 추적 정보를 갖거나 또는 서로 다른 체크섬 값들을 갖는 제품들을 선별하며,
    제품군의 공통성과 가변성을 식별하여 중복 시험을 감소시키고 시험 결과를 재사용함으로써 제품군의 시험 비용을 감소시키며,
    기존 제품과 변경된 제품 간의 차이를 식별하는 단계를 통해 회귀 시험을 위한 시험 항목의 실행 횟수를 감소시킴으로써 선택된 시험 항목을 실행하는 단계의 비용이 감소되고, 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 실행 추적 정보를 수집하는 단계의 비용도 감소되는
    제품 라인 회귀 시험 수행 방법.
  2. 제1항에 있어서,
    기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 단계는,
    회귀 시험을 위해 선택된 시험 항목의 실행 횟수 및 비용을 줄이기 위해 기존 제품과 변경된 제품 간의 차이를 분석하는
    제품 라인 회귀 시험 수행 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 단계는,
    기존 제품과 변경된 제품 간의 차이를 식별하여 시험 항목의 실행 횟수를 감소하여 시험 항목 실행의 비용이 감소하게 되므로 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 수집 단계의 비용을 감소시키는
    제품 라인 회귀 시험 수행 방법.
  6. 제품 라인 회귀 시험 수행 장치에 있어서,
    기존 제품과 변경된 제품 간의 차이를 식별하고 회귀 시험을 위한 시험 항목을 선택하는 분석부;
    선택된 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값을 비교하고, 체크섬 값을 비교하여 생성된 체크섬 행렬을 사용하여 상기 선택된 시험 항목이 실행될 복수의 제품들을 선별하는 제품 선별부; 및
    상기 선택된 시험 항목을 상기 선별된 복수의 제품들에서 실행하고 실행 추적 정보를 수집하여 갱신하는 수집부
    를 포함하고,
    제품 선별부는,
    선택된 제품군의 복수의 제품들에 포함된 두 코드 유닛의 체크섬 값이 같은 경우, 두 코드 유닛의 소스코드가 동일한 것으로 판단하고, 제품군의 복수의 제품들에 포함된 코드 유닛의 체크섬 값들을 담은 체크섬 행렬(checksum matrix)를 생성하며,
    제품군의 각 제품에 대해 알고리즘을 수행하여 제품들의 모든 코드 유닛을 추출하여, 각 코드 유닛의 체크섬 값을 체크섬 행렬에 삽입함으로써 체크섬 행렬을 생성하고,
    생성된 체크섬 행렬은 제품 선별 서브 단계의 입력으로 사용되어, 각 시험 항목이 같은 시험 결과를 낼 제품들을 실행 대상에서 제외시킴으로써 실행될 제품들을 선별하고, 각 시험 항목에 대해 실행하는 코드 유닛의 제품 별 체크섬 값들을 체크섬 행렬로부터 얻은 후, 서로 다른 실행 추적 정보를 갖거나 또는 서로 다른 체크섬 값들을 갖는 제품들을 선별하며,
    제품군의 공통성과 가변성을 식별하여 중복 시험을 감소시키고 시험 결과를 재사용함으로써 제품군의 시험 비용을 감소시키며,
    기존 제품과 변경된 제품 간의 차이를 식별하는 단계를 통해 회귀 시험을 위한 시험 항목의 실행 횟수를 감소시킴으로써 선택된 시험 항목을 실행하는 단계의 비용이 감소되고, 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 실행 추적 정보를 수집하는 단계의 비용도 감소되는
    제품 라인 회귀 시험 수행 장치.
  7. 제6항에 있어서,
    분석부는,
    회귀 시험을 위해 선택된 시험 항목의 실행 횟수 및 비용을 줄이기 위해 기존 제품과 변경된 제품 간의 차이를 분석하는
    제품 라인 회귀 시험 수행 장치.
  8. 삭제
  9. 삭제
  10. 제6항에 있어서,
    수집부는,
    기존 제품과 변경된 제품 간의 차이를 식별하여 시험 항목의 실행 횟수를 감소하여 시험 항목 실행의 비용이 감소하게 되므로 수집할 시험 항목의 실행 추적 정보도 감소하게 되어 수집 단계의 비용을 감소시키는
    제품 라인 회귀 시험 수행 장치.
KR1020190065106A 2019-06-03 2019-06-03 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치 KR102226387B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190065106A KR102226387B1 (ko) 2019-06-03 2019-06-03 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190065106A KR102226387B1 (ko) 2019-06-03 2019-06-03 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200138861A KR20200138861A (ko) 2020-12-11
KR102226387B1 true KR102226387B1 (ko) 2021-03-11

Family

ID=73786311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190065106A KR102226387B1 (ko) 2019-06-03 2019-06-03 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102226387B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101934163B1 (ko) * 2016-11-10 2019-01-02 한국과학기술원 제품 라인을 위한 코드 기반의 자동화된 회귀 시험 항목 선택 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2147036A1 (en) * 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101934163B1 (ko) * 2016-11-10 2019-01-02 한국과학기술원 제품 라인을 위한 코드 기반의 자동화된 회귀 시험 항목 선택 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
백하은 외, '조합 시험 설계를 이용한 소프트웨어 제품라인 시험항목 생성 방법', 정보과학회논문지, 2014.

Also Published As

Publication number Publication date
KR20200138861A (ko) 2020-12-11

Similar Documents

Publication Publication Date Title
US9710367B1 (en) Method and system for dynamic test case creation and documentation to the test repository through automation
US9465725B2 (en) Software defect reporting
CN107885660B (zh) 基金系统自动化测试管理方法、装置、设备及存储介质
US9612937B2 (en) Determining relevant events in source code analysis
US10452515B2 (en) Automated root cause detection using data flow analysis
US10459830B2 (en) Executable code abnormality detection
US9658948B2 (en) Workload mapper for potential problem areas using modules and defect data
US8661414B2 (en) Method and system for testing an order management system
US9842044B2 (en) Commit sensitive tests
US9384044B2 (en) Intelligent inclusion/exclusion automation
US20160092679A1 (en) Inspection and recovery method and apparatus for handling virtual machine vulnerability
CN106709335B (zh) 漏洞检测方法和装置
KR102226387B1 (ko) 효율적인 제품 라인 회귀 시험을 위해 시험 항목의 실행 횟수를 줄이는 방법 및 장치
US9015116B2 (en) Consistent replication of transactional updates
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
CN112579330A (zh) 操作系统异常数据的处理方法、装置及设备
KR102169004B1 (ko) 새로운 사례의 분석을 통한 단일 분류 도메인의 전문가 경험 지식의 점진적 학습 방법 및 시스템
CN108984397B (zh) 黑盒故障注入方法和系统及介质设备
CN113342632A (zh) 仿真数据自动化处理方法、装置、电子设备及存储介质
JP6036089B2 (ja) データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム
TWI735511B (zh) 代碼提交方法和設備
US20120131039A1 (en) System and method for deploying logic in data files
US20170220450A1 (en) Analytic method and analyzing apparatus
JP6974707B2 (ja) テストプログラム、テスト装置及びテスト方法
US20090249303A1 (en) Random access to historical program state for enhanced debugging

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right