KR20190093959A - 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치 - Google Patents

동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치 Download PDF

Info

Publication number
KR20190093959A
KR20190093959A KR1020180013424A KR20180013424A KR20190093959A KR 20190093959 A KR20190093959 A KR 20190093959A KR 1020180013424 A KR1020180013424 A KR 1020180013424A KR 20180013424 A KR20180013424 A KR 20180013424A KR 20190093959 A KR20190093959 A KR 20190093959A
Authority
KR
South Korea
Prior art keywords
test case
test
cases
module
value
Prior art date
Application number
KR1020180013424A
Other languages
English (en)
Other versions
KR102103591B1 (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 KR1020180013424A priority Critical patent/KR102103591B1/ko
Publication of KR20190093959A publication Critical patent/KR20190093959A/ko
Application granted granted Critical
Publication of KR102103591B1 publication Critical patent/KR102103591B1/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

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)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은, 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서 스펙에 해당하는 값을 입력하는 단계; 입력된 파라미터 값을 이용하여 테스트 케이스를 생성하는 단계; 생성된 상기 테스트 케이스에 동등분할 기법을 적용하는 단계; 및 적용 결과에 따라 테스트 케이스를 추출하는 단계를 포함하는 테스트 케이스 추출 방법을 개시한다. 본 발명에 따르면, 파라미터 입력 분포에 따른 경우의 수에 해당하는 테스트 케이스로 인해 반복되는 애플리케이션의 실행 테스트에 소비되는 시간 및 비용을 줄일 수 있다.

Description

동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치{METHOD FOR EXTRACTING TEST CASE WITH BOUNDARY VALUE ANALYSIS AND EQUIVALENCE PARTITIONING, AND APPARATUS USING THE SAME}
본 발명은 경우의 수에 따라 생성된 테스트 케이스에서 동등분할 및 경계값 분석 기법에 의해 테스트 케이스를 추출하는 방법 및 이를 이용하는 테스트 케이스 추출 장치에 관한 것으로, 더욱 자세하게는 경우의 수 만큼의 테스트 케이스에 동등분할 및 경계값 분석을 적용하는 필터링을 통해 테스트 케이스를 추출하는 방법 및 이를 이용하는 장치에 관한 것이다.
소프트웨어 테스트는, 사용자가 앞으로 소프트웨어를 사용할 것을 예상하고, 사용자가 소프트웨어 사용시에 실행 가능할 것으로 예상되는 모든 형태의 명령 조합을 실행시켜, 소프트웨어 설계 과정에서 예상하지 않았던 오류를 찾아내는 과정이다.
즉, 소프트웨어 테스트는 해당 애플리케이션 실행 상의 오류를 검출하고 애플리케이션이 요구 사항에 맞게 동작하는지를 검증하는 보편적인 방법이다. 실무상으로는 테스트 목적에 맞는 테스트 케이스를 설계한 후, 이를 기반으로 테스트 실행 및 측정하고 이의 결과물로부터 소프트웨어 오류를 추적 및 수정하는 방식으로 수행된다.
소프트웨어 설계 과정에서 예상하지 않았던 오류를 찾아내는 것은 어떻게 테스트를 수행할 것인지, 즉 어떠한 명령 조합으로 소프트웨어의 동작을 요구할 것인지에 관한 테스트 케이스를 수립하는 것에 달려 있다.
소프트웨어에 해당하는 애플리케이션에 대한 모든 명령 조합에 기반하여 가능한 모든 경우의 수에 해당하는 테스트 케이스를 수립하여 테스트를 수행하는 것은 많은 시간이 소비될 뿐만 아니라, 상당수의 의미 없이 수행되는 반복 작업이 포함되어 있기 때문에, 오류가 누락되지 않도록 명령을 조합하면서 시간 및 비용을 절약할 수 있는 콤팩트한 테스트 케이스 생성이 필요하다.
즉, 테스트 케이스는 소프트웨어 테스트에 근간이 되며, 이에 따라 테스트 케이스를 얼마나 효율적으로 설계하는 지에 따라 테스트를 통해 얼마나 많은 오류를 얼마나 빨리 찾을 수 있는지가 결정된다.
테스트 케이스 생성 방법은 동등 분할 방법, 경계값 분석 방법, 인과 그래핑 방법, 에러 추측 방법 등이 존재하나, 이들 테스트 케이스 생성 방법 모두 테스트 설계자가 수동으로 설계 및 분석해야 하는 문제가 있었다. 즉, 테스트 설계자 수작업으로 종이에 테스트 케이스를 그리거나, 엑셀/워드와 같은 프로그램을 통해 테스트 케이스를 작성해야 함으로써, 테스트 케이스 작성에 상당히 많은 시간과 노력이 소요되며, 정확도도 떨어지게 되는 문제가 있었다.
또한, 테스트 케이스가 올바르게 작성되었는지 검증하는 작업을 필수적으로 수행되어야 하나, 앞서 설명된 바와 같이 테스트 케이스가 수작업으로 작성됨에 따라 테스트 케이스 검증 작업 또한 수작업 방식으로 수행되어야 하는 추가적인 문제도 발생한다.
도 1은 종래의 기술에 따른 테스트 케이스 생성방법에 관한 예시도이다.
도 1을 참조하면, 코드 및 리소스 데이터를 추출하고, 추출된 코드 및 데이터를 이용하여 메뉴트리를 생성하고, 이를 기초로 테스트 스크립트가 생성된다. 이는 테스트 대상 애플리케이션 GUI 상의 메뉴에 기반해서 테스트 케이스를 생성하는 것이며, 단순히 메뉴의 각 기능을 실행하는 것에 한정된다. 그런데, 메뉴 기반의 테스트 스크립트의 실행을 통해 수행되는 테스트에서 알고리즘 차원에서의 설계 상의 오류가 드러날 확률은 대단히 적다.
즉 사용자가 종래의 기술을 이용하는 경우, 모든 메뉴트리를 이용하여 작성된 테스트 스크립트만으로는 테스트 케이스를 작성해서 테스트를 수행하는 것과 비교하여 한계가 있다.
본 발명의 일 실시 예에 따른 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 추출 장치는, 파라미터 입력 값의 분포에 따른 경우의 수의 테스트 케이스를 기반으로 하면서, 전체 테스트 케이스 중에서 동등분할 및 경계값 분석 기법을 적용함으로써 무의미하게 반복될 수 있는 사이 입력 값에 관한 테스트가 생략될 수 있게 하고, 필터링된 테스트 케이스를 이용한 테스트만으로도 전체를 테스트를 커버하는 테스트 케이스 추출 방법에 관한 기술적 특징에 기초한다. 이러한 점에서 본 발명의 일 실시 예에 따른 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 추출 장치는, 상기 살펴본 종래기술과 구별되고 상기 종래기술이 갖는 문제점을 해결하기 위해 개시된다.
한국 공개특허공보 제10-2012-0121950호(2012.11.07.)
본 발명이 해결하고자 하는 과제는, 애플리케이션의 기능을 점검하기 위해 입력이 필요한 파라미터 입력 값의 범위를 줄일 수 있는 테스트 케이스를 추출하는 방법 및 이를 실행하는 추출 장치를 제공하는 것이다.
또한, 전체 경우의 수에 해당하는 테스트를 수행하는 대신에 동등분할 및 경계값 분석 기법을 적용함으로써 애플리케이션의 실행 테스트의 전체 범위를 커버할 수 있는 테스트 케이스 추출 방법 및 이를 이용하는 추출 장치를 제공하는 것이다.
또한, 파라미터 입력 분포에 따른 경우의 수에 해당하는 테스트 케이스로 인해 반복되는 애플리케이션의 실행 테스트에 소비되는 시간 및 비용을 줄일 수 있는 테스트 케이스 추출 방법 및 이를 이용하는 추출 장치를 제공하는 것이다.
본 발명의 일 실시 예에 따른 테스트 케이스 추출 방법은, 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서 스펙에 해당하는 값을 입력하는 단계; 입력된 파라미터 값을 이용하여 테스트 케이스를 생성하는 단계; 생성된 상기 테스트 케이스에 동등분할 기법을 적용하는 단계; 및 적용 결과에 따라 테스트 케이스를 추출하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 값은, 최대값 및 최소값을 포함하는 것을 특징으로 한다.
여기서, 상기 테스트 케이스를 생성하는 단계는, 입력된 파라미터 값의 구간에서 발생 가능한 경우의 수를 산출하는 단계; 및 상기 경우에 수에 해당하는 테스트 케이스를 생성하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 경우의 수를 산출하는 단계는, 입력된 파라미터 값의 구간에서 소수점 입력에 의한 경우의 수가 포함되게 경우의 수를 산출하는 것을 특징으로 한다.
여기서, 상기 동등분할 기법을 적용하는 단계는, 동등 분할 기법에 추가적으로 경계값 분석 기법을 적용하는 것을 특징으로 한다.
본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치는, 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서 스펙에 해당하는 값을 입력받는 입력 모듈; 입력된 파라미터 값을 이용하여 테스트 케이스를 생성하는 테스트 케이스 생성 모듈; 생성된 상기 테스트 케이스에 동등분할 기법을 적용하는 필터링 모듈; 및 상기 적용 결과에 따라 테스트 케이스를 추출하는 테스트 케이스 추출 모듈을 포함하는 것을 특징으로 한다.
여기서, 상기 값은, 최대값 및 최소값을 포함하는 것을 특징으로 한다.
여기서, 테스트 케이스 추출 장치는, 입력된 파라미터 값의 구간에서 발생 가능한 경우의 수를 산출하는 경우의 수 연산 모듈을 더 포함하고, 상기 테스트 케이스 생성 모듈은, 상기 경우에 수에 해당하는 테스트 케이스를 생성하는 것을 특징으로 한다.
여기서, 상기 경우의 수 연산 모듈은, 입력된 파라미터 값의 구간에서 소수점 입력에 의한 경우의 수가 포함되게 경우의 수를 산출하는 것을 특징으로 한다.
여기서, 상기 필터링 모듈은, 동등 분할 기법에 추가적으로 경계값 분석 기법을 적용하는 것을 특징으로 한다.
본 발명에 의하면, 애플리케이션의 기능을 점검하기 위해 입력이 필요한 파라미터 입력 값의 범위를 줄일 수 있는 테스트 케이스를 추출할 수 있다.
또한, 전체 경우의 수에 해당하는 테스트를 수행하는 대신에 동등분할 및 경계값 분석 기법을 적용함으로써 애플리케이션의 실행 테스트의 전체 범위를 커버할 수 있다.
또한, 파라미터 입력 분포에 따른 경우의 수에 해당하는 테스트 케이스로 인해 반복되는 애플리케이션의 실행 테스트에 소비되는 시간 및 비용을 줄일 수 있다.
도 1은 종래의 기술에 따른 테스트 케이스 생성방법에 관한 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 구성을 나타내는 예시도이다.
도 3은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 구성을 나타내는 예시도이다.
도 4는 도 3을 상세히 표시한 예시도이다.
도 5는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 블록도이다.
도 6은 도 5의 제어부를 상세히 표시한 블록도이다.
도 7은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치에 해당하는 컴퓨팅 장치의 블록도이다.
도 8은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 방법의 흐름도이다.
도 9는 본 발명의 일 실시 예에 따른 순서도 작성을 설명하기 위한 예시도이다.
각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 일 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.
먼저 테스트 케이스 추출 및 테스트가 수행되는 시스템 환경에 대해 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 구성을 나타내는 예시도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치(100)는 소프트웨어의 실행 테스트 전에 테스트 케이스를 추출하고, 추출된 테스트 케이스를 이용하여 테스트를 수행하도록 단일 시스템으로 구성될 수 있다. 즉 상기 테스트 케이스 추출 장치(100)는 테스트 케이스 추출을 위한 모듈(175)과 테스트 대상 애플리케이션 모듈(179)을 단일의 장치 내에서 구동시켜 테스트 작업을 수행한다. 그리고 테스트 과정에서 필요한 비교 이미지 DB, 소스 코드 및 각종 데이터 등이 DB(300)를 통해 제공될 수 있다.
위와 같은 스탠드 얼론 모델과 비교하여, 네트워크에 연결된 복수의 테스트 대상 애플리케이션 구동 장치를 이용하여 소프트웨어 테스트가 수행될 수도 있다.
도 3은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 구성을 나타내는 예시도이다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 테스트 케이스 추출 및 테스트 수행을 위한 시스템 환경(1)은 테스트 케이스 추출 장치에 해당하는 사용자 단말(100), 테스트 대상 애플리케이션 구동 장치(200), 데이터베이스(300) 및 네트워크(400)를 포함한다. 사용자 단말(100)은 테스트 케이스 추출을 수행하고, 추가로 해당 소프트웨어 실행 테스트를 수행할 수도 있다. 이와 같은 시스템 환경(1)에서는 다양한 플랫폼(200)에서 구동되는 테스트 대상 애플리케이션에 대한 테스트가 사용자 단말(100)에 의해 수행될 수 있다.
도 4는 도 3을 상세히 표시한 예시도이다.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 시스템 환경(1)에서 테스트 케이스 추출 장치에 해당하는 사용자 단말(100), 테스트 대상 애플리케이션 구동 장치(200), 데이터베이스(300) 및 네트워크(400)가 구비된다. 상기 환경에서 테스트 케이스의 추출을 포함하는 테스트의 실행과 테스트 대상 애플리케이션의 구동은 분리되어 수행된다. 테스트 케이스의 추출 및 테스트 케이스의 추출 후에 이를 이용한 테스트는 통합 테스트 케이스 추출 모듈(175)에 의해 수행될 수 있다. 그리고 테스트 대상 애플리케이션 구동 장치(200)는 다양한 플랫폼에서 테스트 대상 애플리케이션 모듈(275)을 구동한다.
네트워크(400)는 유선 및 무선 네트워크, 예를 들어 인터넷(internet), 인트라넷(intranet) 및 엑스트라넷(extranet), 셀룰러, 예를 들어 무선 전화 네트워크, LAN(local area network), WAN(wide area network), WiFi 네트워크, 애드혹 네트워크 및 이들의 조합을 비롯한 임의의 적절한 통신 네트워크 일 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다.
이하 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치(100)의 구성에 대해 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 블록도이다.
도 5를 참조하면, 테스트 케이스 추출 장치(100)는, 입력 디바이스(110), 디스플레이 디바이스(120), 출력 디바이스(130), 저장 장치(140), 통신 장치(150), 전원 장치(160) 및 제어부(170)를 포함한다. 그리고 제어부(170)는 통합 테스트 케이스 추출 모듈(175)을 포함한다. 통신 장치(150)는 송신부(151) 및 수신부(152)를 포함한다.
입력 디바이스(110)는 테스트 대상 애플리케이션 모듈을 테스트하기 위해 필요한 테스트 케이스를 추출함에 있어서, 통합 테스트 케이스 추출 모듈(175)을 구동하고 조작하는 데 필요한 입력을 수행하는 키보드, 터치스크린, 마우스, 전자펜 및 음성 입력장치, 예를 들어 마이크로폰을 포함하되, 이에 한정되는 것은 아니다.
디스플레이 디바이스(120)는 통합 테스트 케이스 추출 모듈(175)의 그래픽 사용자 인터페이스(GUI) 화면의 프레임 출력을 수행하는 브라운관(cathode-ray tube, CRT), 액정 디스플레이(liquid crystal display, LCD), 플라즈마 디스플레이 패널(plasma display panel, PDP), 발광다이오드 (light emitting diode, LED) 디스플레이, 유기 발광다이오드(organic light emitting diode, OLED) 디스플레이를 포함하되, 이에 한정되는 것은 아니다.
출력 디바이스(130)는 프린터, 플로터, 빔프로젝터, 텍스트 음성 변환(text to sound, TTS) 장치와 스피커 및 이어폰을 포함하되, 이에 한정되는 것은 아니다.
저장 장치(140)는 테스트 케이스 추출 장치(100)로부터 분리가 가능/불가능한 모든 형태로서, 자기테이프, 자기드럼, 플로피 디스크, ZIP 드라이브 및 하드 디스크 드라이브(hard disk drive, HDD)와 같은 자기 방식의 저장장치, SD 카드, USB 메모리 및 솔리드 스테이트 드라이브(solid state drive, SSD)와 같은 플래시 메모리를 이용하는 전기 방식의 저장장치 및 CD-ROM 드라이브, DVD-ROM 드라이브, 블루레이 디스크(blu-ray disc) 드라이브와 같은 광학 방식의 저장장치를 포함하되, 이에 한정되는 것은 아니다.
통신 장치(150)는 네트워크(400)의 각종 통신망에 대응하는 통신 모듈, 예를 들어 블루투스 모듈, WiFi 모듈, 이더넷 인터페이스 카드, USB 모듈, 셀룰러 무선통신 모듈, 모뎀 및 무선 공유기를 포함하되, 이에 한정되는 것은 아니다. 통신 장치(150)는 내부에 송신부(151) 및 수신부(152)를 포함한다.
전원 장치(160)는 AC를 DC로 변환하는 파워 서플라이, 어댑터, SMPS와 리튬이온 전지, 납축전지, 연료 전지 및 바이오에탄올 전지와 같은 2차 전지와 그 밖의 1차 전지를 포함하되, 이에 한정되는 것은 아니다.
제어부(170)는 통합 테스트 케이스 추출 모듈(175)을 포함한다. 여기서 통합 테스트 케이스 추출 모듈(175)은 메모리 영역에 저장되어서, 프로세서와의 상호작용에 의해 테스트 케이스 추출 방법을 수행한다. 제어부(170)는 사용자 선택 또는 설정에 따라 통합 테스트 케이스 추출 모듈(175)이 포함하는 명령어 셋을 실행한다. 이하 제어부(170)에 대하여 상세히 설명하도록 한다.
도 6은 도 5의 제어부를 상세히 표시한 블록도이다.
도 6을 참조하면, 제어부(170)는 프로세서(central processing unit, CPU)(178)와, 운영체제(176) 및 본 발명의 일 실시 예에 따른 통합 테스트 케이스 추출 모듈(175)이 로드된 메모리(177)를 포함한다.
구체적으로 통합 테스트 케이스 추출 모듈(175)은 메모리(177) 영역에서, 통합 테스트 케이스 추출 방법을 수행하는 각종 컴퓨터 명령어 셋이 포함된 입력 모듈(171), 테스트 케이스 생성 모듈(172), 동등분할 모듈(173a) 및 경계값 분석 모듈(173b)을 포함하는 필터링 모듈(173) 및 테스트 케이스 추출 모듈(174)을 포함한다.
제어부(170)는 테스트 케이스 추출 방법이 구현되도록 테스트 케이스 추출 장치(100) 내의 각 구성요소 및 모듈들을 제어한다.
운영 체제(176)는 프로그램 호환성 자동테스트 장치(100)의 파일 시스템, 각종 인터페이스를 관리 및 컴포넌트들의 동작을 제어하기 위한 컴퓨터 운영 프로그램이다. 운영 체제(176)는 그 예로서, 유선 및 모바일 디바이스의 운영 체제, 예를 들어 MS 윈도우, 유닉스, 리눅스, XOS, 안드로이드, iOS 운영 체제를 포함하고, 다만 이에만 한정되는 것은 아니다.
통합 테스트 케이스 추출 모듈(175)은 본 발명에 기술된 것과 같은 다양한 기능을 제공하기 위해 운영 체제(176) 상에서 실행되도록 구성된 실행가능 프로그램이다. 테스트 케이스 추출 모듈(175)은 입력 모듈(171), 테스트 케이스 생성 모듈(172), 동등분할 모듈(173a) 및 경계값 분석 모듈(173b)을 포함하는 필터링 모듈(173) 및 테스트 케이스 추출 모듈(174)을 포함한다. 통합 테스트 케이스 추출 모듈(175)이 포함하는 각종 모듈들(171 내지 174)에 대한 자세한 설명은 후술하기로 한다.
도 6에 도시된 테스트 프로그램 모듈(175) 내의 구성은 설명의 편의를 위해 기능적으로 구분한 구성으로, 하드웨어적으로는 하나의 프로세서에 의해 처리되는 논리적인 기능으로 구성될 수 있는 것으로, 제시된 구분에 의해 본 발명을 한정하는 것은 아니다.
또한, 각 구성간의 연결 관계가 연결선으로 도시되어 있거나, 상호 간의 연결 관계가 일일이 표현되어 있지 않지만, 연결선이 도시되지 않은 구성 간에도 제어 또는 데이터 교환을 위한 통신, 전달이 발생될 수 있으며, 제시된 바에 의해서만 본 발명을 한정하는 것은 아니다.
본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치(100)는 컴퓨팅 장치(500)에 해당될 수 있다. 이하 컴퓨팅 장치(500)에 해당하는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치(100)는 실시 예를 통해 보다 구체적으로 설명될 수 있다.
컴퓨팅 장치(500)는 하나 이상의 CPU(central processing unit)들, 메모리, 대용량 저장소, 입력 인터페이스 장치, 출력 인터페이스 장치로 구성된 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 시스템의 요소들은 버스를 통해 서로 통신할 수 있다.
컴퓨팅 장치(500)의 하드웨어 플랫폼은 개인용 컴퓨터, 핸드헬드 또는 랩톱 디바이스, 다중 프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가전제품, 및 이상의 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 예컨대 클라우드 기반 컴퓨팅 시스템을 비롯한 많은 형태들로 구현될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 장치의 블록도이다.
도 7을 참조하면, 테스트 케이스 추출 장치(100)와 테스트 대상 애플리케이션 구동 장치(200)에 해당하는 컴퓨팅 장치(500)는 입력 인터페이스 장치(510), 출력 인터페이스 장치(520), 메모리(531), 저장장치(532), 전원 장치(540), 프로세서(550), 네트워크 인터페이스 장치(560), 무선통신 장치(570) 및 버스(580)를 포함한다.
입력 인터페이스 장치(510)는 사용자의 입력에 따라 문서작성에 필요한 문자 또는 개체를 입력한다. 입력 인터페이스 장치(510)는 키보드(keyboard), 터치스크린(touch screen), 마우스(mouse), 전자펜(stylus pen) 및 펜 태블릿(pen tablet)을 포함하되, 이에 한정되는 것은 아니다.
출력 인터페이스 장치(520)는 통합 테스트 케이스 추출 모듈(175) 관련 GUI 등을 표시하는 디스플레이(display) 및 문서를 프린트 출력하는 프린터(printer)를 포함한다. 또한, 출력 인터페이스 장치(520)는 문서 내의 문자를 음성합성(text to speech, TTS) 엔진을 이용하여 음성으로 출력하는 스피커(speaker), 헤드폰(head-phone) 및 헤드셋(head-set)을 포함한다.
프로세서(550)는 메모리(531) 및/또는 저장 장치(532)에 저장된 본 발명의 일 실시 예에 따른 테스트 케이스 추출 방법에 관한 통합 테스트 케이스 추출 모듈(175)이 포함하고 있는 컴퓨터 명령어 셋을 실행할 수 있다. 프로세서(550)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(531)와 저장 장치(532)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(531)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
무선통신 장치(570)는 근거리 무선통신, 무선 데이터 통신 및 무선 음성 통신을 위한 장치를 포함한다.
컴퓨팅 장치(500)에 포함된 각각의 구성 요소들은 버스(580)에 의해 연결되어 서로 통신을 수행한다.
이하 상기 설명한 테스트 케이스 추출 장치(100)가 통합 테스트 케이스 추출 모듈(175)에 포함된 컴퓨터 명령어 셋의 연산을 통해 실행하는 본 발명의 일 실시 예에 따른 테스트 케이스 추출 방법에 대해 도 5, 도 6 및 도 8 내지 도 9를 참조하여 설명하기로 한다.
도 8은 본 발명의 일 실시 예에 따른 테스트 케이스 추출 방법의 흐름도이다.
도 8을 참조하면, 테스트 케이스 추출 방법(S100)은 S110 내지 S140 단계를 포함한다.
입력 상자 유효성 검사의 예시로서 오피스 프로그램의 글자 크기 기능의 유효성 검사를 예로 들어 이하 설명하기로 한다.
오피스 프로그램의 글자 크기 기능의 유효성의 수치는 최소값은 1, 최대값은 3이라고 가정한다. 이 경우 글자 크기 파라미터의 입력 값은 정수만 가능하고 소수점 이하 값이 포함된 값이 입력되면 반올림하여 정수로 입력되도록 구성된다. 최대값에 4가 입력된 경우 글자 크기가 4로 변경되는 문제가 발생하여 1차 수정된 상태에서 점검이 필요하다. 이하 2차 점검을 위한 테스트 케이스를 추출하는 과정이 개시된다.
먼저, 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서, 입력 모듈(171)을 통해 스펙에 해당하는 값을 입력한다(S110). 위의 예시에서, 최소값으로 1이 입력되고, 최대값으로 3이 입력된다.
다음으로 입력된 파라미터 값을 이용하여 테스트 케이스 생성 모듈(172)을 통해 테스트 케이스를 생성한다(S120). S120 단계는 S121 및 S122 단계를 포함한다.
구체적으로 입력 모듈(171)을 통해 입력된 파라미터 값의 구간에서 발생 가능한 경우의 수를 산출한다(S121). 다음으로 테스트 케이스 생성 모듈(172)을 통해 경우의 수에 해당하는 테스트 케이스를 생성한다(S122). 위의 예시에서, 최소값으로 1이 입력되고, 최대값으로 3이 입력된 상태에서, 경우의 수는 0 내지 4 구간에서 생성될 수 있도록 설정될 수 있다. 즉, 최소값 또는 최대값을 포함하는 영역까지 확장하여 경우의 수가 산출될 수 있다. 0 내지 4 구간에서, 정수는 4개, 소수점 이하 한자리까지 나타내는 지점을 경우에 수에 포함시키면, 0.1 내지 0.9의 구간이 3개 존재하므로, 전체 경우의 수는, 4+4*9=40개로 산출된다. 그리고 테스트 케이스 생성 모듈은 산출된 40개의 경우에 수에 해당하는 테스트 케이스를 생성한다.
다음으로 필터링 모듈(173), 특히 동등분할 모듈(173a)을 통해 생성된 상기 테스트 케이스에 동등분할 기법을 적용한다(S130).
도 9는 본 발명의 일 실시 예에 따른 동등분할과 경계값 분석을 설명하기 위한 예시도이다.
도 9를 참조하면서, 생성된 40개의 테스트 케이스에 동등분할, 경계값 분석 및 동등분할 & 경계값 분석을 적용하는 방법에 대해 설명하기로 한다.
먼저, 동등분할에 대해 설명하기로 한다. 소수점 이하 자리가 포함된 값의 경우, 소수점 이하 값의 반올림에 따라, 즉 버림/올림에 따라 최종 정수가 결정된다. 따라서 반올림 작용이 기준이 되어, 각 정수의 X.4 지점과 X.5 지점 사이에서 분할이 발생한다. 이러한 이치에 따라 0 내지 4 구간의 소수점 이하 지점에서 동등분할을 수행하면, 8개의 동등분할 구간이 발생한다. 즉 각 동등분할 구간 내에 있는 지점은 동일 결과 값을 출력하므로 하나의 지점으로 취급될 수 있다.
다음으로 경계값 분석 기법을 생성된 테스트 케이스에 적용하기로 한다. 40개의 테스트 케이스 중에서 경계값 분석 기법을 적용하여, 경계값에 해당하는 지점에 해당하는 테스트 케이스는 필터링 과정에서 패스하도록 할 수 있다. 즉, 경계값에 해당하는 0, 1 내지 4 구간의 정수에 대해서는 경계값 분석에 의해 해당 테스트 케이스가 추출된다.
그리고 마지막으로 동등분할된 구간에 경계값 분석 기법을 적용하기로 한다. 전체 동등분할된 구간은 8개가 존재한다. 각 구간에 경계값 분석 기법을 적용하면, 각 구간 내에서 경계값에 해당하는 0, 1 내지 4 구간의 정수와 가까운 점을 경계값으로 추출된다. 즉 제1 구간에서는 0.1이, 제2 구간에서는 0.9가 추출되고, 마지막 구간에서는 3.9가 경계값으로 추출된다. 이상 0, 1 내지 4 구간의 정수 및 2*4개의 소수점 이하 값이 추출되므로, 최종적으로 13개 파라미터 값에 해당하는 테스트 케이스가 추출된다. 즉 동등분할 및 경계값 분석 기법을 적용한 결과 테스트 케이스들의 수가 40에서 13으로 줄었다.
최종적으로 상기 적용 결과에 따라 테스트 케이스 추출 모듈(174)을 통해 테스트 케이스를 추출한다(S140). 상기 실시 예에서, 경계값을 포함하여 동등분할 및 경계값 분석에 따라 13개의 테스트 케이스가 추출된다.
상기 도면을 통해 설명된 일 실시 예에 따른 테스트 케이스 추출 방법(S100)은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행이 가능한 명령어 셋을 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
이와 같이 본 발명의 일 실시 예에 따르면, 애플리케이션의 기능을 점검하기 위해 입력이 필요한 파라미터 입력 값의 범위를 줄일 수 있는 테스트 케이스를 추출할 수 있다.
또한, 전체 경우의 수에 해당하는 테스트를 수행하는 대신에 동등분할 및 경계값 분석 기법을 적용함으로써 애플리케이션의 실행 테스트의 전체 범위를 커버할 수 있다.
또한, 파라미터 입력 분포에 따른 경우의 수에 해당하는 테스트 케이스로 인해 반복되는 애플리케이션의 실행 테스트에 소비되는 시간 및 비용을 줄일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 테스트 케이스 추출 장치
110: 입력 디바이스
120: 디스플레이 디바이스
130: 출력 디바이스
140: 저장 장치
150: 통신 장치
151: 송신부
152: 수신부
160: 전원 장치
170: 제어부
171: 입력 모듈
172: 테스트 케이스 생성 모듈
173: 필터링 모듈
173a: 동등분할 모듈
173b: 경계값 분석 모듈
174: 테스트 케이스 추출 모듈
175: 통합 테스트 케이스 추출 모듈
176: 운영 체제
177: 메모리
178: CPU
200: 서버
210: 데이터베이스
400: 네트워크
500: 컴퓨팅 장치
510: 입력 인터페이스 장치
520: 출력 인터페이스 장치
531: 메모리
532: 저장장치
540: 전원 장치
550: 프로세서
560: 네트워크 인터페이스 장치
570: 무선통신 장치
580: 버스

Claims (10)

  1. 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서 스펙에 해당하는 값을 입력하는 단계;
    입력된 파라미터 값을 이용하여 테스트 케이스를 생성하는 단계;
    생성된 상기 테스트 케이스에 동등분할 기법을 적용하는 단계; 및
    적용 결과에 따라 테스트 케이스를 추출하는 단계를 포함하는 것을 특징으로 하는, 테스트 케이스 추출 방법.
  2. 청구항 1에 있어서,
    상기 값은,
    최대값 및 최소값을 포함하는 것을 특징으로 하는, 테스트 케이스 추출 방법.
  3. 청구항 1에 있어서,
    상기 테스트 케이스를 생성하는 단계는,
    입력된 파라미터 값의 구간에서 발생 가능한 경우의 수를 산출하는 단계; 및
    상기 경우에 수에 해당하는 테스트 케이스를 생성하는 단계를 포함하는 것을 특징으로 하는, 테스트 케이스 추출 방법.
  4. 청구항 3에 있어서,
    상기 경우의 수를 산출하는 단계는,
    입력된 파라미터 값의 구간에서 소수점 입력에 의한 경우의 수가 포함되게 경우의 수를 산출하는 것을 특징으로 하는, 테스트 케이스 추출 방법.
  5. 청구항 1에 있어서,
    상기 동등분할 기법을 적용하는 단계는,
    동등 분할 기법에 추가적으로 경계값 분석 기법을 적용하는 것을 특징으로 하는, 테스트 케이스 추출 방법.
  6. 애플리케이션의 기능을 실현함에 있어 필요한 파라미터를 입력 받는 입력 상자(input box) 유효성 검사를 함에 있어서 스펙에 해당하는 값을 입력받는 입력 모듈;
    입력된 파라미터 값을 이용하여 테스트 케이스를 생성하는 테스트 케이스 생성 모듈;
    생성된 상기 테스트 케이스에 동등분할 기법을 적용하는 필터링 모듈; 및
    상기 적용 결과에 따라 테스트 케이스를 추출하는 테스트 케이스 추출 모듈을 포함하는 것을 특징으로 하는, 테스트 케이스 추출 장치.
  7. 청구항 1에 있어서,
    상기 값은,
    최대값 및 최소값을 포함하는 것을 특징으로 하는, 테스트 케이스 추출 장치.
  8. 청구항 1에 있어서,
    입력된 파라미터 값의 구간에서 발생 가능한 경우의 수를 산출하는 경우의 수 연산 모듈을 더 포함하고,
    상기 테스트 케이스 생성 모듈은,
    상기 경우에 수에 해당하는 테스트 케이스를 생성하는 것을 특징으로 하는, 테스트 케이스 추출 장치.
  9. 청구항 3에 있어서,
    상기 경우의 수 연산 모듈은,
    입력된 파라미터 값의 구간에서 소수점 입력에 의한 경우의 수가 포함되게 경우의 수를 산출하는 것을 특징으로 하는, 테스트 케이스 추출 장치.
  10. 청구항 1에 있어서,
    상기 필터링 모듈은,
    동등 분할 기법에 추가적으로 경계값 분석 기법을 적용하는 것을 특징으로 하는, 테스트 케이스 추출 장치.
KR1020180013424A 2018-02-02 2018-02-02 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치 KR102103591B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180013424A KR102103591B1 (ko) 2018-02-02 2018-02-02 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180013424A KR102103591B1 (ko) 2018-02-02 2018-02-02 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치

Publications (2)

Publication Number Publication Date
KR20190093959A true KR20190093959A (ko) 2019-08-12
KR102103591B1 KR102103591B1 (ko) 2020-04-23

Family

ID=67624971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180013424A KR102103591B1 (ko) 2018-02-02 2018-02-02 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치

Country Status (1)

Country Link
KR (1) KR102103591B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100031321A (ko) * 2008-09-12 2010-03-22 성균관대학교산학협력단 로봇 소프트웨어 컴포넌트의 계층별 테스트방법
KR20120121950A (ko) 2011-04-28 2012-11-07 (주)아이엔에스랩 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법
KR101587279B1 (ko) * 2014-10-31 2016-02-03 한국철도기술연구원 Msc 입력을 위한 인터페이스를 갖는 소프트웨어 테스팅 장치 및 그 방법
KR101704338B1 (ko) * 2016-02-12 2017-02-08 강원대학교산학협력단 실시간 시스템을 위한 테스트 케이스 생성 장치 및 방법
KR101716480B1 (ko) * 2015-10-21 2017-03-15 엘에스산전 주식회사 Gui 기반의 테스트케이스 입력 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100031321A (ko) * 2008-09-12 2010-03-22 성균관대학교산학협력단 로봇 소프트웨어 컴포넌트의 계층별 테스트방법
KR20120121950A (ko) 2011-04-28 2012-11-07 (주)아이엔에스랩 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법
KR101587279B1 (ko) * 2014-10-31 2016-02-03 한국철도기술연구원 Msc 입력을 위한 인터페이스를 갖는 소프트웨어 테스팅 장치 및 그 방법
KR101716480B1 (ko) * 2015-10-21 2017-03-15 엘에스산전 주식회사 Gui 기반의 테스트케이스 입력 장치
KR101704338B1 (ko) * 2016-02-12 2017-02-08 강원대학교산학협력단 실시간 시스템을 위한 테스트 케이스 생성 장치 및 방법

