KR102452457B1 - 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법 - Google Patents

테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법 Download PDF

Info

Publication number
KR102452457B1
KR102452457B1 KR1020170150232A KR20170150232A KR102452457B1 KR 102452457 B1 KR102452457 B1 KR 102452457B1 KR 1020170150232 A KR1020170150232 A KR 1020170150232A KR 20170150232 A KR20170150232 A KR 20170150232A KR 102452457 B1 KR102452457 B1 KR 102452457B1
Authority
KR
South Korea
Prior art keywords
test case
test
similarity score
character string
score
Prior art date
Application number
KR1020170150232A
Other languages
English (en)
Other versions
KR20190054219A (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 KR1020170150232A priority Critical patent/KR102452457B1/ko
Priority to US15/837,836 priority patent/US10915432B2/en
Publication of KR20190054219A publication Critical patent/KR20190054219A/ko
Application granted granted Critical
Publication of KR102452457B1 publication Critical patent/KR102452457B1/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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3672Test management
    • 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
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

개시된 발명의 일 측면에 따르면, 수행할 테스트 케이스를 이전 테스트를 완료한 테스트 케이스와 비교하여 유사도를 분석하고, 분석 결과에 따라 복수 개의 테스트 케이스를 분류함으로써, 테스트의 효율을 향상시키고, 정량적인 테스트 케이스의 관리 기준을 마련할 수 있는 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법에 관한 것이다.
개시된 일 실시예에 따른 테스트 케이스 관리 시스템은 제 1테스트 케이스를 수신하는 입출력 인터페이스; 제 2테스트 케이스를 저장하는 데이터 베이스; 및 상기 제 1테스트 케이스의 문자열과 상기 제 2테스트 케이스의 문자열의 유사도 점수에 기초하여 상기 제 1테스트 케이스를 상기 제 2 테스트 케이스와 비교하는 제어부;를 포함한다.

Description

테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법{TEST CASE MANAGEMENT SYSTEM AND TEST CASE MANAGEMENT METHOD}
개시된 발명은 멀티미디어 장비를 대상으로 하는 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법에 관한 것이다.
일반적인 멀티미디어 장비에 대한 테스트는 테스트 케이스에 명시된 내용에 따라 사용자가 직접 장비를 조작하고, 장비에서 출력하는 결과값이 기대 값을 만족하는지 여부를 확인하는 과정으로 이뤄진다.
하나의 멀티미디어 장비에서 수행되는 테스트는 복수의 테스트 케이스를 포함할 수 있으며, 사용자가 직접 장비를 조작하고 테스트를 수행하므로 많은 시간이 필요하다. 또한, 하나의 테스트 케이스에 수행 절차가 많다면, 기기 조작이 빈번이 발생할 수 있고, 테스트의 효율은 떨어지게 된다.
종래에는 복수 개의 테스트 케이스를 관리할 때, 사용자의 직관과 경험에 의해서 케이스를 분류하고, 사용자가 수작업으로 테스트 케이스를 관리하였다. 이 때문에 유사하거나 중복되는 케이스를 반복적으로 테스트하게 되어, 테스트의 효율이 떨어지고, 테스트 수행에 많은 비용과 시간이 소요되는 문제가 있었다.
개시된 발명의 일 측면에 따르면, 수행할 테스트 케이스를 이전 테스트를 완료한 테스트 케이스와 비교하여 유사도를 분석하고, 분석 결과에 따라 복수 개의 테스트 케이스를 분류함으로써, 테스트의 효율을 향상시키고, 정량적인 테스트 케이스의 관리 기준을 마련할 수 있는 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법에 관한 것이다.
개시된 일 실시예에 따른 테스트 케이스 관리 시스템은 제 1테스트 케이스를 수신하는 입출력 인터페이스; 제 2테스트 케이스를 저장하는 데이터 베이스; 및 상기 제 1테스트 케이스의 문자열과 상기 제 2테스트 케이스의 문자열의 유사도 점수에 기초하여 상기 제 1테스트 케이스를 상기 제 2 테스트 케이스와 비교하는 제어부;를 포함한다.
상기 유사도 점수는, 상기 제 1테스트 케이스의 문자열의 개수와 상기 제 2테스트 케이스의 문자열의 개수를 기초로 산출되는 점수가 전체 문자열이 가지는 점수에서 차지하는 비율에 기초하여 산출될 수 있다.
상기 제 1테스트 케이스 및 상기 제 2테스트 케이스는, 테스트 수행 절차 및 기대 값 중 적어도 하나를 포함할 수 있다.
상기 제어부는, 상기 테스트 수행 절차 및 상기 기대 값에 포함된 문자열을 각각 비교하여 유사도 점수를 산출하고, 상기 테스트 수행 절차의 유사도 점수와 상기 기대 값의 유사도 점수의 가중치를 조절하여 전체 유사도 점수를 산출할 수 있다.
상기 제어부는, 상기 유사도 점수를 미리 정해진 범위와 비교하여 상기 제 1테스트 케이스를 분류할 수 있다.
상기 제어부는, 상기 유사도 점수가 상기 기준 범위의 최소 기준 값의 미만이면, 상기 제 1테스트 케이스를 신규한 테스트 케이스로 분류하고, 상기 데이터 베이스는, 상기 제 1테스트 케이스를 신규한 테스트 케이스로 저장할 수 있다.
상기 제어부는, 상기 상기 유사도 점수가 상기 기준 범위 내이면, 상기 제 1테스트 케이스를 상기 제 2테스트 케이스와 통합하고, 상기 데이터 베이스는, 상기 통합한 제 2 테스트 케이스를 저장할 수 있다.
상기 제어부는, 상기 유사도 점수가 상기 기준 범위의 최대 기준값을 초과하면, 상기 제 1테스트 케이스를 폐기할 수 있다.
상기 제어부는, 상기 분류한 결과에 기초하여 상기 제 1테스트 케이스의 수행 절차에 따라 멀티 미디어 장비를 검사할 수 있다.
상기 제어부는, 상기 제 1테스트 케이스의 부분 문자열과 상기 제 2테스트 케이스의 부분 문자열이 미리 저장된 반대말에 해당하면, 상기 유사도 점수를 수정하여 상기 제 1테스트 케이스를 상기 제 2 테스트 케이스와 비교할 수 있다.
개시된 다른 실시예에 따른 테스트 케이스 관리 방법은 제 1테스트 케이스를 수신하고; 제 2테스트 케이스를 저장하고; 및 상기 제 1테스트 케이스의 문자열과 상기 제 2테스트 케이스의 문자열의 유사도 점수에 기초하여 상기 제 1테스트 케이스를 상기 제 2 테스트 케이스와 비교하는 것;을 포함한다.
상기 유사도 점수는, 상기 제 1테스트 케이스의 문자열의 개수와 상기 제 2테스트 케이스의 문자열의 개수를 기초로 산출되는 점수가 전체 문자열이 가지는 점수에서 차지하는 비율에 기초하여 산출될 수 있다.
상기 제 1테스트 케이스 및 상기 제 2테스트 케이스는, 수행 절차 및 기대 값 중 적어도 하나를 포함할 수 있다.
상기 비교하는 것은, 상기 테스트 수행 절차 및 상기 기대 값에 포함된 문자열을 각각 비교하여 유사도 점수를 산출하고, 상기 테스트 수행 절차의 유사도 점수와 상기 기대 값의 유사도 점수의 가중치를 조절하여 상기 제 1테스트 케이스를 상기 제 2 테스트 케이스와 비교하는 것;을 포함할 수 있다.
상기 유사도 점수를 미리 정해진 범위와 비교하여 상기 제 1테스트 케이스를 분류하는 것;을 더 포함할 수 있다.
상기 분류하는 것은, 상기 유사도 점수가 상기 기준 범위의 최소 기준 값의 미만이면, 상기 제 1테스트 케이스를 신규한 테스트 케이스로 분류하는 것;을 포함하고, 상기 저장하는 것은, 상기 제 1테스트 케이스를 신규한 테스트 케이스로 저장하는 것;을 포함할 수 있다.
상기 분류하는 것은, 상기 상기 유사도 점수가 상기 기준 범위 내이면, 상기 제 1테스트 케이스를 상기 제 2테스트 케이스와 통합하는 것;을 포함하고, 상기 저장하는 것은, 상기 통합한 제 2 테스트 케이스를 저장하는 것;을 포함할 수 있다.
상기 분류하는 것은, 상기 유사도 점수가 상기 기준 범위의 최대 기준값을 초과하면, 상기 제 1테스트 케이스를 폐기하는 것;을 포함할 수 있다.
상기 분류한 결과에 기초하여 상기 제 1테스트 케이스의 수행 절차에 따라 멀티 미디어 장비를 검사하는 것;을 더 포함할 수 있다.
상기 검사 결과를 디스플레이를 통해 출력하는 것;을 더 포함할 수 있다.
개시된 일 측면에 따른 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법은 수행할 테스트 케이스를 이전 테스트를 완료한 테스트 케이스와 비교하여 유사도를 분석하고, 분석 결과에 따라 복수 개의 테스트 케이스를 분류함으로써, 테스트의 효율을 향상시키고, 정량적인 테스트 케이스의 관리 기준을 마련할 수 있다.
도 1은 개시된 일 예에 따른 테스트 케이스를 설명하기 위한 도면이다.
도 2는 테스트 관리 시스템이 검사 동작을 설명하기 위한 순서도이다.
도 3은 개시된 일 예에 따른 테스트 케이스 관리 시스템(1)에 제어 블록도이다.
도 4는 일 실시예에 따른 테스트 케이스의 분류 방법을 설명하기 위한 순서도이다.
도 5는 개시된 일 예에 따른 유사도 점수의 산출 방법을 설명하기 위한 도면이다.
도 6은 Smith-Waterman 알고리즘을 설명하기 위한 도면이다.
도 7은 개시된 일 예에 따른 유사도 분석 방법을 설명하기 위한 도면이다.
도 8, 도 9a 및 도 9b는 일 실시예에 따른 테스트 케이스의 유사도 점수의 산출방법을 설명하기 위한 도면이다.
도 10은 다른 실시예에 따른 유사도 판단 방법을 설명하기 위한 도면이다.
도 11 내지 도 12는 테스트 케이스 관리 방법의 효과를 설명하기 위한 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 개시된 실시예에 따른 작용 원리 등에 대해 설명한다.
도 1은 개시된 일 예에 따른 테스트 케이스를 설명하기 위한 도면이다.
테스트 케이스(10)는 도메인에 따라 다양한 양식을 가질 수 있다. 다만, 멀티 미디어 장비를 대상으로 하는 테스트 케이스(10)는 도 1과 같이, 테스트 케이스 식별자(11), 테스트 대상(12), 환경 조건(13), 테스트 수행절차(14), 기대 값(15), 출력 값(16) 및 테스트 결과(17)를 포함할 수 있다.
구체적으로 테스트 케이스 식별자(11)는 멀티 미디어 장비에 수행되는 복수의 테스트 케이스(10)를 구분하기 위한 명칭이다. 후술하는 바와 같이, 수집된 테스트 케이스(20, 도 3참조)의 식별자(11)가 이미 저장된 테스트 케이스(30, 도 3참조)의 식별자와 동일하다면, 테스트 케이스 관리 시스템(1)은 테스트 케이스가 중복이라고 판단할 수 있다.
일 예에 따른 테스트 대상(12)은 테스트 케이스의 검사 대상인 멀티 미디어 장비를 포함할 수 있다.
환경 조건(13)은 검사 대상인 멀티 미디어 장비를 포함한 테스트 케이스 관리 시스템(1)이 테스트 케이스(10)에 관한 테스트를 진행하기 위한 설정을 의미한다.
테스트 수행절차(14)는 멀티 미디어 장비에 입력되는 입력 값을 의미한다. 입력 값, 즉 테스트 수행절차에 따른 멀티 미디어 장비의 동작 결과는 검사 결과가 된다. 테스트 수행절차(14)는 하나의 테스트 케이스(10)가 진행될 때, 포함되는 세부 테스트를 의미하며, 단수 또는 복수 개를 포함할 수 있다. 구체적인 테스트 수행절차에 관한 사항은 후술한다.
기대 값(15)은 수행절차(14)에 따라 진행되는 검사 대상으로부터 출력되기를 희망하는 조건이다. 즉, 테스트 케이스 관리 시스템(1)은 검사 대상으로부터 출력되는 출력 값(16)과 기대 값을 비교한 후, 출력 값(16)이 기대 값(15)을 만족하면, 진행된 수행 절차(14)를 통과한 것으로 판단한다.
기대 값을 만족하면, 테스트 케이스 관리 시스템(1)은 테스트 결과를 '정상'또는 '실패'로 테스트 결과(17)를 구분하고, 테스트 케이스(10) 내 다른 테스트 수행절차(14)가 진행되거나, 다른 테스트 케이스 식별자(11)를 가진 테스트 케이스(10)가 진행될 수 있다. 테스트 케이스(10)를 기반으로 하는 멀티 미디어 장비에 대한 절차는 이하의 도면에서 구체적으로 후술한다.
도 2는 테스트 관리 시스템이 검사 동작을 설명하기 위한 순서도이다.
도 2를 참조하면, 검사 대상인 멀티 미디어 장비 등을 포함한 장비를 셋팅한다(200).
이후, 테스트 수행자는 복수의 테스트 케이스(10) 중, 적어도 하나의 테스트 케이스를 선정한다(210).
여기서 테스트 수행자는 멀티 미디어 장비를 검사하는 시스템(1) 또는 테스트를 직접 수행하는 사람일 수 있다.
이후, 선정된 테스트 케이스(10)에 기초하여 멀티 미디어 장비의 환경 조건(13)을 설정한다. 환경 조건(13)은 테스트 케이스(10)에서 미리 정해진 조건에 기초하여 멀티 미디어 장비를 조작하는 것을 의미한다.
환경 조건(13)이 설정되면, 테스트 수행자는 테스트 수행절차(14)에 기초하여 검사 대상, 즉 멀티 미디어 장비를 조작한다(230).
이후, 테스트 수행자는 실제 출력 값(16)과 기대 값(15)을 비교한다(240).
즉, 멀티 미디어 장비가 출력하는 실제 출력 값(16)이 기대 값(15)을 만족하는지 여부를 확인한 후, 만약 실제 출력 값이(16)이 기대 값(15)을 만족하지 않으면, 하나의 테스트 수행 절차(14)에 따른 테스트 결과(17)는 '실패'이고, 만족하면, 테스트 결과(17)는 '정상'이 된다.
하나의 테스트 케이스(10)에는 복수 개의 테스트 수행절차(14)가 포함될 수 있다. 이전에 출력되는 하나의 수행절차(14)가 완료되더라도, 나머지 테스트 수행절차(14)가 진행되어야 한다.
따라서 테스트 수행자는 테스트 수행절차(14)가 모두 종료되었는지 확인한다(250).
나머지 테스트 수행절차(14)가 존재하는 경우, 테스트 수행자는 나머지 테스트 수행절차(14)에 따라 기기를 조작하고, 실제 출력 값(16)을 기대 값(15)과 비교하여, 테스트 결과(17)를 출력한다.
하나의 테스트 케이스(10) 내에 테스트 수행절차(14)가 모두 완료되면, 테스트 수행자는 나머지 테스트 케이스(10)가 존재하는지 여부를 확인한다.
만약 다른 테스트 케이스(10)가 존재하면, 테스트 수행자는 다시 검사할 테스트 케이스(10)를 선정한다.
모든 테스트 케이스(10)의 결과가 출력되면, 검사는 종료된다.
이러한 검사를 진행하게 되면, 검사 시간은 테스트 케이스(10) 내 테스트 수행절차(14)의 개수, 테스트 케이스 자체의 개수에 의해 지연될 수 있다. 즉, 테스트 수행자는 복수 개의 테스트 수행절차(14)에 따라 검사 대상의 기기를 빈번이 조작해야 하며, 여러 개의 테스트 케이스(10)를 일일이 선정하여 검사를 진행하여야 하므로, 검사 시간이 많이 소요된다.
종래에는 사용자가 직접 수많은 테스트 케이스(10)를 수작업에 의해 분류하여야 하므로, 유사하거나 중복되는 테스트 케이스(10)임에도 다시 검사를 진행하여 검사의 효율성이 낮았다.
이하의 개시된 일 실시예에 따르면, 수 많은 테스트 케이스(10)를 분류 또는 통합하는 기준을 제시하는 테스트 케이스 관리 시스템(1) 및 테스트 케이스 관리 방법을 제안하고자 한다.
도 3은 개시된 일 예에 따른 테스트 케이스 관리 시스템(1)에 제어 블록도이다.
도 3을 참조하면, 테스트 케이스 관리 시스템(1)은 사용자의 입력 명령을 수신하고 테스트 결과를 출력하는 입출력 인터페이스(110), 테스트 케이스(10)를 관리하는 제어부(120) 및 통합하고 분류한 테스트 케이스(10)를 저장하는 데이터 베이스(DB, 130)을 포함한다.
구체적으로 입출력 인터페이스(110)는 사용자의 입력 명령을 수신하는 입력부(111) 및 테스트 결과(17) 또는 분류 결과 등을 출력하는 디스플레이(112)를 포함할 수 있다.
입력부(111)는 사용자의 입력 및 테스트 케이스(10) 전반의 내용을 수신한다. 일 예로, 입력부(111)는 테스트 케이스(10)의 테스트 케이스 식별자(11) 및 테스트 수행절차(14) 및 기대 값(15)에 대한 문자열을 수신하고, 이를 제어부(120)로 전달한다.
전달되는 문자열은 이후에 설명하는 테스트 케이스(10)의 유사 여부 판단의 기초가 된다.
한편, 사용자의 입력을 위해 각종 버튼이나 스위치, 페달(pedal), 키보드, 마우스, 트랙볼(track-ball), 각종 레버(lever), 핸들(handle)이나 스틱(stick) 등과 같은 하드웨어적인 장치를 포함할 수 있다.
또한, 입력부(111)는 사용자 입력을 위해 터치 패드(touch pad) 등과 같은 GUI(Graphical User interface), 즉 소프트웨어인 장치를 포함할 수도 있다. 터치 패드는 터치 스크린 패널(Touch Screen Panel: TSP)로 구현되어 디스플레이(112)와 상호 레이어 구조를 이룰 수 있다.
디스플레이(112)는 수신한 문자열을 출력시켜, 사용자에게 입력 여부를 정정하도록 유도할 수 있으며, 제어부(120)가 판단한 유사 여부 및 테스트 케이스(10)에 따른 실제 출력 값(16) 및 테스트 결과(17) 등을 출력한다.
디스플레이(112)는 음극선관(Cathode Ray Tube: CRT), 디지털 광원 처리(Digital Light Processing: DLP) 패널, 플라즈마 디스플레이 패널(Plasma Display Penal), 액정 디스플레이(Liquid Crystal Display: LCD) 패널, 전기 발광(Electro Luminescence: EL) 패널, 전기영동 디스플레이(Electrophoretic Display: EPD) 패널, 전기변색 디스플레이(Electrochromic Display: ECD) 패널, 발광 다이오드(Light Emitting Diode: LED) 패널 또는 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 패널 등으로 마련될 수 있으나, 이에 한정되지는 않는다.
이 외에도 입출력 인터페이스(110)는 사용자와 시스템(1)을 연결시켜 주는 다양한 구성, 예를 들어 스피커 등과 같은 소리 인터페이스 등을 포함할 수 있다.
제어부(120)는 테스트 케이스 관리 시스템(1)의 전반적인 구성 요소를 제어한다.
구체적으로 제어부(120)는 입출력 인터페이스(110)를 통해 전달받는 새로운 테스트 케이스 및 수정된 테스트 케이스를 수신하는 수신부(121), 디스플레이(112)에 출력되는 화면을 생성하는 그래픽 프로세서(122), 수신된 테스트 케이스의 유사도를 판단하고, 테스트 케이스를 분류하는 메인 프로세서(123) 및 제어 동작에 필요한 알고리즘 및 데이터 베이스(130)에서 수신하는 테스트 케이스 등을 일시적으로 저장하는 메모리(124)를 포함할 수 있다.
또한, 제어부(120)에는 입출력 인터페이스(121), 그래픽 프로세서(122), 메인 프로세서(123) 및 메모리(124) 사이의 데이터 송수신을 매개하는 데이터 버스(125)가 마련될 수 있다.
먼저, 수신부(121)는 테스트 케이스(10)를 수신한다. 테스트 케이스(10)는 이전에 검사를 진행하지 않은 새로운 테스트 케이스와 기존에 검사를 진행하였으나, 수정된 테스트 케이스로 구분된다.
새로운 테스트 케이스는 멀티 미디어 장비에 신규 기능이 추가되거나, 기존에 발견되지 않았던 새로운 유형의 오류가 발생한 경우, 기존 시나리오가 변경되거나 추가된 경우에 입력될 수 있다.
이와 비교하여, 수정된 테스트 케이스는 기존 테스트 케이스에 미비한 사항이 있어, 수정할 필요가 있는 경우 입력될 수 있다.
수신부(121)는 새로운 테스트 케이스 또는 수정된 테스트 케이스를 수신하고, 데이터 버스(125)를 통하여 메인 프로세서(123)로 전달한다.
메인 프로세서(123)는 전달받은 새로운 테스트 케이스 또는 수정된 테스트 케이스를 데이터 베이스(130)에 저장된 테스트 케이스와 비교하여 유사도를 판단한다.
이하에서는 설명의 편의를 위해서 수신되는 테스트 케이스를 제 1 테스트 케이스라고 지칭하고, 이미 검사가 수행되어 데이터 베이스(130)에 저장된 테스트 케이스를 제 2테스트 케이스라고 지칭한다. 즉, 제 1테스트 케이스는 새로운 테스트 케이스 또는 수정된 테스트 케이스를 포함할 수 있고, 메인 프로세서(123)는 제 1테스트 케이스와 제 2테스트 케이스를 비교하여 제 1테스트 케이스를 분류한다.
메인 프로세서(123)가 제 1테스트 케이스 및 제 2테스트 케이스의 유사도를 판단한 후, 제 1테스트 케이스를 분류하는 방법은 이하 도 4를 통해서 후술한다.
메모리(124)는 수신부(121)가 전달하는 제 1테스트 케이스를 저장하고, 메인 프로세서(123)가 데이터 베이스(130)를 통해 전달받은 제 2 테스트 케이스를 저장한다. 즉, 메모리(124)는 메인 프로세서(123)가 비교할 제 1 테스트 케이스 및 제 2테스트 케이스를 일시적으로 저장한다.
또한, 메모리(124)는 테스트 케이스 검사 시스템(1)의 전반적이 동작을 제어하기 위한 제어 프로그램 및 제어 데이터, 입출력 인터페이스(110)가 수신한 사용자 명령 등을 임시로 기억할 수 있다.
메모리(115)는 S램(S-RAM), D랩(D-RAM) 등의 휘발성 메모리뿐만 아니라 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.
메인 프로세서(123)는 유사도 비교 결과, 제 1테스트 케이스가 신규한 것으로 판단되면, 새로운 테스트 케이스로 분류한 후 데이터 베이스(130)에 저장한다. 신규한 제 1테스트 케이스는 이후에 수신부(121)가 새로이 전달하는 테스트 케이스와 비교되는 제 2테스트 케이스가 된다.
유사도 비교 결과, 제 1테스트 케이스가 비교 대상이 되는 제2테스트 케이스와 유사한 것으로 판단되면, 메인 프로세서(123)는 제 1테스트 케이스와 제 2테스트 케이스를 통합하고, 통합된 테스트 케이스를 데이터 베이스(130)에 저장한다.
그래픽 프로세서(122)는 메인 프로세서(123)의 분류 결과를 디스플레이(112)에 표시할 영상으로 변환하거나, 입력부(111)에서 전달되는 결과를 메인 프로세서(123)가 처리할 수 있는 포맷으로 변환하는 등, 영상 처리에 관한 다양한 동작을 수행할 수 있다.
이하에서는 메인 프로세서(123), 그래픽 프로세서(122) 및 메모리(124)의 동작을 제어부(120)로 통칭하여 설명한다. 또한, 제어부(120)는 설명하지 않은 다양한 구성을 더 포함할 수 있으며, 제한은 없다.
데이터 베이스(130)는 제어부(120)가 처리한 분류된 테스트 케이스를 저장한다.
구체적으로 데이터 베이스(130)는 구분된 각각의 테스트 케이스를 저장한다. 도 3과 같이, 제어부(120)는 입력되는 테스트 케이스를 새로운 테스트 케이스, 통합된 테스트 케이스 및 중복된 테스트 케이스로 분류할 수 있다. 여기서 중복된 테스트 케이스는 수신되는 제 1테스트 케이스와 데이터 베이스(130)에 저장된 제 2테스트 케이스를 비교한 결과, 제 1테스트 케이스와 제 2테스트 케이스가 거의 동일한 것으로, 중복된 검사를 유발할 가능성이 있는 테스트 케이스를 의미한다. 제어부(120)는 중복 테스트 케이스를 폐기시키고, 나머지 새로운 테스트 케이스와 중복된 테스트 케이스를 데이터 베이스(130)에 저장시킨다.
데이터 베이스(130)는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
한편, 데이터 베이스(130)는 제어부(120)로 구현되는 칩과 구분되어 독립적으로 마련될 수 있으며, 통신 모듈을 통해 제어부(120)와 저장된 테스트 케이스를 주고 받을 수 있다. 여기서 통신 모듈은 근거리 통신모듈, 유선 통신 모듈 및 무선 통신모듈을 모두 포함하며, 일 예로, 무선 통신모듈을 통해서 연결되는 경우, 데이터 베이스(130)는 테스트 케이스 관리 시스템(1)과 떨어진 서버 등에 구현될 수도 있다.
도 3에서 설명한 테스트 케이스 관리 시스템(1)의 구성은 일 예에 불과하면, 다른 구성을 더 포함하거나, 다양한 변형례를 포함할 수 있다.
도 4는 일 실시예에 따른 테스트 케이스의 분류 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 제어부(120)는 수신되는 테스트 케이스(이하 제 1테스트 케이스)와 데이터 베이스에 저장된 테스트 케이스(이하 제 2테스트 케이스)의 유사도를 판단한다(300).
구체적으로 멀티 미디어 장비에 사용되는 테스트 케이스는 자연어로 명시되어 있다. 따라서 개시된 일 예에서 테스트 케이스 간 유사도 판단은 문자열을 비교한다.
제어부(120)는 도 1에서 설명한 테스트 케이스(10)의 각 항목 중, 테스트 케이스 식별자(11), 테스트 수행절차(14) 및 기대 값(15)의 문자열을 비교한다.
또한, 제어부(120)는 각 항목에 대한 문자열을 비교한 후, 전체의 유사도 점수를 합한 결과를 통해 제 1테스트 케이스와 제 2테스트 케이스의 유사도를 판단한다.
유사도의 판단 방법과 관해서, 제어부(120)는 테스트 케이스의 항목에 포함된 문자열을 비교하여 유사도 점수를 산출한다.
유사도 점수를 산출하는 방법은 Smith-Waterman 알고리즘과 유사하다.
Smith-Waterman 알고리즘은 두 문자열을 한 글자씩 비교한 후, 점수를 부여하는 방법을 의미한다. 그러나 개시된 산출 방법은 Smith-Waterman 알고리즘을 적용하는 대신, 이를 수정하여 테스트 케이스에 적용 가능한 방법을 통해 유사도 점수를 산출한다.
유사도 점수를 산출하는 방법에 관해서는 이하 도 5 등을 통해서 구체적으로 후술한다.
유사도 점수가 산출되면, 제어부(120)는 산출된 유사도 점수를 미리 설정된 범위에 포함되는지 여부를 판단하여 제 1테스트 케이스를 분류한다.
구체적으로 제어부(120)는 산출된 유사도 점수와 최대 기준 값을 비교한다(310).
만약 산출된 유사도 점수가 최대 기준 값을 초과하면, 제어부(120)는 제 1테스트 케이스가 제 2테스트 케이스와 일치하는지 여부를 판단한다(320).
만약 제 1테스트 케이스의 항목이 모두 제 2테스트 케이스와 동일하다면, 제어부(120)는 수신된 테스트 케이스가 이미 저장된 테스트 케이스와 동일하다고 판단하고, 제 1테스트 케이스를 중복 테스트 케이스로 분류한다(330).
전술한 바와 같이, 제1테스트 케이스가 중복 테스트 케이스로 분류되면, 제어부(120)는 제1 테스트 케이스를 폐기한다.
만약 산출된 유사도 점수가 최대 기준 값 미만이면, 제어부(120)는 유사도 점수가 최소 기준 값을 초과하는지 여부를 판단한다(311).
만약 유사도 점수가 최소 기준 값 미만이라면, 제어부(120)는 제1테스트 케이스가 신규한 테스트 케이스라고 판단한다(332).
그러나 유사도 점수가 최소 기준 값을 초과하면, 제어부(120)는 제 1테스트 케이스와 제 2테스트 케이스와 통합 가능한지 여부를 판단한다(321).
도 3에서 전술한 바와 같이, 수신된 테스트 케이스는 새로운 테스트 케이스일 수도 있으나, 기존 시나리오가 변경되거나 추가된 테스트 케이스일 수 있다. 만약 수신된 테스트 케이스가 후자인 경우, 제어부(120)는 미리 저장된 테스트 케이스를 수신된 테스트 케이스로 변경, 즉 업데이트한다.
다시 도 4를 참조하면, 제어부(120)는 제 1테스트 케이스가 제 2테스트 케이스와 유사하지만, 수정이 필요한 케이스라고 판단하면, 제어부(120)는 제 1테스트 케이스를 통합 테스트 케이스로 분류한다(331).
유사도 점수가 미리 설정된 범위, 즉 최대 기준 값 내지 최소 기준 값 사이에 포함되더라도, 제 1테스트 케이스는 제 2테스트 케이스와 통합될 수 없는 테스트 케이스일 수 있다. 이 경우, 제어부(120)는 제 1테스트 케이스를 신규한 테스트 케이스로 분류할 수 있다.
한편, 유사도 점수에 대한 비교 기준이 되는 최대 기준 값 내지 최소 기준 값은 미리 설정된 값으로, 사용자에 의해서 변경될 수 있다.
도 5는 개시된 일 예에 따른 유사도 점수의 산출 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 제어부(120)는 수신된 테스트 케이스(제 1테스트 케이스)와 비교할 테스트 케이스(제 2테스트 케이스)의 항목 중, 테스트 수행절차(14)와 기대 값(15)을 매핑하여 쌍으로 비교한다.
도 1에서 전술한 바와 같이, 테스트 케이스 수행절차(14)는 검사 대상인 멀티 미디어 장비에 입력되는 입력 값을 의미하며, 기대 값(15)은 검사 대상이 '정상'으로 판별되기 위한 기대 출력 값을 의미한다.
도 5와 같이, 일 예에 따른 제 1테스트 케이스는 테스트 수행절차 1 내지 3을 포함하고, 각각의 테스트 수행절차마다 기대하는 기대 값 1 내지 3을 포함할 수 있다.
또한, 일 예에 따른 제 2테스트 케이스는 테스트 수행절차 1 내지 3을 포함하고, 각각의 테스트 수행절차마다 기대하는 기대 값 1 내지 3을 포함할 수 있다.
제어부(120)는 테스트 수행절차끼리 문자열 비교를 통해 개별 유사도 점수를 산출하고, 기대 값끼리 문자열 비교를 통해 개별 유사도 점수를 산출한다.
예를 들어, 테스트 수행절차1은 제 2테스트 케이스의 수행절차 1과 비교되고, 기대 값 1은 제 2테스트 케이스의 기대 값1와 비교된다.
또한, 테스트 수행절차2은 제 2테스트 케이스의 수행절차 2와 비교되고, 기대 값 2는 제 2테스트 케이스의 기대 값2와 비교된다.
마지막으로 테스트 수행절차3은 제 2테스트 케이스의 수행절차 3과 비교되고, 기대 값 3은 제 2테스트 케이스의 기대 값3과 비교된다.
개별 유사도 점수를 산출하는 방법은 이하 도 6 내지 7을 통해서 후술한다.
도 6은 Smith-Waterman 알고리즘을 설명하기 위한 도면이다.
도 1에서 전술한 바와 같이, Smith-Waterman 알고리즘은 두 문자열을 한 글자씩 비교하고 점수를 부여하여 문자열의 유사도를 측정하는 방법이다.
Smith-Waterman 알고리즘은 아래의 수학식 1과 같은 점화식을 사용한다.
Figure 112017112041539-pat00001
Hij는 각 문자열을 i번째와 j번째까지 비교한 경우 나타날 수 있는 최대 점수를 의미한다. 또한, S(ai, bj)는 임의의 문자 a와 b의 유사도를 의미하고, Wk는 문자열 비교 시, 길이 k만큼 생략한 경우의 패널티 점수이다.
Smith-Waterman 알고리즘을 통해, 두 문자열 'DESIGN'과 'IDEAS'를 비교하면, 도 6과 같은 결과 값이 생성될 수 있다. 도 6에서 각 점수는 비교되는 문자열의 각 문자가 동일할 경우 5점, 다를 경우 -5점 및 패널티 점수 -1점으로 계산한 결과이다.
도 6에서 살펴보면, H5,6의 값이 14점으로 가장 높은 것을 확인할 수 있다. 그리고 해당 점수를 역추적하면, 가장 유사한 부분 문자열이 'DES'인 것을 확인할 수 있다.
한편, 개시된 일 예에 따른 제어부(120)는 Smith-Waterman 알고리즘과 차이가 있는 방법을 통해 문자열의 유사도 점수를 산출한다.
구체적으로 Smith-Waterman 알고리즘은 부여하는 패널티 또는 보상값을 통해 유사도 점수를 산출한다. 이러한 방식은 일정한 기준을 가지고 있지 않으며 사용자의 지정에 의해서 변화할 수 있다. 따라서 비교하는 전체 문자열의 길이가 길고 유사할수록 Smith-Waterman 알고리즘을 통한 유사도는 신뢰성은 떨어진다. 예를 들어, 서로 완전히 일치하는 문자열 'A-A'및 'AAA-AAA'에 대해서, Smith-Waterman알고리즘은 서로 다른 유사도 점수를 출력할 것이며, 어떤 점수를 부여하는가에 따라 유사도 점수는 약 3배 가까이 차이가 날 수 있다.
또한, Smith-Waterman 알고리즘은 부분 문자열의 유사도를 파악하는데 유용하지만, 개시된 테스트 케이스와 같이 여러 단어를 포함하는 전체 문자열을 파악하기에는 한계가 있다.
예를 들어, '전원 OFF'와 '전원 OFF 후 바로 ON'의 두 문자열에 대해, 기존 Smith-Watermen 알고리즘은 유사한 문자열 "전원 OFF"을 검출한 후 두 문자열이 매우 유사한 것으로 판단할 것이다. 그러나, 실제로 '전원 OFF'와 '전원 OFF 후 바로 ON'는 다른 동작을 의미한다. 즉, 일 부분에 동일한 문자열이 포함되더라도 전체 문자열은 전혀 유사하지 않는 문자열일 수 있으며, Smith-Waterman 알고리즘만을 적용하여 테스트 케이스의 유사도를 판단하기에는 부족한 점이 있다.
따라서 개시된 일 예에 따른 제어부(120)는 문자열의 연속성에 관한 유사도를 판단할 수 있는 비율을 통해 유사도 점수를 산출한다.
도 7은 개시된 일 예에 따른 유사도 분석 방법을 설명하기 위한 도면이다.
도 7은 도 6과 같이, 'DESIGN'와 'IDEAS'의 유사도를 검출한 결과값이다.
구체적으로 도 7은 'DESIGN'와 'IDEAS'의 문자열 중, 두 개의 문자, 예를 들어 ID-DE 또는 DE-ES 등이 일치하는 경우 10점, 일치하지 않을 경우 15점, 패널티 점수 -15점으로 유사도 점수를 산출한 결과이다.
도 7을 참조하면, 'DESIGN'와 'IDEAS'의 유사도 점수, 즉 H5,6은 .-45점이다.
이를 비율로 나타낼 경우, 길이가 5, 6인 두 문자열이 최대로 가질 수 있는 점수는 35점(수학식 2)이고, 최소 점수는 -90점(수학식 3)이며, 여기서 H5,6(-45 점)이 위치하는 비율은 수학식 4을 통해 36%로 산출된다.
Figure 112017112041539-pat00002
Figure 112017112041539-pat00003
Figure 112017112041539-pat00004
즉, 개시된 발명에서 유사도 분석 방법은 Smith-Waterman 알고리즘과 달리, 비율로 산출된다. 이렇게 산출된 비율을 이하에서는 개시된 발명의 유사도 점수로 정의한다.
도 8, 도 9a 및 도 9b는 일 실시예에 따른 테스트 케이스의 유사도 점수의 산출방법을 설명하기 위한 도면이다. 중복되는 설명을 방지하기 위해서 이하 함께 설명한다.
도 8을 먼저 참조하면, 수신되는 테스트 케이스, 즉 제 1테스트 케이스의 식별자(11)는 TC-FMRM-021이고, 이미 저장되어 제 1테스트 케이스의 비교 대상이 되는 제 2 테스트 케이스의 식별자(11)는 TC-FMRM-123이다.
여기서 제 1테스트 케이스의 테스트 수행절차1, FM Mode switch (1.1)은 제 2테스트 케이스의 테스트 수행절차 2, FM Mode switch (2.1)과 동일한 문자열을 가진다. 또한, 테스트 수행절차에 상응하는 기대 값 1 및 2도 서로 동일한 문자열 check FM mode switch을 가진다.
따라서 제 1테스트 케이스 및 제 2테스트 케이스의 테스트 수행절차 - 기대 값의 유사도 점수는 100%이다.
또한, 제1테스트 케이스의 테스트 수행절차(1.3)과 제 2테스트 케이스의 테스트 수행절차(2.3)은 동일한 문자열을 가진다. 그러나 제1테스트 케이스의 기대 값(1.3.1) 또는 기대 값(1.3.2)는 제 2테스트 케이스의 기대 값(2.3.1)과 다른 문자열을 가진다. 즉, 제 1테스트 케이스의 테스트 수행절차(1.3)과 제 2테스트 케이스의 수행절차(2.3)의 유사도 점수는 100%가 아니다.
한편, 테스트 케이스는 테스트 수행절차(14)와 기대 값(15)을 포함한다. 개시된 일 예에서 제어부(120)는 제 1테스트 케이스의 테스트 수행절차 1의 문자열과 제 2테스트 케이스의 테스트 수행절차 2의 문자열과 비교하여 유사도 점수를 산출하고, 제 1테스트 케이스의 기대 값1의 문자열과 제 2테스트 케이스의 기대 값 2의 문자열과 비교하여 유사도 점수를 산출한 후, 유사도 점수를 종합하여 전체 유사도 점수를 산출한다.
도 8을 참조하면, 제1테스트 케이스의 테스트 수행절차(1.3) 및 기대 값(1.3.2)와 제 2테스트 케이스의 테스트 수행절차(2.3) 및 기대 값(2.3.1)의 전체 유사도 점수 결과는 98.27%이다.
구체적으로 제 1테스트 케이스의 테스트 수행절차(1.3)는 제 2테스트 케이스의 테스트 수행절차(2.3)와 'ON after ACC OFF'으로 서로 동일한 문자열이다. 그러나 기대 값은 서로 상이하다.
일 예로, 제 1테스트 케이스의 기대 값(1.3.2)인 'PRESET MEMORY / PRESET NO / BAND should be preserved'와 제 2테스트 케이스의 테스트 기대 값(2.3.1)인 'Pop Noise shouldn't occur'을 비교하면, 개별 유사도 점수는 48%가 산출된다.
도 9a 및 도 9b를 참고하면, 기대 값(1.3.2)와 기대 값(2.3.1)을 비교한 결과가 도시되어 있다. 여기서 'PRESET MEMORY / PRESET NO / BAND should be preserved'는 각 문자, 부호 및 띄어쓰기마다 세로 열에 나열되고, 'Pop Noise shouldn't occur'또한, 각 문자. 부호 및 띄어쓰기마다 가로 열에 나열되어 있다.
이후, 제어부(120)는 나열된 문자, 부호 및 띄어쓰기 중 두 개의 문자를 비교한다. 비교 후, 제어부(120)는 일치하는 경우 10점, 일치하지 않을 경우 15점, 패널티 점수 -15점을 부여한다.
예를 들어, 도 9a에서 세로 축의 'P R'과 가로 축의 'P o'를 비교하면, 두 개의 문자 중, 연속적인 문자가 하나 존재한다. 따라서 도 9a의 결과 값은 -5점이 된다.
이러한 방식을 통해 점수를 부여하면, 기대 값(1.3.2) 및 기대 값(2.3.1)의 최종 점수는 도 9b의 H52, 25는 -490점이 산출된다.
또한, 도 7에서 전술한 수학식 2 및 3에 기대 값(1.3.2)의 52개의 문자열과 기대 값(2.3.1)의 25개의 문자열을 대입하면, 최대 점수는 -150이고, 최소 점수는 -780점이며, 수학식 4를 이용하면 유사도 점수는 48.0%가 된다.
한편, 전체 유사도 점수는 테스트 수행절차 및 기대 값에서 산출되는 개별 유사도 점수에서 가중치를 통해 산출된다. 전체 유사도 점수의 산출 방법은 아래의 수학식 5를 사용한다.
Figure 112017112041539-pat00005
구체적으로 일 실시예에 따른 가중치는 테스트 수행절차(14)에 90%로, 기대 값(15)에 10%로 설정될 수 있다. 여기서 가중치를 다르게 적용하는 이유는 판단조건에 해당하는 기대 값(15)은 검사 동작에 영향을 적게 미치기 때문이다. 따라서 테스트 수행절차(14)가 동일하다면, 테스트 케이스의 유사도는 높아진다.
한편, 전체 유사도 점수를 산출하는 방법, 즉 가중치는 사용자의 설정에 의해서 다양할 수 있으며, 가중치를 적용하지 않고 유사도 점수를 산출한 후 이를 비교할 수도 있다.
도 10은 다른 실시예에 따른 유사도 판단 방법을 설명하기 위한 도면이다.
테스트 케이스는 자연어로 명시되어 있으므로, 테스트 케이스의 유사도 판단은 전술한 바와 같이 문자열 비교를 기반으로 한다. 그러나 전술한 유사도 점수 산출방법은 문자열 자체의 의미를 해석하지 않는다.
따라서 문자열이 서로 반대의 의미를 가짐에도 불구하고, 유사도 점수는 높게 산출될 수 있다.
따라서 개시된 다른 실시예에 따른 제어부(120)는 반대말 사전에 기초하여 산출된 유사도 점수를 조절할 수 있다.
구체적으로 제어부(120)는 비교하고자 하는 문자열을 부분 문자열로 분리한 후, 미리 저장된 반대말 사전에서 해당 문자열이 있는지 검색한다. 이 후, 제어부(120)는 제 1테스트 케이스의 부분 문자열과 제 2테스트 케이스의 부분 문자열이 반대말에 해당하면, 미리 정해진 비율로 산출된 유사도 점수(또는 전체 유사도 점수)를 감소시킬 수 있다.
여기서 미리 정해진 비율은 다양할 수 있으며, 반대말 사전은 메모리(124)에 저장되거나 사용자에 의해서 설정 변경될 수 있다.
도 11 내지 도 12는 테스트 케이스 관리 방법의 효과를 설명하기 위한 도면이다. 중복되는 설명을 피하기 위해서 이하 함께 설명한다.
개시된 테스트 케이스 관리 시스템에 1153건의 테스트 케이스를 데이터 베이스(130)에 저장한 후, 이를 다시 입력시켜, 저장된 나머지 테스트 케이스와 비교한 후, 유사도 점수를 기초로 1153건의 테스트 케이스를 통합 및 신규 테스트 케이스를 분류하였다.
도 11의 표는 테스트 케이스를 분류하기에 앞서, 유사도 구간 별 통합 가능 여부를 검토한 결과이다.
구체적으로 멀티 미디어 장비의 주요 기능과 관련하여 테스트 케이스 358건에 대해 유사도 점수를 산출하여 통합 후보로 추출하였다. 유사도 점수의 범위는 10%단위로 구간을 설정하고, 유사도 점수가 80% 미만인 구간에 대해서는 통합 효용성이 없는 것으로 설정하였다.
결과적으로 1153건에 대해서 유사도 점수가 100%인 후보는 114건으로 집걔되었고, 114건에 대해서 통합 가능 후보는 101건으로 전체의 88.6%를 차지하였다.
또한 유사도 점수가 90% 내지 99%으로 산출되는 테스트 케이스는 610건으로 이 중 통합 가능한 테스트 케이스는 415건으로 약 68.0%로 집계되었다.
유사도 점수가 89% 내지 80%으로 산출되는 테스트 케이스는 858건으로 이 중 통합 가능한 테스트 케이스는 240건으로 약 28.0%로 집계되었다.
다음으로 도 11에 집계된 통합 가능 후보 수 전체에 대해 통합 가능 여부를 판단하고, 통합을 수행하였다.
또한, 유사도 점수가 100%이 경우, 중복 테스트 케이스 여부를 검토하고, 중복 테스트 케이스로 판단된 경우 폐기하였다.
이러한 과정을 통해서 전체 1153건의 테스트 케이스에 대한 관리 결과는 도 12와 같았다.
도 12를 참조하면, 1153건에 대해서 테스트 케이스 관리 결과, 3건의 중복 테스트 케이스를 발견하여 폐기하였고, 329건의 통합 가능한 테스트 케이스를 발견하여 통합하였다.
결국, 최종적으로 개시된 테스트 케이스 관리 시스템은 검사 대상을 1153건에서 821건으로 감소시켰고, 이는 약 29%의 테스트 케이스를 감소시킨 것이다.
즉, 개시된 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법은 동일한 테스트 케이스의 중복된 검사 진행을 억제하여 시간을 절약하고, 기존 사람의 경험칙 또는 직관적 통합 기준이 아닌 유사도 점수에 따른 정량적인 관리가 가능하여 관리의 효율성 및 객관성을 확보하는데 효과가 있다.
110: 입출력 인터페이스 120: 제어부
130: 데이터 베이스

Claims (20)

  1. 제1 테스트 케이스를 수신하는 입출력 인터페이스;
    제2 테스트 케이스를 저장하는 데이터 베이스; 및
    상기 제1 테스트 케이스의 문자열과 상기 제2 테스트 케이스의 문자열의 유사도 점수에 기초하여 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 비교하는 제어부;를 포함하고,
    상기 제어부는,
    상기 제1 테스트 케이스의 문자열에 포함된 문자의 개수와 상기 제2 테스트 케이스의 문자열에 포함된 문자의 개수에 기초하여 기준 점수를 산출하고, 상기 제1 테스트 케이스의 문자열에 포함된 문자와 상기 제2 테스트 케이스의 문자열에 포함된 문자의 동일성에 기초하여 전체 문자열이 가지는 점수를 산출하고, 상기 기준 점수와 상기 전체 문자열이 가지는 점수의 비율에 기초하여 상기 유사도 점수를 산출하는 테스트 케이스 관리 시스템.
  2. 삭제
  3. 제 1항에 있어서,
    상기 제1 테스트 케이스 및 상기 제2 테스트 케이스는,
    테스트 수행 절차 및 기대 값 중 적어도 하나를 포함하는 테스트 케이스 관리 시스템.
  4. 제 3항에 있어서,
    상기 제어부는,
    상기 테스트 수행 절차 및 상기 기대 값에 포함된 문자열을 각각 비교하여 유사도 점수를 산출하고, 상기 테스트 수행 절차의 유사도 점수와 상기 기대 값의 유사도 점수의 가중치를 조절하여 전체 유사도 점수를 산출하는 테스트 케이스 관리 시스템.
  5. 제 1항에 있어서,
    상기 제어부는,
    상기 유사도 점수를 기준 범위와 비교하여 상기 제1 테스트 케이스를 분류하는 테스트 케이스 관리 시스템.
  6. 제 5항에 있어서,
    상기 제어부는,
    상기 유사도 점수가 상기 기준 범위의 최소 기준 값의 미만이면, 상기 제1 테스트 케이스를 신규한 테스트 케이스로 분류하고,
    상기 데이터 베이스는,
    상기 제1 테스트 케이스를 신규한 테스트 케이스로 저장하는 테스트 케이스 관리 시스템.
  7. 제 5항에 있어서,
    상기 제어부는,
    상기 유사도 점수가 상기 기준 범위 내이면, 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 통합하고,
    상기 데이터 베이스는,
    상기 통합한 제2 테스트 케이스를 저장하는 테스트 케이스 관리 시스템.
  8. 제 5항에 있어서,
    상기 제어부는,
    상기 유사도 점수가 상기 기준 범위의 최대 기준값을 초과하면, 상기 제1 테스트 케이스를 폐기하는 테스트 케이스 관리 시스템.
  9. 제 5항에 있어서,
    상기 제어부는,
    상기 분류한 결과에 기초하여 상기 제1 테스트 케이스의 수행 절차에 따라 멀티 미디어 장비를 검사하는 테스트 케이스 관리 시스템.
  10. 제 1항에 있어서,
    상기 제어부는,
    상기 제1 테스트 케이스의 부분 문자열과 상기 제2 테스트 케이스의 부분 문자열이 미리 저장된 반대말에 해당하면, 상기 유사도 점수를 수정하여 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 비교하는 테스트 케이스 관리 시스템.
  11. 제1 테스트 케이스를 수신하고;
    제2 테스트 케이스를 저장하고; 및
    상기 제1 테스트 케이스의 문자열과 상기 제2 테스트 케이스의 문자열의 유사도 점수에 기초하여 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 비교하는 것;을 포함하고,
    상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 비교하는 것은,
    상기 제1 테스트 케이스의 문자열에 포함된 문자의 개수와 상기 제2 테스트 케이스의 문자열에 포함된 문자의 개수에 기초하여 기준 점수를 산출하고;
    상기 제1 테스트 케이스의 문자열에 포함된 문자와 상기 제2 테스트 케이스의 문자열에 포함된 문자의 동일성에 기초하여 전체 문자열이 가지는 점수를 산출하고;
    상기 기준 점수와 상기 전체 문자열이 가지는 점수의 비율에 기초하여 상기 유사도 점수를 산출하는 것;을 포함하는 테스트 케이스 관리 방법.
  12. 삭제
  13. 제 11항에 있어서,
    상기 제1 테스트 케이스 및 상기 제2 테스트 케이스는,
    테스트 수행 절차 및 기대 값 중 적어도 하나를 포함하는 테스트 케이스 관리 방법.
  14. 제 13항에 있어서,
    상기 비교하는 것은,
    상기 테스트 수행 절차 및 상기 기대 값에 포함된 문자열을 각각 비교하여 유사도 점수를 산출하고, 상기 테스트 수행 절차의 유사도 점수와 상기 기대 값의 유사도 점수의 가중치를 조절하여 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 비교하는 것;을 포함하는 테스트 케이스 관리 방법.
  15. 제 11항에 있어서,
    상기 유사도 점수를 기준 범위와 비교하여 상기 제1 테스트 케이스를 분류하는 것;을 더 포함하는 테스트 케이스 관리 방법.
  16. 제 15항에 있어서,
    상기 분류하는 것은,
    상기 유사도 점수가 상기 기준 범위의 최소 기준 값의 미만이면, 상기 제1 테스트 케이스를 신규한 테스트 케이스로 분류하는 것;을 포함하고,
    상기 저장하는 것은,
    상기 제1 테스트 케이스를 신규한 테스트 케이스로 저장하는 것;을 포함하는 테스트 케이스 관리 방법.
  17. 제 15항에 있어서,
    상기 분류하는 것은,
    상기 상기 유사도 점수가 상기 기준 범위 내이면, 상기 제1 테스트 케이스를 상기 제2 테스트 케이스와 통합하는 것;을 포함하고,
    상기 저장하는 것은,
    상기 통합한 제2 테스트 케이스를 저장하는 것;을 포함하는 테스트 케이스 관리 방법.
  18. 제 15항에 있어서,
    상기 분류하는 것은,
    상기 유사도 점수가 상기 기준 범위의 최대 기준값을 초과하면, 상기 제1 테스트 케이스를 폐기하는 것;을 포함하는 테스트 케이스 관리 방법.
  19. 제 15항에 있어서,
    상기 분류한 결과에 기초하여 상기 제1 테스트 케이스의 수행 절차에 따라 멀티 미디어 장비를 검사하는 것;을 더 포함하는 테스트 케이스 관리 방법.
  20. 제 19항에 있어서,
    상기 검사 결과를 디스플레이를 통해 출력하는 것;을 더 포함하는 테스트 케이스 관리 방법.
KR1020170150232A 2017-11-13 2017-11-13 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법 KR102452457B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170150232A KR102452457B1 (ko) 2017-11-13 2017-11-13 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법
US15/837,836 US10915432B2 (en) 2017-11-13 2017-12-11 Test case management system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170150232A KR102452457B1 (ko) 2017-11-13 2017-11-13 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법

Publications (2)

Publication Number Publication Date
KR20190054219A KR20190054219A (ko) 2019-05-22
KR102452457B1 true KR102452457B1 (ko) 2022-10-12

Family

ID=66433415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170150232A KR102452457B1 (ko) 2017-11-13 2017-11-13 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법

Country Status (2)

Country Link
US (1) US10915432B2 (ko)
KR (1) KR102452457B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768893B2 (en) * 2017-11-20 2020-09-08 Accenture Global Solutions Limited Using similarity analysis and machine learning techniques to manage test case information
US11294804B2 (en) * 2020-03-23 2022-04-05 International Business Machines Corporation Test case failure with root cause isolation
KR20220085512A (ko) 2020-12-15 2022-06-22 현대오토에버 주식회사 테스트 케이스의 통합 검증 시스템 및 이를 이용한 통합 검증 방법
CN113326203B (zh) * 2021-06-22 2022-08-12 深圳前海微众银行股份有限公司 一种信息推荐方法、设备及存储介质
US11954019B2 (en) 2022-02-04 2024-04-09 Optum, Inc. Machine learning techniques for automated software testing configuration management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060253741A1 (en) * 2003-10-24 2006-11-09 Electronic Arts, Inc. System and method for testing human interactive applications including computer games
US20140115565A1 (en) * 2012-10-18 2014-04-24 Microsoft Corporation Test similarity detection with method call sequence analysis
US20170199811A1 (en) * 2016-01-12 2017-07-13 Wipro Limited Method and System for Optimizing a Test Suite Comprising Plurality of Test Cases

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203928B2 (en) * 2002-12-31 2007-04-10 Sun Microsystems, Inc. Method and system for generating and maintaining uniform test results
KR100790470B1 (ko) 2005-12-05 2008-01-02 한국전자통신연구원 디바이스 드라이버 테스트를 위한 테스트 케이스 자동 생성방법 및 장치
US8266592B2 (en) * 2008-04-21 2012-09-11 Microsoft Corporation Ranking and optimizing automated test scripts
US20100070231A1 (en) 2008-09-05 2010-03-18 Hanumant Patil Suhas System and method for test case management
KR20120040419A (ko) 2010-10-19 2012-04-27 주식회사 인프라웨어 유저 인터페이스 자동 분석을 통한 테스트 케이스 생성 방법
KR20120111154A (ko) 2011-03-31 2012-10-10 인크로스 주식회사 선순환 테스트케이스 관리 시스템 및 방법
US8954933B2 (en) * 2011-05-31 2015-02-10 International Business Machines Corporation Interactive semi-automatic test case maintenance
JP2013077124A (ja) 2011-09-30 2013-04-25 Hitachi Ltd ソフトウェアテストケース生成装置
US8954931B2 (en) * 2012-08-03 2015-02-10 Sap Se System test scope and plan optimization
KR101410099B1 (ko) 2012-12-05 2014-06-25 경북대학교 산학협력단 단위 테스트 케이스 재사용 기반의 함수 테스트 장치 및 그 함수 테스트 방법
KR101588027B1 (ko) 2014-10-10 2016-01-25 (주)씽크포비엘 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
US10127143B2 (en) * 2014-10-24 2018-11-13 International Business Machines Corporation Generating an evolving set of test cases
US10007594B2 (en) * 2015-07-21 2018-06-26 International Business Machines Corporation Proactive cognitive analysis for inferring test case dependencies
US9858177B2 (en) * 2015-10-30 2018-01-02 International Business Machines Corporation Automated test generation for multi-interface enterprise virtualization management environment
US9830255B2 (en) * 2015-12-03 2017-11-28 Wipro Limited System and method for optimizing test suite comprising plurality of test cases
US10467114B2 (en) * 2016-07-14 2019-11-05 International Business Machines Corporation Hierarchical data processor tester
US10496519B2 (en) * 2017-02-17 2019-12-03 Fujitsu Limited Method invocation synthesis for software program repair
KR101989802B1 (ko) * 2017-02-28 2019-06-18 주식회사 스패로우 테스트 케이스를 이용하여 테스트를 수행하는 방법 및 장치
AU2018200643A1 (en) * 2017-03-09 2018-09-27 Accenture Global Solutions Limited Smart advisory for distributed and composite testing teams based on production data and analytics
US10768893B2 (en) * 2017-11-20 2020-09-08 Accenture Global Solutions Limited Using similarity analysis and machine learning techniques to manage test case information
US10437712B1 (en) * 2018-06-20 2019-10-08 Ca, Inc. API functional-test generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060253741A1 (en) * 2003-10-24 2006-11-09 Electronic Arts, Inc. System and method for testing human interactive applications including computer games
US20140115565A1 (en) * 2012-10-18 2014-04-24 Microsoft Corporation Test similarity detection with method call sequence analysis
US20170199811A1 (en) * 2016-01-12 2017-07-13 Wipro Limited Method and System for Optimizing a Test Suite Comprising Plurality of Test Cases

Also Published As

Publication number Publication date
US10915432B2 (en) 2021-02-09
US20190146903A1 (en) 2019-05-16
KR20190054219A (ko) 2019-05-22

Similar Documents

Publication Publication Date Title
KR102452457B1 (ko) 테스트 케이스 관리 시스템 및 테스트 케이스 관리 방법
CN109165249B (zh) 数据处理模型构建方法、装置、服务器和用户端
US20160110826A1 (en) Forensic system, forensic method, and forensic program
US20100042613A1 (en) Method and system for automated search engine optimization
US9542474B2 (en) Forensic system, forensic method, and forensic program
US11544307B2 (en) Personnel selecting device, personnel selecting system, personnel selecting method, and recording medium
CN110688270A (zh) 视频元素资源处理方法、装置、设备及存储介质
US9251192B2 (en) Information matching apparatus, information matching system and method of matching information for outputting matching result
US10073891B2 (en) Forensic system, forensic method, and forensic program
US10489427B2 (en) Document classification system, document classification method, and document classification program
US20150339786A1 (en) Forensic system, forensic method, and forensic program
WO2022156534A1 (zh) 视频质量评估方法和装置
JP2017091479A (ja) 学習支援システム、学習支援方法、学習支援装置、および学習支援プログラム
JP2010146222A (ja) 文書分類装置、文書分類方法およびプログラム
KR20210038473A (ko) 도큐먼트 타입의 추천 방법, 장치, 전자 기기 및 판독 가능 저장 매체
CN116386813A (zh) 手术间负荷均衡方法、装置、设备及存储介质
CN115546218B (zh) 置信度阈值确定方法和装置、电子设备和存储介质
CN111191087A (zh) 字符匹配方法、终端设备及计算机可读存储介质
CN113190154A (zh) 模型训练、词条分类方法、装置、设备、存储介质及程序
JP2017111500A (ja) 文字認識装置及びプログラム
CN115050484A (zh) 基于防疫布控场景建模的分析预判方法及系统
CN109243527A (zh) 一种酶切概率辅助的肽段可检测性预测方法
US9601010B2 (en) Assessment device, assessment system, assessment method, and computer-readable storage medium
CN110706772A (zh) 一种排序方法及装置、电子设备、存储介质
US20230376538A1 (en) Sentence search apparatus, sentence search method, and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant