[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102691045B1 - 블랙박스 테스트 장치 및 방법 - Google Patents

블랙박스 테스트 장치 및 방법 Download PDF

Info

Publication number
KR102691045B1
KR102691045B1 KR1020210110643A KR20210110643A KR102691045B1 KR 102691045 B1 KR102691045 B1 KR 102691045B1 KR 1020210110643 A KR1020210110643 A KR 1020210110643A KR 20210110643 A KR20210110643 A KR 20210110643A KR 102691045 B1 KR102691045 B1 KR 102691045B1
Authority
KR
South Korea
Prior art keywords
scenario
black box
test
unit
message
Prior art date
Application number
KR1020210110643A
Other languages
English (en)
Other versions
KR20230028846A (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 KR1020210110643A priority Critical patent/KR102691045B1/ko
Publication of KR20230028846A publication Critical patent/KR20230028846A/ko
Application granted granted Critical
Publication of KR102691045B1 publication Critical patent/KR102691045B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • 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/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 시나리오 기반으로 블랙박스 테스트를 수행하도록 구현한 블랙박스 테스트 장치 및 방법에 관한 것으로, 시나리오부가 테스트 타깃 장비에 설치된 소프트웨어의 블랙박스 테스트를 수행하기 위한 시나리오를 작성하여 저장해 두며; 실행부가 시나리오부에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 블랙박스 테스트 결과 데이터를 전달하며; 검증부가 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 예상 결과 데이터를 실행부에서 전달한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증한다.

Description

블랙박스 테스트 장치 및 방법{Black box test apparatus and method}
본 발명의 기술 분야는 블랙박스 테스트 장치 및 방법에 관한 것으로, 특히 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 시나리오 기반으로 블랙박스 테스트를 수행하도록 구현한 블랙박스 테스트 장치 및 방법에 관한 것이다.
전기나 전자 기기를 개발함에 있어서, 기기들에 탑재되는 소프트웨어(즉, 프로그램)의 종류가 다양하고, 이에 따라 소프트웨어들은 그 종류의 다양성에 맞추어 다양한 환경에서 실행되어야 하며, 이로 인해 소프트웨어들의 실행을 테스트하기 위한 테스트 실행 환경 구축도 매우 복잡해지고 있다. 이러한 전기나 전자 기기에 탑재된 소프트웨어들이 정상적으로 동작하는지의 여부를 확인하기 위해서는, 테스트의 대상이 되는 소프트웨어를 테스트 케이스(test case)에 따라 실행하게 된다.
이러한 테스트 케이스는, 소프트웨어의 테스트를 위한 테스트 입력 값, 실행 조건, 예상 결과 값 등의 집합을 의미하며, 이때 적어도 하나의 테스트 케이스는 테스트 스위트(test suite)를 구성할 수 있다. 다시 말해서, 전기나 전자 기기를 테스트하기 위해 제공되는 테스트 케이스는, 복수 개의 테스트 케이스들로 이루어진 테스트 스위트가 될 수 있다.
소프트웨어의 개발 결과를 검증하는데 소비되는 시간과 비용을 절감하기 위해서, 테스트 스위트를 자동으로 생성하기 위한 다양한 방식의 테스트 스위트 생성 장치 및 방법들이 개발되어 왔다. 이러한 테스트 스위트 생성 장치 및 방법은 크게 소스 기반(source-based)의 화이트 박스 테스트(white box test) 방식과 명세 기반(specification-based)의 블랙박스 테스트(black box test)로 구분된다. 여기서, 블랙박스 테스트는 명세 기반 테스트라고도 불리며, 프로그램이 설치되어 있는 시스템을 구성하는 컴포넌트나 시스템의 내부 구조에 대한 자세한 지식 없이 명세 내지 프로그램의 입출력을 분석하여 테스트 스위트를 생성하고, 생성된 테스트 스위트를 이용하여 소프트웨어의 결함 내지 성능 저하를 발견하는 테스트 방법이다.
이러한 블랙박스 테스트는, 시스템이 결함 없이 작동하고 명세에 맞게 작동하는지를 테스트하는데 많이 사용되며, 대부분 UML(unified modeling language)과 같은 모델링 언어를 기반으로 하여 테스트 스위트를 생성하며, 접근 방식에 따라서 랜덤(random) 방식, 목표 지향적(goal-oriented) 방식, 경로(path) 생성 방식 등으로 구분될 수 있다. 그러나 이러한 접근 방식을 이용하는 블랙박스 테스트의 경우, 테스트하고자 하는 테스트 케이스의 경우의 수가 너무 많은 문제로 인해 소프트웨어의 테스트 시 시간 및 비용이 과도하게 소비되는 단점이 있었다.
한국등록특허 제10-1160482호(2012.06.21. 등록)는 테스트 스위트 생성 장치 및 방법에 관하여 개시되어 있는데, 소프트웨어의 블랙박스 테스트를 위한 테스트 스위트를 생성하는 장치에 있어서, 소프트웨어의 명세로부터 소프트웨어로 입력되는 사용자 입력들에 대한 정보 및 블랙박스 테스트를 통해 테스트하고자 하는 소프트웨어의 실행 결과에 대한 정보를 추출하는 정보추출부; 사용자 입력들에 대한 정보를 이용하여 소프트웨어의 실행과 관련된 단위 이벤트를 발생시키기 위한 단위 사용자 입력들을 생성하는 단위 사용자 입력 생성부; 및 단위 사용자 입력들 중 적어도 하나가 조합(combination)된 하나 이상의 제1 단위 사용자 입력 세트(set)와 소프트웨어 실행 결과 사이의 적합도의 연산, 하나 이상의 제1 단위 사용자 입력 세트 중에서 기 설정된 기준 적합도보다 높은 적합도를 갖는 적어도 하나의 제1 단위 사용자 입력 세트의 선택, 및 선택된 적어도 하나의 제1 단위 사용자 입력 세트를 변형한 하나 이상의 제2 단위 사용자 입력 세트의 생성을 n회(n은 2 이상의 정수임)만큼 순차적으로 반복 수행하여 테스트 스위트를 생성하는 테스트 스위트 생성부를 포함하되, 적합도는 소프트웨어의 실행 시 발생할 수 있는 결함 또는 성능 저하와 비례하는 값을 가지고, 제1 단위 사용자 입력 세트의 변형(제2 단위 사용자 입력 세트의 생성)은 제1 단위 사용자 입력 세트 내에 포함되는 적어도 하나의 단위 사용자 입력의 일부를 다른 사용자 입력으로 변경하는 것이며, 반복 수행 중 i-1번째(i는 2 이상 n 이하의 정수임) 수행 단계에서의 제2 단위 사용자 입력 세트는 i번째 수행 단계에서의 제1 단위 사용자 입력 세트와 대응되고, i번째 수행 단계에서의 제2 단위 사용자 입력 세트는 i+1번째 수행 단계에서의 제1 단위 사용자 입력 세트와 대응되며, 테스트 스위트 생성부는 n회만큼의 순차 반복 수행 후에 생성되는 하나 이상의 제2 단위 사용자 입력 세트를 이용하여 테스트 스위트를 생성하는 것을 특징으로 한다. 개시된 기술에 따르면, 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트에 이용되는 테스트 스위트를 생성함에 있어서, 소프트웨어의 블랙박스 테스트 시 수행하여야 할 테스트의 경우의 수를 줄임으로써 테스트에 소비되는 시간 및 비용을 줄일 수 있으며, 또한 다양한 테스트 환경에 맞추어 자동으로 테스트 스위트를 생성할 수 있다.
한국등록특허 제10-1291817호(2013.07.25. 등록)는 개발된 임베디드 시스템에서 전장품 단위나 통합 테스트에 적용할 수 있는 블랙박스 테스트를 위해서, 일반적인 정형 요구사항 모델(특히, Matlab Simulink/Stateflow와 도형화된 시스템 요구사항)로부터 커버리지 기반으로 테스트 케이스를 자동으로 생성하도록 하며, Simulink/Stateflow나 도형화된 시스템 요구사항을 다른 형태로 변환하지 않고, 해당 요구사항의 내부 로직을 바로 분석하여 테스트해야 하는 항목들을 커버리지 기법을 이용하여 분석하고, 분석한 항목을 만족하기 위하여 인가하여야 하는 외부 입력을 시간 순서로 추출하고, 이때의 출력을 함께 추출하도록 하며, 생성된 테스트 케이스가 개발된 임베디드 시스템이 개발 초기에 구상한 요구사항대로 구현되었는지를 확인하기 위하여, 블랙박스 형태로 테스트하는 용도로 사용되는 요구사항 모델 기반 테스트 케이스 자동 생성 장치에 관하여 개시되어 있다. 개시된 기술에 따르면, 사용자가 선택한 커버리지 기준에 따라 요구사항 모델로부터 커버리지 목표를 생성하고, 테스트 케이스 생성 과정에서 커버리지 목표 달성 여부를 확인하는 커버리지 목표 관리부; 요구사항 모델의 내부 상태 변수 및 내부 상태 값을 이용하여 상태를 정의하되, 요구사항 모델의 초기 상태로부터 입력 값을 인가함에 따라 요구사항 모델의 상태를 하나의 노드로 정의하고, 생성된 노드들을 트리로 관리하는 모델 상태 트리 관리부; 테스트 케이스 생성 알고리즘에서 커버리지 목표를 찾아가려고 할 때 필요한 요구사항 모델의 말단 포트별로 인가해야 하는 값을 생성하는 입력 생성부; 정형 요구사항 모델을 변경하지 않고, 블랙박스 테스트용 테스트 케이스를 입력하기 위하여 다이내믹 데이터 분석 기법을 사용하여 요구사항 모델에서 찾아낸 테스트 케이스 입력을 인가하고, 인가한 입력에 의해 실제 커버리지 목표가 달성되었는지 확인하거나 시스템 상태를 살펴보거나 예상 출력 값을 얻어내기 위한 모델 시뮬레이터; 테스트 케이스 DB; 및 커버리지 목표를 만족시키기 위한 테스트 케이스를 생성하여 생성된 테스트 케이스를 테스트 케이스 DB에 저장하는 테스트 케이스 생성 도구를 구비하는 것을 특징으로 한다.
상술한 바와 같은 종래의 기술에서는, 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 메시지 기반으로 블랙박스 테스트를 수행하도록 하는데, 이때 메시지 기반 블랙박스 테스트의 한계가 있는 단점을 가지고 있다. 다시 말해서, 메시지 기반 블랙박스 테스트의 경우에, 예를 들어 TCP 서버(server), TCP 클라이언트(client), UDP, 시리얼(serial) 등 통신프로토콜이 특정되어 있고 이에 해당 통신프로토콜로만 사용할 수밖에 없는 단점을 가지고 있으며, 송수신 메시지를 정의하기 위해서 별도의 구조체 정의가 필요한 단점도 가지고 있으며, 메시지 필드 값을 고정적으로만 설정할 수밖에 없는 단점도 있으며, 메시지 송신이 단발성으로만 할 수밖에 없는 단점도 있으며, 메시지 수신 시 조건에 따른 송신 기능이 없어 테스트 타깃(test target)의 기능 확인에 한계가 있는 단점도 있으며, 또한 송/수신 메시지의 값 확인이 어려운 단점도 있다.
한국등록특허 제10-1160482호 한국등록특허 제10-1291817호
본 발명이 해결하고자 하는 과제는, 전술한 바와 같은 단점을 해결하기 위한 것으로, 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 시나리오 기반으로 블랙박스 테스트를 수행하도록 구현한 블랙박스 테스트 장치 및 방법을 제공하는 것이다.
상술한 과제를 해결하는 수단으로는, 본 발명의 한 특징에 따르면, 테스트 타깃 장비에 설치된 소프트웨어의 블랙박스 테스트를 수행하기 위한 시나리오를 작성하여 저장해 두는 시나리오부; 상기 시나리오부에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 블랙박스 테스트 결과 데이터를 전달하는 실행부; 및 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 예상 결과 데이터를 상기 실행부에서 전달한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증하는 검증부를 포함하는 블랙박스 테스트 장치를 제공한다.
일 실시 예에서, 상기 시나리오부는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력을 자동으로 수행하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력 값을 기 설정해 둔 조건 및 수식에 따라 이에 대응하여 동적 변경해 주는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 운동 모델, 물리 엔진의 데이터로 외부 링킹 파일에 따른 값을 반영해 주는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, UI를 통하여 시나리오를 작성하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 사용자가 그래픽 UI 기반 시퀀스 다이어그램 형태로 메시지 시나리오를 작성하도록 해 주는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 헤더 파일을 로드시켜 주며, XML 정보를 저장해 두는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 복수 개의 시나리오 전송 채널을 형성시켜, 해당 시나리오 전송 채널을 통하여 시나리오를 상기 실행부로 전송하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 트리거 조건을 설정하여 메시지별 송신 조건을 설정하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 메시지 송신 시나리오를 작성하여 시나리오별 관리를 수행하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 송수신 메시지를 복수 개의 조건들 중 적어도 하나 또는 그 이상으로 검색 및 저장하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 복수 개의 트리거 조건 중 적어도 하나에 따른 시나리오를 상기 실행부로 전송하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 테스트 타깃 장비에서 기 정의한 메시지 구조체를 활용해 자동으로 송수신 메시지를 정의 및 로드하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 테스트하고자 하는 메시지 필드 값을 고정 또는 동적으로 설정하도록 하며, 메시지별 특성에 따라 주기 또는 비주기로 설정하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, UI 상에서 메시지 구조체를 설정해 주되, 헤더 파일에서 파싱해서 설정하거나, XML 파일에서 파싱해서 설정해 주기 위한 메시지관리모듈; 테스트 타깃 장비의 인터페이스에 따라 이에 대응하여 복수 개의 통신프로토콜 중 적어도 하나를 설정해 주기 위한 통신관리모듈; 메시지 순서 및 메시지 간 간격을 설정해 주며, 시작, 중지, 종료의 조건 및 통신채널을 설정해 주기 위한 시나리오관리모듈; 메시지 송신 시나리오 조건을 설정해 주되, 메시지나 필드별 조건을 설정해 주기 위한 조건관리모듈; 송신 메시지 필터와 수신 메시지 필터를 설정해 주되, 메시지나 필드별 필터를 설정 및 전시해 주기 위한 송수신메시지모듈을 포함하는 것을 특징으로 한다.
일 실시 예에서, 상기 메시지관리모듈은, 복수 개의 테스트 타깃 장비 중 하나를 선택하면, 선택된 장비에 관련된 메시지 리스트를 출력해 주며; 메시지 리스트 중 하나를 선택하면, 선택된 메시지에 관련된 이름 및 자료형의 리스트를 출력해 주며; 이름 및 자료형 리스트 중 하나를 선택하면, 선택된 이름 및 자료형에 관련된 메시지 구조체 설정 창을 출력해 주어 메시지 구조체를 설정하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 메시지관리모듈은, 메시지 ID 설정으로, 각 메시지에 대한 빅엔디안 체크 여부 및 ID 사용 여부를 수행하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 통신관리모듈은, 각 통신프로토콜별 엔디안을 설정하도록 하며, 통신채널을 복수 개로 설정하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 통신관리모듈은, 통신 목록에서 통신채널 리스트를 출력해 주며; 출력된 통신채널 리스트 중 하나를 선택하면, 통신채널의 설정내용을 출력해 주며; 기타설정을 선택하면, 데이터 포워딩 설정으로 통신채널 선택, 송신 메시지 선택, 수신 메시지 선택을 하도록 하며; 시리얼의 경우에 포트 설정, 보드 레이트 설정, ID 필드 설정, 메시지 길이 필드 설정, 리솔루션 설정, 프리엠블 포함 여부 선택, 헥스 설정, 헤더사이즈 비포함 여부 선택, 헤더 크기 설정, 빅엔디안 여부 선택, 메시지전시창 선택 여부를 수행하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오관리모듈은, 재생슬롯별로 재생슬롯명, 시나리오 선택, 시작 조건 선택, 일시 중지 조건 선택, 종료 조건 선택, 통신채널 선택을 설정하도록 하며; 재생 제어를 수행하도록 하고 이에 시나리오 재생 상태를 출력해 주며; 재생슬롯 통합 제어로 재생슬롯 목록에서 재생슬롯별로 통합적으로 재생 제어 또는 멀티 선택 제어를 수행하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 조건관리모듈은, 플레이 슬롯 시작/종료 조건으로, 생성 목록에서 재생슬롯을 선택하도록 하며; 플레이 슬롯을 선택하도록 하고, 시작/종료를 선택하도록 한 후에, 조건을 생성시켜 주도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 조건관리모듈은, 메시지 조건으로, 생성 목록에서 필드 조건을 선택하도록 하며; 이에 메시지 목록에서 메시지를 선택하도록 하고, 필드 목록에서 필드를 선택하도록 하고, 연산자 목록에서 연산자를 선택하도록 하고, 필드 목록에서 비교값을 설정하도록 한 후에, 조건을 생성시켜 주도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 송수신메시지모듈은, 송수신 메시지 전시 설정 창에서 메시지 필터의 송신과 수신을 선택하도록 하고, 사용 슬롯 목록에서 슬롯을 선택하도록 하며; 메시지 목록에서 ID 및 메시지 이름을 선택하도록 하는 것을 특징으로 한다.
일 실시 예에서, 상기 시나리오부는, 시나리오를 재생시켜 출력해 주기 위한 재생모듈을 더 포함하는 것을 특징으로 한다.
일 실시 예에서, 상기 실행부는, 복수 개의 트리거 조건에 따른 시나리오를 실행시켜 주는 것을 특징으로 한다.
일 실시 예에서, 상기 실행부는, 상기 시나리오부에서 설정한 통신프로토콜을 활용해 블랙박스 테스트를 수행하는 것을 특징으로 한다.
일 실시 예에서, 상기 실행부는, 로깅 데이터를 활용하여 송수신 데이터를 확인하는 것을 특징으로 한다.
일 실시 예에서, 상기 검증부는, 송수신 메시지를 시퀀스 다이어그램 형태로 출력해서 테스트 타깃 장비의 기능 검증을 수행하는 것을 특징으로 한다.
일 실시 예에서, 상기 검증부는, 기 설정해 둔 블랙박스 테스트의 예상 결과 값과 상기 실행부에서 수행한 블랙박스 테스트 결과 값의 일치 여부에 대한 통계를 수행하고, 통계 결과에 대한 리포트를 출력해 주며, 통계 결과 리포트를 분석하고 분석 결과에 따라 이에 대응하는 입력 시나리오를 제시해 주는 것을 특징으로 한다.
상술한 과제를 해결하는 수단으로는, 본 발명의 다른 한 특징에 따르면, 시나리오부가 테스트 타깃 장비에 설치된 소프트웨어의 블랙박스 테스트를 수행하기 위한 시나리오를 작성하여 저장해 두는 단계; 실행부가 상기 시나리오부에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 블랙박스 테스트 결과 데이터를 전달하는 단계; 및 검증부가 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 예상 결과 데이터를 상기 실행부에서 전달한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증하는 단계를 포함하는 블랙박스 테스트 방법을 제공한다.
본 발명의 효과로는, 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 시나리오 기반으로 블랙박스 테스트를 수행하도록 구현한 블랙박스 테스트 장치 및 방법을 제공함으로써, 테스트 타깃 장비의 실질적인 기능 확인이 가능할 뿐만 아니라, 테스트 타깃 장비의 인터페이스에 따라 예를 들어 TCP 서버(server), TCP 클라이언트(client), UDP, 시리얼(serial) 등의 다양한 통신프로토콜을 활용해 테스트가 가능하며, 테스트 타깃 장비에서 기 정의한 메시지 구조체를 활용해 자동으로 송수신 메시지를 정의 및 로드(Load)할 수 있으며, 테스트하고자 하는 메시지 필드 값을 고정 또는 동적으로 설정할 수 있으며, 메시지별 특성에 따라 주기, 비주기 등으로 설정할 수 있으며, 트리거 조건을 설정하여 메시지별 송신 조건을 설정할 수 있으며, 메시지 송신 시나리오를 작성하여 시나리오별 관리를 수행할 수 있으며, 송/수신 메시지를 다양한 조건으로 검색 및 저장할 수 있으며, 또한 로깅 데이터를 활용하여 송수신 데이터(즉, 송수신 메시지의 값)를 확인할 수 있다는 것이다.
도 1은 본 발명의 실시 예에 따른 블랙박스 테스트 장치를 설명하는 도면이다.
도 2는 도 1에 있는 시나리오부를 설명하는 도면이다.
도 3은 도 2에 있는 메시지관리모듈을 설명하는 도면이다.
도 4는 도 2에 있는 통신관리모듈을 설명하는 도면이다.
도 5는 도 2에 있는 시나리오관리모듈을 설명하는 도면이다.
도 6은 도 2에 있는 조건관리모듈을 설명하는 도면이다.
도 7은 도 2에 있는 송수신메시지모듈을 설명하는 도면이다.
도 8은 본 발명의 실시 예에 따른 블랙박스 테스트 방법을 설명하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
이제 본 발명의 실시 예에 따른 블랙박스 테스트 장치 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 블랙박스 테스트 장치를 설명하는 도면이며, 도 2는 도 1에 있는 시나리오부를 설명하는 도면이며, 도 3은 도 2에 있는 메시지관리모듈을 설명하는 도면이며, 도 4는 도 2에 있는 통신관리모듈을 설명하는 도면이며, 도 5는 도 2에 있는 시나리오관리모듈을 설명하는 도면이며, 도 6은 도 2에 있는 조건관리모듈을 설명하는 도면이며, 도 7은 도 2에 있는 송수신메시지모듈을 설명하는 도면이다.
도 1 내지 7을 참조하면, 블랙박스 테스트 장치(100)는, 시나리오부(110), 실행부(120), 검증부(130)를 포함한다.
시나리오부(110)는, 테스트 타깃 장비에 설치된 소프트웨어(예를 들어, 내장형 소프트웨어, 국방 소프트웨어, 무기체계 소프트웨어 등)의 블랙박스 테스트(예를 들어, 소프트웨어 단위 시험 및 통합 시험 등)를 수행하기 위한 시나리오를 작성하여 저장해 둔다.
일 실시 예에서, 시나리오부(110)는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력을 자동으로 수행해 줄 수 있다.
일 실시 예에서, 시나리오부(110)는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력 값을 기 설정해 둔 조건 및 수식에 따라 이에 대응하여 동적 변경해 줄 수 있다.
일 실시 예에서, 시나리오부(110)는, 외부 링킹 파일(linking file)에 따른 값(예를 들어, 운동 모델, 물리 엔진 등의 데이터)을 반영해 줄 수 있다.
일 실시 예에서, 시나리오부(110)는, UI(user interface)를 통하여 시나리오를 작성하도록 할 수 있다.
일 실시 예에서, 시나리오부(110)는, 사용자가 그래픽 UI 기반 시퀀스 다이어그램(diagram) 형태로 메시지 시나리오를 작성하도록 해 줄 수 있다.
일 실시 예에서, 시나리오부(110)는, 헤더 파일을 로드시켜 줄 수 있으며, XML(extensible markup language) 정보를 저장해 둘 수 있다.
일 실시 예에서, 시나리오부(110)는, 복수 개의 시나리오 전송 채널을 형성시켜, 해당 형성된 시나리오 전송 채널을 통하여 시나리오를 실행부(120)로 전송해 줄 수 있다.
일 실시 예에서, 시나리오부(110)는, 트리거 조건을 설정하여 메시지별 송신 조건을 설정할 수 있으며, 메시지 송신 시나리오를 작성하여 시나리오별 관리를 수행할 수 있으며, 송/수신 메시지를 다양한 조건으로 검색 및 저장할 수 있다.
일 실시 예에서, 시나리오부(110)는, 복수 개의 트리거 조건(예를 들어, 정적 조건, 동적 조건 등)에 따른 시나리오를 실행부(120)로 전송하여 실행시켜 주도록 할 수 있다.
일 실시 예에서, 시나리오부(110)는, 테스트 타깃 장비에서 기 정의한 메시지 구조체를 활용해 자동으로 송수신 메시지를 정의 및 로드(Load)할 수 있다.
일 실시 예에서, 시나리오부(110)는, 테스트하고자 하는 메시지 필드 값을 고정 또는 동적으로 설정할 수 있으며, 메시지별 특성에 따라 주기, 비주기 등으로 설정할 수 있다.
일 실시 예에서, 시나리오부(110)는, 도 2에 도시된 바와 같이, 메시지관리모듈(111), 통신관리모듈(112), 시나리오관리모듈(113), 조건관리모듈(114), 송수신메시지모듈(115), 재생모듈(116)을 포함할 수 있다.
메시지관리모듈(111)은, UI 상에서 메시지 구조체를 설정해 주되, 헤더 파일에서 파싱(parding)해서 설정하거나, XML 파일에서 파싱해서 설정해 준다.
일 실시 예에서, 메시지관리모듈(111)은, 메시지 포맷(format)을 관리하기 위한 모듈로서, 도 3에 도시된 바와 같이, 복수 개의 테스트 타깃 장비(예를 들어, 장비1, 장비2, 장비3 등) 중 하나를 선택하면, 해당 선택된 장비(예를 들어, 장비1)에 관련된 메시지 리스트(예를 들어, Msg1, Msg2, Msg3 등)를 출력해 주며; 해당 출력된 메시지 리스트 중 하나를 선택하면, 해당 선택된 메시지(예를 들어, Msg1)에 관련된 이름(예를 들어, <header>nSize, <header>nType, chTemp, uchTemp[20], fTemp, uTemp, bBool, strName[20], arrNum[0], arrNum[1] 등) 및 자료형(예를 들어, unsigned short, char, unsigned char, float, double, bool, int 등)의 리스트를 출력해 주며; 해당 출력된 이름 및 자료형 리스트 중 하나를 선택하면, 해당 선택된 이름 및 자료형에 관련된 메시지 구조체 설정 창을 출력해 주어 메시지 구조체를 설정(예를 들어, 메시지 ID 설정(각 메시지에 대한 빅엔디안(Big Endian) 체크 여부 및 ID 사용 여부) 등)하도록 해 줄 수 있다.
통신관리모듈(112)은, 테스트 타깃 장비의 인터페이스에 따라 이에 대응하여 복수 개의 통신프로토콜(예를 들어 TCP 서버(server), TCP 클라이언트(client), UDP, 시리얼(serial) 등) 중 적어도 하나를 설정해 준다.
일 실시 예에서, 통신관리모듈(112)은, 각 통신프로토콜별 엔디안을 설정해 줄 수 있으며, 통신채널을 복수 개로 설정해 줄 수도 있다.
일 실시 예에서, 통신관리모듈(112)은, 도 4에 도시된 바와 같이, 통신 목록에서 통신채널 리스트(예를 들어, 주장비#1 UDP, 주장비#2 TCP, 주장비#3 시리얼 등)를 출력해 줄 수 있으며; 해당 출력된 통신채널 리스트 중 하나를 선택하면, 해당 선택된 통신채널의 설정내용(예를 들어, 종류, 설정내용, 메시지 전시창 등)을 출력해 줄 수 있으며; 기타설정을 선택하면, 데이터 포워딩 설정으로 통신채널(예를 들어, ch1, ch2, ch3 등) 선택, 송신 메시지 선택, 수신 메시지 선택 등을 하도록 해 줄 수 있으며; 시리얼의 경우에 포트(port) 설정, 보드 레이트(boud rate) 설정, ID 필드(필드 위치, 필드 길이) 설정, 메시지 길이 필드(필드 위치, 필드 길이) 설정, 리솔루션(resolution) 설정, 프리엠블(preamble) 포함 여부 선택, 헥스(hex) 설정, 헤더사이즈 비포함 여부 선택, 헤더 크기 설정, 빅엔디안 여부 선택, 메시지전시창 선택 여부 등을 수행하도록 해 줄 수 있다.
시나리오관리모듈(113)은, 메시지 순서 및 메시지 간 간격을 설정해 주며, 시작, 중지, 종료의 조건 및 통신채널을 설정해 준다.
일 실시 예에서, 시나리오관리모듈(113)은, 도 5에 도시된 바와 같이, 재생슬롯별로 재생슬롯명(예를 들어, 재생슬롯#1), 시나리오 선택, 시작 조건 선택, 일시 중지 조건 선택, 종료 조건 선택, 통신채널 선택 등을 설정해 줄 수 있으며; 재생 제어를 수행하도록 할 수 있고 이에 시나리오 재생 상태를 출력해 줄 수도 있으며; 재생슬롯 통합 제어로 재생슬롯 목록에서 재생슬롯별로 통합적으로 재생 제어(또는, 멀티 선택 제어)를 수행하도록 할 수도 있다.
조건관리모듈(114)은, 메시지 송신 시나리오 조건을 설정해 주며, 메시지나 필드별 조건을 설정해 준다.
일 실시 예에서, 조건관리모듈(114)은, 사용자 지정 조건을 설정하는 모듈로서, 도 6에 도시된 바와 같이, 플레이 슬롯(play slot) 시작/종료 조건으로, 생성 목록에서 재생슬롯(예를 들어, slot1 시작, slot2 종료, slot3 시작 등)을 선택하도록 하며; 이에 플레이 슬롯을 선택하도록 하고, 시작/종료를 선택하도록 한 후에, 조건을 생성시켜 주도록 할 수 있으며; 또한 메시지 조건으로, 생성 목록에서 필드 조건(예를 들어, Msg1:field1>0, Msg2:field3<=10, Msg2:field3>2 등)을 선택하도록 하며; 이에 메시지 목록에서 메시지(예를 들어, Msg1, Msg2, Msg3, Msg4, Msg5 등)를 선택하도록 하고, 필드 목록에서 필드(예를 들어, field1, field2, field3, field4, field5 등)를 선택하도록 하고, 연산자 목록에서 연산자(예를 들어, >, <, >=, <=, && 등)를 선택하도록 하고, 필드 목록에서 비교값(예를 들어, field1, field2, field3, field4, field5 등)을 설정하도록 한 후에, 조건을 생성시켜 주도록 할 수 있다.
송수신메시지모듈(115)은, 송신 메시지 필터와 수신 메시지 필터를 설정해 주며, 메시지나 필드별 필터를 설정 및 전시해 준다.
일 실시 예에서, 송수신메시지모듈(115)은, 송수신 메시지 전시를 위한 모듈로서, 도 7에 도시된 바와 같이, 송수신 메시지 전시 설정 창에서 메시지 필터의 송신과 수신을 선택하도록 하고, 사용 슬롯 목록에서 슬롯을 선택하도록 하며; 메시지 목록에서 ID 및 메시지 이름을 선택하도록 할 수 있다.
재생모듈(116)은, 시나리오를 재생시켜 출력해 준다.
실행부(120)는, 시나리오부(110)에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 해당 수행한 블랙박스 테스트 결과 데이터를 검증부(130)에 전달해 준다.
일 실시 예에서, 실행부(120)는, 복수 개의 트리거 조건(예를 들어, 정적 조건, 동적 조건 등)에 따른 시나리오를 실행시켜 줄 수 있다.
일 실시 예에서, 실행부(120)는, 시나리오부(110)에서 설정한 통신프로토콜을 활용해 블랙박스 테스트를 수행할 수 있다.
일 실시 예에서, 실행부(120)는, 로깅 데이터를 활용하여 송수신 데이터(즉, 송수신 메시지의 값)를 확인할 수 있다.
검증부(130)는, 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 해당 미리 설정해 둔 예상 결과 데이터를 실행부(120)에서 수행한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증해 준다.
일 실시 예에서, 검증부(130)는, 송수신 메시지를 시퀀스 다이어그램 형태로 출력해서 테스트 타깃 장비의 기능 검증을 수행해 줄 수 있다.
일 실시 예에서, 검증부(130)는, 기 설정해 둔 블랙박스 테스트의 예상 결과 값과 실행부(120)에서 수행한 블랙박스 테스트 결과 값의 일치 여부에 대한 통계를 수행하고, 해당 통계 결과에 대한 리포트(report)를 출력해 줄 수 있으며, 해당 통계 결과 리포트를 분석하고 해당 분석 결과에 따라 이에 대응하는 입력 시나리오를 제시해 줄 수도 있다. 이때, 검증부(130)는, 각 분석 결과에 대응하는 입력 시나리오를 각각 미리 설정해 둘 수도 있다.
상술한 바와 같은 구성을 가진 블랙박스 테스트 장치(100)는, 전기나 전자 기기에 설치된 소프트웨어의 블랙박스 테스트 시에, 시나리오 기반으로 블랙박스 테스트를 수행하도록 구현함으로써, 테스트 타깃 장비의 실질적인 기능 확인이 가능할 뿐만 아니라, 테스트 타깃 장비의 인터페이스에 따라 예를 들어 TCP 서버, TCP 클라이언트, UDP, 시리얼 등의 다양한 통신프로토콜을 활용해 테스트가 가능하며, 테스트 타깃 장비에서 기 정의한 메시지 구조체를 활용해 자동으로 송수신 메시지를 정의 및 로드할 수 있으며, 테스트하고자 하는 메시지 필드 값을 고정 또는 동적으로 설정할 수 있으며, 메시지별 특성에 따라 주기, 비주기 등으로 설정할 수 있으며, 트리거 조건을 설정하여 메시지별 송신 조건을 설정할 수 있으며, 메시지 송신 시나리오를 작성하여 시나리오별 관리를 수행할 수 있으며, 송/수신 메시지를 다양한 조건으로 검색 및 저장할 수 있으며, 또한 로깅 데이터를 활용하여 송수신 데이터(즉, 송수신 메시지의 값)를 확인할 수 있다.
도 8은 본 발명의 실시 예에 따른 블랙박스 테스트 방법을 설명하는 도면이다.
도 8을 참조하면, 시나리오부(110)에서는, 테스트 타깃 장비에 설치된 소프트웨어(예를 들어, 내장형 소프트웨어, 국방 소프트웨어, 무기체계 소프트웨어 등)의 블랙박스 테스트(예를 들어, 소프트웨어 단위 시험 및 통합 시험 등)를 수행하기 위한 시나리오를 작성하여 저장해 두게 된다(S801).
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력을 자동으로 수행해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력 값을 기 설정해 둔 조건 및 수식에 따라 이에 대응하여 동적 변경해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 외부 링킹 파일(linking file)에 따른 값(예를 들어, 운동 모델, 물리 엔진 등의 데이터)을 반영해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, UI(user interface)를 통하여 시나리오를 작성하도록 할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 사용자가 그래픽 UI 기반 시퀀스 다이어그램(diagram) 형태로 메시지 시나리오를 작성하도록 해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 헤더 파일을 로드시켜 줄 수 있으며, XML(extensible markup language) 정보를 저장해 둘 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 복수 개의 시나리오 전송 채널을 형성시켜, 해당 형성된 시나리오 전송 채널을 통하여 시나리오를 실행부(120)로 전송해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 트리거 조건을 설정하여 메시지별 송신 조건을 설정할 수 있으며, 메시지 송신 시나리오를 작성하여 시나리오별 관리를 수행할 수 있으며, 송/수신 메시지를 다양한 조건으로 검색 및 저장할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 복수 개의 트리거 조건(예를 들어, 정적 조건, 동적 조건 등)에 따른 시나리오를 실행부(120)로 전송하여 실행시켜 주도록 할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 테스트 타깃 장비에서 기 정의한 메시지 구조체를 활용해 자동으로 송수신 메시지를 정의 및 로드(Load)할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오부(110)에서는, 테스트하고자 하는 메시지 필드 값을 고정 또는 동적으로 설정할 수 있으며, 메시지별 특성에 따라 주기, 비주기 등으로 설정할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 메시지관리모듈(111), 통신관리모듈(112), 시나리오관리모듈(113), 조건관리모듈(114), 송수신메시지모듈(115), 재생모듈(116)을 포함하고 있는 시나리오부(110)에서는, 메시지 포맷(format)을 관리하기 위한 모듈인 메시지관리모듈(111)이, UI 상에서 메시지 구조체를 설정해 주되, 헤더 파일에서 파싱(parding)해서 설정하거나, XML 파일에서 파싱해서 설정해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 메시지관리모듈(111)에서는, 도 3에 도시된 바와 같이, 복수 개의 테스트 타깃 장비(예를 들어, 장비1, 장비2, 장비3 등) 중 하나를 선택하면, 해당 선택된 장비(예를 들어, 장비1)에 관련된 메시지 리스트(예를 들어, Msg1, Msg2, Msg3 등)를 출력해 주며; 해당 출력된 메시지 리스트 중 하나를 선택하면, 해당 선택된 메시지(예를 들어, Msg1)에 관련된 이름(예를 들어, <header>nSize, <header>nType, chTemp, uchTemp[20], fTemp, uTemp, bBool, strName[20], arrNum[0], arrNum[1] 등) 및 자료형(예를 들어, unsigned short, char, unsigned char, float, double, bool, int 등)의 리스트를 출력해 주며; 해당 출력된 이름 및 자료형 리스트 중 하나를 선택하면, 해당 선택된 이름 및 자료형에 관련된 메시지 구조체 설정 창을 출력해 주어 메시지 구조체를 설정(예를 들어, 메시지 ID 설정(각 메시지에 대한 빅엔디안(Big Endian) 체크 여부 및 ID 사용 여부) 등)하도록 해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 통신관리모듈(112)에서는, 테스트 타깃 장비의 인터페이스에 따라 이에 대응하여 복수 개의 통신프로토콜(예를 들어 TCP 서버(server), TCP 클라이언트(client), UDP, 시리얼(serial) 등) 중 적어도 하나를 설정해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 통신관리모듈(112)에서는, 각 통신프로토콜별 엔디안을 설정해 줄 수 있으며, 통신채널을 복수 개로 설정해 줄 수도 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 통신관리모듈(112)에서는, 도 4에 도시된 바와 같이, 통신 목록에서 통신채널 리스트(예를 들어, 주장비#1 UDP, 주장비#2 TCP, 주장비#3 시리얼 등)를 출력해 줄 수 있으며; 해당 출력된 통신채널 리스트 중 하나를 선택하면, 해당 선택된 통신채널의 설정내용(예를 들어, 종류, 설정내용, 메시지 전시창 등)을 출력해 줄 수 있으며; 기타설정을 선택하면, 데이터 포워딩 설정으로 통신채널(예를 들어, ch1, ch2, ch3 등) 선택, 송신 메시지 선택, 수신 메시지 선택 등을 하도록 해 줄 수 있으며; 시리얼의 경우에 포트(port) 설정, 보드 레이트(boud rate) 설정, ID 필드(필드 위치, 필드 길이) 설정, 메시지 길이 필드(필드 위치, 필드 길이) 설정, 리솔루션(resolution) 설정, 프리엠블(preamble) 포함 여부 선택, 헥스(hex) 설정, 헤더사이즈 비포함 여부 선택, 헤더 크기 설정, 빅엔디안 여부 선택, 메시지전시창 선택 여부 등을 수행하도록 해 줄 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오관리모듈(113)에서는, 메시지 순서 및 메시지 간 간격을 설정해 주며, 시작, 중지, 종료의 조건 및 통신채널을 설정해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 시나리오관리모듈(113)에서는, 도 5에 도시된 바와 같이, 재생슬롯별로 재생슬롯명(예를 들어, 재생슬롯#1), 시나리오 선택, 시작 조건 선택, 일시 중지 조건 선택, 종료 조건 선택, 통신채널 선택 등을 설정해 줄 수 있으며; 재생 제어를 수행하도록 할 수 있고 이에 시나리오 재생 상태를 출력해 줄 수도 있으며; 재생슬롯 통합 제어로 재생슬롯 목록에서 재생슬롯별로 통합적으로 재생 제어(또는, 멀티 선택 제어)를 수행하도록 할 수도 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 사용자 지정 조건을 설정하는 모듈인 조건관리모듈(114)에서는, 메시지 송신 시나리오 조건을 설정해 주며, 메시지나 필드별 조건을 설정해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 조건관리모듈(114)에서는, 도 6에 도시된 바와 같이, 플레이 슬롯(play slot) 시작/종료 조건으로, 생성 목록에서 재생슬롯(예를 들어, slot1 시작, slot2 종료, slot3 시작 등)을 선택하도록 하며; 이에 플레이 슬롯을 선택하도록 하고, 시작/종료를 선택하도록 한 후에, 조건을 생성시켜 주도록 할 수 있으며; 또한 메시지 조건으로, 생성 목록에서 필드 조건(예를 들어, Msg1:field1>0, Msg2:field3<=10, Msg2:field3>2 등)을 선택하도록 하며; 이에 메시지 목록에서 메시지(예를 들어, Msg1, Msg2, Msg3, Msg4, Msg5 등)를 선택하도록 하고, 필드 목록에서 필드(예를 들어, field1, field2, field3, field4, field5 등)를 선택하도록 하고, 연산자 목록에서 연산자(예를 들어, >, <, >=, <=, && 등)를 선택하도록 하고, 필드 목록에서 비교값(예를 들어, field1, field2, field3, field4, field5 등)을 설정하도록 한 후에, 조건을 생성시켜 주도록 할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 송수신 메시지 전시를 위한 모듈인 송수신메시지모듈(115)에서는, 송신 메시지 필터와 수신 메시지 필터를 설정해 주며, 메시지나 필드별 필터를 설정 및 전시해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 송수신메시지모듈(115)에서는, 도 7에 도시된 바와 같이, 송수신 메시지 전시 설정 창에서 메시지 필터의 송신과 수신을 선택하도록 하고, 사용 슬롯 목록에서 슬롯을 선택하도록 하며; 메시지 목록에서 ID 및 메시지 이름을 선택하도록 할 수 있다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둠에 있어서, 재생모듈(116)에서는, 시나리오를 재생시켜 출력해 준다.
상술한 단계 S801에서 시나리오를 작성 및 저장해 둔 후에, 실행부(120)에서는, 시나리오부(110)에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 해당 수행한 블랙박스 테스트 결과 데이터를 검증부(130)에 전달해 주게 된다(S802).
상술한 단계 S802에서 블랙박스 테스트 결과 데이터를 전달함에 있어서, 실행부(120)에서는, 복수 개의 트리거 조건(예를 들어, 정적 조건, 동적 조건 등)에 따른 시나리오를 실행시켜 줄 수 있다.
상술한 단계 S802에서 블랙박스 테스트 결과 데이터를 전달함에 있어서, 실행부(120)에서는, 시나리오부(110)에서 설정한 통신프로토콜을 활용해 블랙박스 테스트를 수행할 수 있다.
상술한 단계 S802에서 블랙박스 테스트 결과 데이터를 전달함에 있어서, 실행부(120)에서는, 로깅 데이터를 활용하여 송수신 데이터(즉, 송수신 메시지의 값)를 확인할 수 있다.
상술한 단계 S802에서 블랙박스 테스트 결과 데이터를 전달하게 되면, 검증부(130)에서는, 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 해당 미리 설정해 둔 예상 결과 데이터를 실행부(120)에서 수행한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증해 주게 된다(S803).
상술한 단계 S803에서 블랙박스 테스트 결과 데이터를 전달함에 있어서, 검증부(130)에서는, 송수신 메시지를 시퀀스 다이어그램 형태로 출력해서 테스트 타깃 장비의 기능 검증을 수행해 줄 수 있다.
상술한 단계 S803에서 블랙박스 테스트 결과 데이터를 전달함에 있어서, 검증부(130)에서는, 기 설정해 둔 블랙박스 테스트의 예상 결과 값과 실행부(120)에서 수행한 블랙박스 테스트 결과 값의 일치 여부에 대한 통계를 수행하고, 해당 통계 결과에 대한 리포트(report)를 출력해 줄 수 있으며, 해당 통계 결과 리포트를 분석하고 해당 분석 결과에 따라 이에 대응하는 입력 시나리오를 제시해 줄 수도 있다. 이때, 검증부(130)에서는, 각 분석 결과에 대응하는 입력 시나리오를 각각 미리 설정해 둘 수도 있다.
이상, 본 발명의 실시 예는 상술한 장치 및/또는 운용장치를 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. 이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: 블랙박스 테스트 장치
110: 시나리오부
111: 메시지관리모듈
112: 통신관리모듈
113: 시나리오관리모듈
114: 조건관리모듈
115: 송수신메시지모듈
116: 재생모듈
120: 실행부
130: 검증부

Claims (5)

  1. 테스트 타깃 장비에 설치된 소프트웨어의 블랙박스 테스트를 수행하기 위한 시나리오를 작성하여 저장해 두는 시나리오부; 상기 시나리오부에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 블랙박스 테스트 결과 데이터를 전달하는 실행부; 및 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 예상 결과 데이터를 상기 실행부에서 전달한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증하는 검증부를 포함하며;
    상기 시나리오부는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력을 자동으로 수행하며; 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력 값을 기 설정해 둔 조건 및 수식에 따라 이에 대응하여 동적 변경해 주는 것을 특징으로 하는 블랙박스 테스트 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 시나리오부는,
    운동 모델, 물리 엔진의 데이터로 외부 링킹 파일에 따른 값을 반영해 주는 것을 특징으로 하는 블랙박스 테스트 장치.
  5. 시나리오부가 테스트 타깃 장비에 설치된 소프트웨어의 블랙박스 테스트를 수행하기 위한 시나리오를 작성하여 저장해 두는 단계; 실행부가 상기 시나리오부에서 저장해 둔 시나리오를 기반으로 블랙박스 테스트를 수행하고 블랙박스 테스트 결과 데이터를 전달하는 단계; 및 검증부가 블랙박스 테스트의 예상 결과 데이터를 미리 설정해 두고, 예상 결과 데이터를 상기 실행부에서 전달한 블랙박스 테스트 결과 데이터와 비교해서 테스트 타깃 장비의 기능을 검증하는 단계를 포함하며;
    상기 시나리오부는, 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력을 자동으로 수행하며; 테스트 타깃 장비에 설치된 소프트웨어의 신뢰성 동적 테스트에 대한 입력 값을 기 설정해 둔 조건 및 수식에 따라 이에 대응하여 동적 변경해 주는 것을 특징으로 하는 블랙박스 테스트 방법.
KR1020210110643A 2021-08-23 2021-08-23 블랙박스 테스트 장치 및 방법 KR102691045B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210110643A KR102691045B1 (ko) 2021-08-23 2021-08-23 블랙박스 테스트 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210110643A KR102691045B1 (ko) 2021-08-23 2021-08-23 블랙박스 테스트 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230028846A KR20230028846A (ko) 2023-03-03
KR102691045B1 true KR102691045B1 (ko) 2024-08-05

Family

ID=85510195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210110643A KR102691045B1 (ko) 2021-08-23 2021-08-23 블랙박스 테스트 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102691045B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017952B1 (ko) * 2009-11-09 2011-03-02 재단법인대구경북과학기술원 Ttcn-3 기반 autosar 소프트웨어 테스트 자동화 시스템 및 테스트 방법
KR20110023124A (ko) * 2009-08-28 2011-03-08 한국전자통신연구원 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법
KR20120048350A (ko) * 2010-11-05 2012-05-15 재단법인대구경북과학기술원 마이크로컨트롤러유닛 테스트 자동화 시스템 및 그 방법
KR101160482B1 (ko) 2010-07-23 2012-06-28 강원대학교산학협력단 테스트 스윗 생성 장치 및 방법
KR101271232B1 (ko) * 2011-11-18 2013-06-07 고려대학교 산학협력단 소프트웨어 테스트 장치 및 그 방법
KR101291817B1 (ko) 2012-04-26 2013-07-31 비티에스테크놀로지스(주) 요구사항 모델 기반 테스트 케이스 자동 생성 시스템 및 방법
KR20140053542A (ko) * 2012-10-26 2014-05-08 삼성전자주식회사 내장형 소프트웨어의 자동 테스트 장치, 자동 테스트 방법 및 테스트 시나리오 작성방법
KR20170046002A (ko) * 2015-10-20 2017-04-28 한국전자통신연구원 자동화 시험 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110023124A (ko) * 2009-08-28 2011-03-08 한국전자통신연구원 차량용 전자제어장치의 소프트웨어 검증 장치 및 방법
KR101017952B1 (ko) * 2009-11-09 2011-03-02 재단법인대구경북과학기술원 Ttcn-3 기반 autosar 소프트웨어 테스트 자동화 시스템 및 테스트 방법
KR101160482B1 (ko) 2010-07-23 2012-06-28 강원대학교산학협력단 테스트 스윗 생성 장치 및 방법
KR20120048350A (ko) * 2010-11-05 2012-05-15 재단법인대구경북과학기술원 마이크로컨트롤러유닛 테스트 자동화 시스템 및 그 방법
KR101271232B1 (ko) * 2011-11-18 2013-06-07 고려대학교 산학협력단 소프트웨어 테스트 장치 및 그 방법
KR101291817B1 (ko) 2012-04-26 2013-07-31 비티에스테크놀로지스(주) 요구사항 모델 기반 테스트 케이스 자동 생성 시스템 및 방법
KR20140053542A (ko) * 2012-10-26 2014-05-08 삼성전자주식회사 내장형 소프트웨어의 자동 테스트 장치, 자동 테스트 방법 및 테스트 시나리오 작성방법
KR20170046002A (ko) * 2015-10-20 2017-04-28 한국전자통신연구원 자동화 시험 장치 및 방법

Also Published As

Publication number Publication date
KR20230028846A (ko) 2023-03-03

Similar Documents

Publication Publication Date Title
Burr et al. Combinatorial test techniques: Table-based automation, test generation and code coverage
US5754760A (en) Automatic software testing tool
CN110944048B (zh) 业务逻辑配置方法及装置
US20100153780A1 (en) Techniques for generating a reusable test script for a multiple user performance test
Shahbaz et al. Analysis and testing of black‐box component‐based systems by inferring partial models
US20100153087A1 (en) Techniques for generating a reusable test script for a single user performance test
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN102014016A (zh) 一种网络协议缺陷测试系统及方法
US10445225B2 (en) Command coverage analyzer
CN108845940A (zh) 一种企业级信息系统自动化功能测试方法和系统
Krichen et al. An expressive and implementable formal framework for testing real-time systems
US6346879B1 (en) Verification of message sequence charts
Santiago et al. An environment for automated test case generation from statechart-based and finite state machine-based behavioral models
CN113111000A (zh) 持续集成自动化测试系统和方法、电子设备、存储介质
US20240143493A1 (en) System and methods for testing microservices
US10459698B2 (en) Framework for generating adapters in an integrated development environment
CN111176981B (zh) Android应用网络相关行为测试方法
KR101449201B1 (ko) 철강 공정용 소프트웨어 자동 테스트 시스템
KR102691045B1 (ko) 블랙박스 테스트 장치 및 방법
JP3965068B2 (ja) ハードウェア設計を検証するための統合テストケース言語
WO2004068347A1 (en) Method and apparatus for categorising test scripts
CN110659215A (zh) 一种开放式工业app快速开发及测试验证方法
CN115757088B (zh) 基于环境变量的故障注入方法、装置和设备
Schulz Integrating performance tests in a generative software development platform

Legal Events

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