Also Published As

Publication number Publication date
KR102103591B1 (ko) 2020-04-23

Similar Documents

Publication Publication Date Title
CN106940428B (zh) 芯片验证方法、装置及系统
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
EP3822840A3 (en) Method, apparatus, computer storage medium and program for authenticating a chip design
CN106528100A (zh) 用于安全关键软件开发的基于模型的技术和过程的系统和方法
US20230004411A1 (en) Method, apparatus and device for generating bare metal server linux system
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
CN104182335A (zh) 软件测试方法和装置
US10656934B2 (en) Efficient software testing
EP3443460B1 (en) Method, apparatus, and computer-readable medium for performing functional testing of software
US9002694B2 (en) Verification of design derived from power intent
US20220076012A1 (en) Vision-based cell structure recognition using hierarchical neural networks and cell boundaries to structure clustering
US9477582B2 (en) Executable software specification generation
CN113342669A (zh) 一种缩短芯片代码覆盖率收敛时间的验证方法及装置
US10318403B2 (en) Code update based on detection of change in runtime code during debugging
CN110737509B (zh) 热迁移处理方法及装置、存储介质和电子设备
CN110633258B (zh) 日志插入方法、装置、计算机装置及存储介质
KR102103591B1 (ko) 동등분할 및 경계값 분석 기법을 적용한 테스트 케이스 추출 방법 및 이를 이용하는 테스트 케이스 추출 장치
KR102087210B1 (ko) 알고리즘을 통한 테스트 케이스 생성 및 페어와이즈 조합 기법을 사용한 테스트 케이스 추출 방법 및 이를 이용하는 추출 장치
CN115328891A (zh) 数据迁移方法、装置、存储介质及电子设备
CN109460226A (zh) 测试证件图像生成方法、装置、设备及存储介质
CN107515720A (zh) 一种消息处理方法、介质、装置和计算设备
EP2782005A1 (en) Verifying state reachability in a statechart model having computer program code embedded therein
US9697018B2 (en) Synthesizing inputs to preserve functionality
KR20150052725A (ko) 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right