KR101588027B1 - 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법 - Google Patents

소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법 Download PDF

Info

Publication number
KR101588027B1
KR101588027B1 KR1020140136508A KR20140136508A KR101588027B1 KR 101588027 B1 KR101588027 B1 KR 101588027B1 KR 1020140136508 A KR1020140136508 A KR 1020140136508A KR 20140136508 A KR20140136508 A KR 20140136508A KR 101588027 B1 KR101588027 B1 KR 101588027B1
Authority
KR
South Korea
Prior art keywords
test
localization
software
test case
information
Prior art date
Application number
KR1020140136508A
Other languages
English (en)
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 KR1020140136508A priority Critical patent/KR101588027B1/ko
Application granted granted Critical
Publication of KR101588027B1 publication Critical patent/KR101588027B1/ko

Links

Images

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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

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

Abstract

본 발명은 해외 현지화가 보다 신속하고 효율적으로 수행될 수 있도록 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법에 관한 것으로,
상기 장치는 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 현지화 정보 관리부; 상기 현지화 정보를 기반으로 소프트웨어 명세서를 분석하여, 상기 소프트웨어 명세서에 포함된 현지화 위험 요소를 확인하는 현지화 위험 요소 식별부; 상기 현지화 위험 요소를 기반으로 상기 소프트웨어 명세서에 대응되는 테스트 시나리오를 추출하는 테스트 시나리오 추출부; 상기 테스트 시나리오에 대응되는 테스트 데이터를 획득하는 테스트 데이터 선택부; 상기 테스트 시나리오에 상기 테스트 데이터를 적용하여 테스트 케이스를 생성하는 테스트 케이스 생성부; 및 상기 테스트 케이스를 사용자에게 추천하는 테스트 케이스 추천부를 포함할 수 있다.

Description

소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법{METHOD AND APPARATUS FOR GENERATING TEST CASE TO SUPPORT LOCALIZATION OF SOFTWARE}
본 발명은 소프트웨어를 해외로 수출하는 경우, 해외 현지화가 보다 신속하고 효율적으로 수행될 수 있도록 해주는 테스트 케이스 생성 기술에 관한 것이다.
소프트웨어는 "구동환경"에 많은 영향을 받지만 소프트웨어 테스트 작업은 개발이 진행되는 자국의 환경에서만 이루어진다. 이러한 상황으로 인하여 해외로 수출된 소프트웨어가 구동환경이 다른 해외 환경에서동작 할 때, 많은 예기치 못한 결함이 발생한다.
즉, 특정 국가에서 개발된 소프트웨어가 다른 국가로 수출 및 구동될 때 컴퓨터 사양 등과 같은 물리적인 차이로 인해 화면 또는 글자가 제대로 보이지 않거나, 문화적 차이로 인해 수출국가의 사용자가 소프트웨어가 전달하고자 하는 내용이나 기능을 잘못 이해되는 경우가 발생할 수 있다.
예를 들어, 영어에서는 C와 H가 개개의 글자이지만 스페인어에서는 CH가 하나의 글자로 분류되는 차이가 있다. 또한, 숫자의 1000단위를 구분하는 방식에 있어서, 독일에서 콤마(,)가 아닌 마침표(.)를 사용하는 특징이 있다. 즉 미국은 1,000,000.00으로 표현되나, 독일에서는 1.000.000,00 으로 표현되는 차이가 발생한다.
이와 같은 "구동환경" 정보는 지형적/ 문화적 요소가 다른 각 나라별, 그리고 소프트웨어의 각 기능별로 정보의 양이 많고 광범위하여, 정보 축적 정도 또는 인지 정도의 차이에 따라 테스트의 완성도가 달라지게 된다. 다만, 이러한 정보들은 대부분 실제 경험을 통해서만 습득될 수 있는 정보들로써, 기존의 테스트 설계 이론이나 방법론을 적용한다 하더라도 수출 테스트에 대해서는 효과가 미미하고, 정보에 대한 지식 체계가 정리되어 있지 않기 때문에 많은 정보 중 테스트 대상 소프트웨어에 적합한 항목을 추출해내는 작업에 막대한 비용과 시간이 소요되는 문제가 발생한다.
또한 소프트웨어 테스트는 개발회사나 회사내 테스트 담당자가 알고 있는 범위 내에서 수행되므로, 소프트웨어 개발이 완료된 후에 수출 국가에서 실제로 구동시키는 시점에서 많은 현지화 문제들이 발생하게 된다. 이렇게 발생한 현지화 문제를 해결하는 방법으로는, 소프트웨어 개발자가 현지에 머무르면서 수정을 하고 확인하거나, 자국에서 수정하고 다시 현지에서 구동시켜 확인하는 방법을 사용하는데, 이는 막대한 시간과 인력비용이 소모되는 방법으로 소프트웨어를 수출하기 위한 테스트를 수행하고 그에 따른 품질을 향상시키는 데에 많은 어려움이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 소프트웨어가 해외의 구동환경에서 동작했을 경우, 결함 발생 가능성이 높은 요소를 예측하고 이에 대응되는 테스트 케이스를 생성 및 제공함으로써, 소프트웨어 해외 현지화가 보다 신속하고 효율적으로 수행될 수 있도록 해주는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법을 제공하고자 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 제1 실시 형태에 따르면, 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 현지화 정보 관리부; 상기 현지화 정보를 기반으로 소프트웨어 명세서를 분석하여, 상기 소프트웨어 명세서에 포함된 현지화 위험 요소를 확인하는 현지화 위험 요소 식별부; 상기 현지화 위험 요소를 기반으로 상기 소프트웨어 명세서에 대응되는 테스트 시나리오를 추출하는 테스트 시나리오 추출부; 상기 테스트 시나리오에 대응되는 테스트 데이터를 획득하는 테스트 데이터 선택부; 상기 테스트 시나리오에 상기 테스트 데이터를 적용하여 테스트 케이스를 생성하는 테스트 케이스 생성부; 및 상기 테스트 케이스를 사용자에게 추천하는 테스트 케이스 추천부를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 제공한다.
상기 현지화 정보는 구동환경에 관련된 적어도 하나의 함수, 상기 함수 각각이 사용하는 적어도 하나의 데이터 형식에 대한 정보를 포함하는 것을 특징으로 한다.
상기 현지화 위험 요소 식별부는 상기 소프트웨어의 개발 국가와 수출 국가, 및 기술 분야를 파악한 후, 상기 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하고, 서로 상이한 데이터 형식을 가지는 함수를 현지화 위험 요소로 획득하는 것을 특징으로 한다.
상기 테스트 데이터 선택부는 경계값 분석 동작을 통해 테스트 시나리오에 대응되는 테스트 데이터를 테스트 강도별로 수집하고, 사용자 동의하에 상기 수집된 테스트 데이터 중 하나를 상기 테스트 시나리오에 대응되는 테스트 데이터로 선택하는 것을 특징으로 한다.
상기 테스트 데이터 선택부는 사용자가 수동 입력하는 테스트 데이터를 상기 테스트 시나리오에 대응되는 테스트 데이터로 선정하는 것을 특징으로 한다.
상기 테스트 케이스 추천부는 상기 테스트 케이스 각각의 중요도를 산출하고, 상기 산출된 중요도를 사용자에게 추가 제공하거나, 상기 산출된 중요도를 기반으로 테스트 케이스 추천 순서를 변경하는 것을 특징으로 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 제2 실시 형태에 따르면, 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 현지화 정보 관리부; 상기 현지화 정보를 기반으로 소프트웨어의 명세서 또는 소스 코드를 분석하여, 상기 소프트웨어에 포함된 현지화 위험 요소를 확인하는 테스트 범위 획득부; 상기 현지화 위험 요소를 기반으로 테스트 시나리오를 추출하고, 상기 테스트 시나리오의 테스트 데이터를 획득하여, 테스트 케이스를 생성 및 출력하는 테스트 케이스 생성부; 및 상기 테스트 케이스를 사용자에게 추천하는 테스트 추천부를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 제공한다.
상기 현지화 정보 관리부는 구동 환경 정보 각각에 관련된 함수들과, 함수 각각이 입력 데이터 또는 출력 데이터로 사용하는 데이터 형태들을 정의하고, 상기 구동 환경 정보와 매핑하여 상기 현지화 정보를 생성하는 것을 특징으로 한다.
상기 현지화 정보 관리부는 상기 현지화 정보를 클라우드 방식으로 통합 저장 및 제공받을 수 있도록 하는 것을 특징으로 한다.
상기 테스트 범위 획득부는 상기 소프트웨어의 개발 국가와 수출 국가, 및 기술 분야를 파악한 후, 상기 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하고, 서로 상이한 값을 가지는 현지화 정보를 상기 소프트웨어의 현지화 위험 요소로 획득하는 것을 특징으로 한다.
상기 테스트 케이스 생성부는 상기 현지화 위험 요소를 기반으로 소프트웨어 명세서 또는 소스 코드를 분석하여, 인과 그래프를 생성하는 인과 그래프 생성부; 상기 인과 그래프로부터 테스트 시나리오들을 추출하는 테스트 시나리오 생성부; 경계값 분석 동작 등을 통해 상기 테스트 시나리오에서 사용될 테스트 데이터를 자동 도출하거나, 사용자로부터 상기 테스트 시나리오에서 사용될 테스트 데이터를 입력받는 테스트 데이터 획득부; 및 상기 테스트 시나리오와 상기 테스트 데이터를 기반으로 테스트 케이스를 생성 및 출력하는 테스트 케이스 생성부를 포함하는 것을 특징으로 한다.
상기 인과 그래프 생성부는 상기 현지화 위험 요소에 대응되는 함수를 추출하고, 상기 함수의 의 입력 데이터를 원인 항목으로, 상기 함수의 출력 데이터를 결과 항목으로 각각 획득하고, 상기 함수의 동작 특성을 기반으로 원인 항목과 결과 항목간 연결 관계를 정의함으로써, 상기 인과 그래프를 생성하는 것을 특징으로 한다.
상기 인과 그래프 생성부는 사용자 편집 메뉴를 제공하고, 상기 사용자 편집 메뉴를 통해 입력되는 사용자 제어값에 따라 상기 인과 그래프를 생성 및 수정하는 기능을 더 포함하는 것을 특징으로 한다.
상기 테스트 추천부는 상기 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 중요도가 높은 순으로 테스트 케이스를 추천하는 것을 특징으로 한다.
상기 테스트 추천부는 상기 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 중요도가 기 설정된 값 이상인 테스트 케이스만을 선별 및 추천하는 것을 특징으로 한다.
상기 테스트 추천부는 상기 테스트 케이스의 우선순위, 상기 테스트 케이스에 대응되는 구동 환경에 대한 정보를 추가 안내하는 기능을 더 포함하는 것을 특징으로 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 제3 실시 형태에 따르면, 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 단계; 상기 현지화 정보를 기반으로 소프트웨어 명세서를 분석하여, 상기 소프트웨어 명세서에 포함된 현지화 위험 요소를 확인하는 단계; 상기 현지화 위험 요소를 기반으로 상기 소프트웨어 명세서에 대응되는 테스트 시나리오를 추출하고, 상기 테스트 시나리오에 대응되는 테스트 데이터를 획득하는 단계; 및 상기 테스트 시나리오에 상기 테스트 데이터를 적용하여 테스트 케이스를 생성한 후, 사용자에게 추천하는 단계를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 제공한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 제4 실시 형태에 따르면, 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 단계; 소프트웨어가 선택되면, 상기 현지화 정보를 기반으로 상기 소프트웨어의 명세서 또는 소스 코드를 분석하여, 상기 소프트웨어에 포함된 현지화 위험 요소를 확인하는 단계; 상기 현지화 위험 요소를 기반으로 테스트 시나리오를 추출하고, 상기 테스트 시나리오의 테스트 데이터를 획득하여, 테스트 케이스를 생성 및 출력하는 단계를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 제공한다.
본 발명에서는 경험적으로만 습득할 수 있는 현지화 정보를 데이터베이스화여 관리하고 이를 통해 테스트 케이스를 생성할 수 있도록 함으로써, 소프트웨어 테스트의 신뢰성을 향상시킴과 동시에 이에 소요되는 비용과 시간을 획기적으로 줄일 수 있도록 한다.
또한 테스트 시나리오별로 사용자가 직접 테스트 강도를 조정하거나 테스트 데이터값을 직접 입력할 수 있도록 함으로써, 사용자 요구 사항을 보다 손쉽고 정확하게 반영할 수 있도록 한다.
또한 사용자가 테스트 케이스의 중요도를 보다 손쉽게 파악할 수 있도록 하여, 소프트웨어 테스트의 효율성이 극대화되도록 한다.
도1은 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 도시한 도면이다.
도2는 본 발명의 일 실시예에 따른 현지화 정보 구성예를 도시한 도면이다.
도3은 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 설명하기 위한 도면이다.
도4는 본 발명의 다른 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 도시한 도면이다.
도5는 본 발명의 다른 실시예에 따른 테스트 케이스 생성부의 상세 구성을 도시한 도면이다.
도6은 본 발명의 다른 실시예에 따른 인과 그래프의 일례를 도시한 도면이다.
도7은 본 발명의 다른 실시예에 따른 테스트 시나리오의 일례를 도시한 도면이다.
도8은 본 발명의 다른 실시예에 따른 테스트 데이터 입력예를 도시한 도면이다.
도9는 본 발명의 다른 실시예에 따른 테스트 케이스의 일례를 도시한 도면이다.
도10은 본 발명의 다른 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 설명하기 위한 도면이다.
도11은 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 포함하는 네트워크 시스템을 도시한 도면이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 데이터 형식들은 본 발명에서의 기능을 고려하여 정의된 데이터 형식들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도1은 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 도시한 도면이다.
도1을 참고하면, 상기 테스트 케이스 생성 장치는 현지화 정보 관리부(10), 현지화 위험 요소 식별부(20), 테스트 시나리오 생성부(30), 테스트 데이터 선택부(40), 테스트 케이스 생성부(50), 테스트 케이스 추천부(60), 정보 저장부(70), 사용자 인터페이스(70), 및 장치 인터페이스(75) 등을 포함하여 구성된다.
이하, 각 구성요소의 기능을 보다 상세히 살펴보면 다음과 같다.
현지화 정보 관리부(10)는 소프트웨어 구동환경에 대한 정보를 국가별로 수집하여 현지화 정보를 생성 및 저장하도록 한다. 현지화 정보는 구동환경에 관련된 적어도 하나의 함수, 함수 각각이 사용하는 적어도 하나의 데이터 형식에 대한 정보를 포함할 수 있다.
또한, 현지화 정보 관리부(10)는 국가 뿐 만 아니라 기술 분야별로도 구동 환경이 다양하게 변화될 수 있음을 고려하여, 도2에 도시된 바와 같이 현지화 정보를 국가뿐 만 아니라 기술 분야(예를 들어, 웹 프로그래밍, 데이터베이스 관리, 시스템/네트워크 보안, 모바일 기술 등)별로 세분화하여 생성 및 저장할 수도 있다.
현지화 위험 요소 식별부(20)는 현지화 정보 관리부(10)에 저장된 현지화 정보를 기반으로 소프트웨어의 명세서 또는 소스 코드(이하, 소프트웨어 명세서로 통칭하기로 함)를 분석하여, 소프트웨어 명세서에 포함된 현지화 위험 요소를 식별하도록 한다.
즉, 현지화 위험 요소 식별부(20)는 사용자에 의해 소프트웨어 명세서가 선택되고, 소프트웨어 명세서의 개발 및 수출 국가와 기술 분야에 대한 정보가 입력되면, 해당 현지화 정보들을 획득 및 비교하여, 서로 상이한 데이터 형식을 가지는 함수를 수집하도록 한다. 그리고 수집된 함수를 기반으로 소프트웨어 명세서를 분석하고, 수집된 함수에 대응되는 내용이 기재된 부분을 현지화 위험 요소로 검출 및 출력하도록 한다.
테스트 시나리오 생성부(30)는 소프트웨어 명세서를 분석하여 현지화 위험 요소에 관련된 내용이 기재된 부분을 검출한다. 그리고 분류 트리 기법을 통해 해당 부분의 위험을 확인하기 위한 테스크 체크리스트를 추출한 후, 추출된 테스트 체크 리스트를 수행하기 위한 테스트 시나리오를 생성한다.
테스트 데이터 선택부(40)는 경계값 분석 동작을 통해 테스트 시나리오에 대응되는 테스트 데이터를 테스트 강도별로 수집하고, 수집된 테스트 데이터를 테스트 강도와 함께 안내하여, 사용자가 필요로 하는 테스트 강도에 대응되는 테스트 데이터를 선택하도록 한다.
본 발명의 테스트 시나리오는 다수의 테스트 강도를 가질 수 있으며, 테스트 강도에 따라 테스트 데이터의 데이터 범위가 확장되도록 한다. 예를 들어, 이하의 표1에서와 같이 데이터 유형이 "갑 형(String)"인 경우에는 테스트 강도 순으로, "Null", "빈 문자", "특수문자", "길이가 긴 문자열"의 데이터 범위를 가질 수 있으며, "갑 형(integer)"인 경우에는 테스트 강도 순으로, "정수", "실수"의 데이터 범위를 가질 수 있을 것이다.
이에 사용자는 테스트 시나리오의 우선순위를 고려하여 테스트 강도를 선택하고, 이에 따라 테스트 시나리오에 적용될 테스트 데이터의 데이터 범위가 조정되도록 함으로써, 테스트 케이스 작성 수준을 임의로 조정할 수 있게 된다. 즉, 우선순위가 낮은 테스트 시나리오에 대해서는 낮은 테스트 강도를 가지는 테스트 데이터를 선택하여, 좁은 데이터 범위를 가지는 테스트 케이스가 작성되도록 하고, 우선순위가 높은 테스트 시나리오에 대해서는 높은 테스트 강도를 가지는 테스트 데이터를 선택함으로써 상대적으로 넓은 데이터 범위를 가지는 테스트 케이스가 작성될 수 있도록 해준다.
데이터 유형 테스트 강도 거짓 데이터
값형(string) 제1단계 Null
제2단계 빈 문자
제3단계 특수문자
제4단계 길이가 긴 문자열
값형(integer) 제1 단계 음의 정수(참 데이터가 양의 정수)
또는 양의 정수(참 데이터가 음의 정수)
제2 단계 음의 실수(참 데이터가 양의 실수)
또는 양의 실수(참 데이터가 음의 실수)
조건형(integer) 제1 단계 Null
제2 단계 T (참 데이터가 F인 경우)
또는 F(참 데이터가 T인 경우)
또한, 테스트 데이터 선택부(40)는 사용자가 테스트 데이터 수동 입력을 요청하는 경우에는 이에 응답하여 테스트 데이터 입력 메뉴를 제공함으로써, 사용자가 이를 통해 테스트 시나리오에 적용될 테스트 데이터와 이의 테스트 강도를 직접 입력할 수도 있도록 한다. 그리고 이러한 사용자 입력값은 데이터베이스화되어 차후에 재활용될 수 있도록 한다.
테스트 케이스 생성부(50)는 테스트 시나리오에 테스트 데이터 선택부(40)에 의해 획득된 테스트 데이터를 적용하여, 테스트 케이스를 생성한다.
테스트 케이스 추천부(60)는 테스트 케이스 생성부(50)를 통해 생성된 테스트 케이스를 사용자에게 추천함으로써, 사용자가 이를 참조하여 소프트웨어 현지화를 위한 소프트웨어 테스트 동작을 수행할 수 있도록 한다.
또한, 테스트 케이스 추천부(60)는 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 중요도 통보 정보를 추가 제공하거나 중요도를 기반으로 테스트 케이스 추천 순서를 변경함으로써, 소프트웨어 테스트 동작을 보다 효율적으로 수행할 수 있도록 한다. 이때, 테스트 케이스의 우선순위는 사용자에 의해 수동 설정되는 값일 수 있다.
또한, 테스트 케이스 추천부(60)는 테스트 케이스의 중요도 뿐 만 아니라 테스트 케이스에 관련된 각종 부가 정보(예를 들어, 테스트 케이스의 중요도, 테스트 케이스에 대응되는 함수/구동환경에 대한 정보, 테스트 케이스에 대응되는 함수가 정상 실행되는 경우 획득되는 데이터 값 등)를 추가적으로 안내함으로써, 사용자가 별도의 정보 검색 동작 없이도 현재 진행되는 테스트에 대한 각종 정보를 손쉽게 파악할 수 있도록 한다.
사용자 인터페이스(70)는 모니터, 키보드, 마우스 등과 같은 데이터 입출력 수단을 구비하고, 이를 통해 테스트 케이스 생성 장치의 동작에 필요한 사용자 제어값과 각종 정보를 획득하거나, 테스트 케이스 생성 장치의 동작 상태, 동작 결과를 통보하기 위한 화면을 구성 및 표시해준다.
장치 인터페이스(75)는 외부 장치(미도시)와 통신 채널을 형성하고, 외부 장치가 테스트 케이스 생성 장치를 원격 제어 및 이용할 수 있도록 해준다. 즉, 장치 인터페이스(75) 또한 사용자 인터페이스(70)와 같이 테스트 케이스 생성 장치의 동작에 필요한 사용자 제어값과 각종 정보를 획득하거나, 테스트 케이스 생성 장치의 동작 상태, 동작 결과를 통보하기 위한 화면을 구성 및 표시해준다. 즉, 본 발명의 테스트 케이스 생성 장치는 사용자 인터페이스(70)에 의해 테스트 현장에 위치하는 사용자에 의해 동작 제어되거나, 장치 인터페이스(75)에 의해 테스트 현장의 원격지에 사용자에 동작 제어될 수도 있도록 한다.
도3은 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 설명하기 위한 도면이다.
먼저, 사용자 또는 외부 장치로부터 테스트하고자 하는 소프트웨어의 명세서와, 소프트웨어 개발 국가와 수출 국가에 대한 정보, 기술 분야에 대한 정보를 입력받는다(S1).
그러면, 소프트웨어가 속한 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하여, 해당 소프트웨어가 현지화 위험 요소를 가질 가능성이 있는 지 확인한다(S2).
단계 S2의 확인 결과, 소프트웨어에 현지화 위험 요소가 존재할 가능성이 있다고 판단되면, 소프트웨어 명세서를 분석하여 현지화 위험 요소가 포함된 부분을 검출하고, 이를 테스트 대상 범위로 선택한다(S3).
다만, 테스트 범위가 선택되지 않으면, 소프트웨어 명세서는 현지화 위험 요소를 포함하지 않는다고 판단하고, 소프트웨어 현지화를 위한 테스트 케이스 생성 동작은을 더 이상 수행하지 않도록 한다(S4).
반면, 테스트 범위가 성공적으로 선택되었으면, 해당 범위내에서 현지화 위험 요소를 확인하기 위한 시나리오(예를 들어, "함수**"를 확인하라, 또는 "구동환경***"를 확인하라 등)을 생성한다(S5).
그리고 테스트 시나리오에 대응되는 테스트 강도별 테스트 데이터를 수집한 후 안내하여, 사용자가 테스트 시나리오의 우선순위를 고려하여 다수의 테스트 데이터 중 하나를 최적의 값으로 선택하도록 한다. 또한 이와 동시에 테스트 데이터 입력창을 제공하여, 사용자가 이를 통해 테스트 시나리오에 적용하고자 하는 테스트 데이터를 직접 입력할 수도 있도록 한다(S6).
그리고 테스트 시나리오에 단계 S6을 통해 획득된 테스터 데이터를 적용하여 테스트 케이스를 생성한 후(S7), 사용자에게 이를 추천하도록 한다(S8).
단계 S8의 테스트 케이스 추천 단계는 생성된 테스트 케이스에 대한 정보만을 제공할 수 있으나, 필요한 경우 중요도에 대한 정보를 함께 제공하여 사용자가 테스트 케이스별로 상대적인 중요성을 파악하고, 이를 고려하여 소프트웨어 테스트 동작을 우선적으로 수행할 테스트 케이스를 선택할 수 있도록 해준다.
이와 같이 구성 및 동작하는 테스트 케이스 생성 장치가 다수개 존재할 수 있는 데, 이러한 경우 각각의 테스트 케이스 생성 장치를 통해 수집 및 관리되는 현지화 정보가 서로 상이할 수 있다. 이에 본 발명은 도4와 같은 네트워크 시스템을 추가로 제안하고, 각각의 테스트 케이스 생성 장치를 통해 수집 및 관리되는 현지화 정보가 통합 관리될 수 있도록 한다.
또한 필요한 경우, 본 발명의 테스트 케이스 생성 장치는 도4와 같이 구성되어 현지화 정보를 기반으로 테스트 케이스를 자동 생성할 수도 있도록 한다.
도4는 본 발명의 다른 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 도시한 도면이다.
도4를 참고하면, 상기 테스트 케이스 생성 장치는 현지화 정보 관리부(110), 테스트 범위 획득부(120), 테스트 케이스 생성부(130), 테스트 케이스 추천부(140), 정보 저장부(150), 사용자 인터페이스(160), 및 장치 인터페이스(170) 등을 포함하여 구성된다.
이하, 각 구성요소의 기능을 보다 상세히 살펴보면 다음과 같다.
현지화 정보 관리부(110)은 소프트웨어의 구동환경에 대한 정보들을 국가별, 더 나아가 기술별로 수집한다. 그리고 도2에 도시된 바와 같이 구동 환경 정보 각각에 관련된 함수들과, 함수 각각이 입력 데이터 또는 출력 데이터로 사용하는 데이터 형태들을 정의하고, 구동 환경 정보와 매핑하여 현지화 정보를 생성 및 저장하도록 한다.
또한, 본 발명에서는 테스트 케이스 생성 장치가 다수개 존재하는 경우, 테스트 케이스 생성 장치를 통해 획득되는 현지화 정보가 서로 상이할 수 있으며, 이들 정보를 하나의 장치를 통해 통합 관리한다면, 보다 다양하고 풍부한 정보를 제공할 수 있음을 고려하여, 다수개 테스트 케이스 생성 장치 각각이 획득한 현지화 정보를 클라우드 기술을 이용하여 통합 관리할 수 있도록 해줄 수도 있다.
즉, 현지화 정보 관리부(110)은 자신이 획득한 현지화 정보를 외부 장치(즉, 클라우드 서버)에 제공하고, 클라우드 서버는 서로 다른 테스트 케이스 생성 장치의 현지화 정보 관리부(110)에서 제공하는 현지화 정보를 수집 및 정렬하여, 통합 저장하도록 한다. 그리고 현지화 정보 관리부(110)의 요청시에 통합 저장된 현지화 정보를 일괄 제공함으로써, 테스트 케이스 생성 장치 각각이 보다 많은 정보를 획득할 수 있도록 한다.
테스트 범위 획득부(120)은 테스트하고자 하는 소프트웨어가 선택되면, 우선 해당 소프트웨어의 개발 국가와 수출 국가, 그리고 기술 분야를 파악한다. 그리고 나서, 해당 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하여, 해당 소프트웨어가 현지화 위험 요소(즉, 서로 상이한 값을 가지는 현지화 정보)를 가지는 지를 확인하도록 한다.
만약, 현지화 위험 요소가 존재한다면, 테스트 범위 획득부(120)은 해당 소프트웨어를 테스트 대상으로 선정하고, 이의 소프트웨어 명세서(또는 소스 코드)를 분석하여 현지화 위험 요소가 포함된 부분을 파악하고, 이를 테스트 대상 범위로 선택 및 출력하도록 한다.
테스트 케이스 생성부(130)은 테스트 범위 획득부(120)에 의해 파악된 현지화 위험 요소를 기반으로 소프트웨어의 현지화 테스트를 위한 항목(즉, 테스트 시나리오)을 추출한 후, 사용자로 하여금 테스트 시나리오별로 최적의 데이터 셋트(S1et)를 선택하도록 한다. 그리고 테스트 시나리오에 데이트 셋트를 조합하여 테스트 케이스를 자동 생성하여 사용자에게 안내하도록 한다.
테스트 케이스 추천부(140)은 테스트 케이스 생성부(130)을 통해 생성된 테스트 케이스를 사용자에게 추천함으로써, 사용자가 이를 참조하여 소프트웨어 현지화를 위한 소프트웨어 테스트, 디버깅 동작을 보다 효율적이고 신뢰도 있게 수행할 수 있도록 한다.
다만, 이와 같이 안내된 테스트 케이스 모두가 선택 및 이용되는 것이 바람직하나, 사용자 필요 또는 테스트 효율 등에 의해 안내된 테스트 케이스 중 일부만이 선택 및 이용되는 것이 일반적이다.
이에 본 발명에서는 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 이를 기반으로 테스트 케이스를 추천하도록 해준다. 즉, 중요도가 높은 순으로 테스트 케이스 제공 순서를 재정렬하거나, 중요도가 기 설정된 값 이상인 테스트 케이스만을 선별적으로 제공할 수 있도록 한다.
또한, 테스트 케이스의 중요도, 테스트 케이스에 대응되는 구동 환경 등에 대한 정보를 부가적으로 안내함으로써, 사용자가 테스트 진행시 이를 참고할 수 있도록 한다.
정보 저장부(150)은 현지화 정보 저장부(51), 테스트 케이스 안내 정보 저장부(52) 등을 포함할 수 있다. 현지화 정보 저장부(51)는 현지화 정보 관리부(110)에 의해 획득 및 관리되는 현지화 정보를 데이터베이스화하여 저장하고, 테스트 케이스 안내 정보 저장부(52)는 테스트 케이스 각각의 사용 빈도수 및 우선 순위에 대한 정보를 데이터베이스화하여 저장할 수 있다.
사용자 인터페이스(160)은 모니터, 키보드, 마우스 등과 같은 데이터 입출력 수단을 구비하고, 이를 통해 테스트 케이스 생성 장치의 동작에 필요한 사용자 제어값과 각종 정보를 획득하거나, 테스트 케이스 생성 장치의 동작 상태, 동작 결과를 통보하기 위한 화면을 구성 및 표시해준다.
장치 인터페이스(170)은 외부 장치(미도시)와 통신 채널을 형성하고, 외부 장치가 테스트 케이스 생성 장치를 원격 제어 및 이용할 수 있도록 해준다. 즉, 장치 인터페이스(170) 또한 사용자 인터페이스(160)과 같이 테스트 케이스 생성 장치의 동작에 필요한 사용자 제어값과 각종 정보를 획득하거나, 테스트 케이스 생성 장치의 동작 상태, 동작 결과를 통보하기 위한 화면을 구성 및 표시해준다.
즉, 본 발명의 테스트 케이스 생성 장치는 현장에 위치하는 사용자뿐만 아니라 원격지에 위치한 사용자 모두에 의해 이용될 수 있는 장치이다.
도5는 본 발명의 다른 실시예에 따른 테스트 케이스 생성부의 상세 구성을 도시한 도면이다.
도5를 참고하면, 본 발명의 테스트 케이스 생성부(130)은 인과 그래프 생성부(131), 테스트 시나리오 생성부(132), 테스트 데이터 획득부(133), 및 테스트 케이스 산출부(134) 등을 포함하여 구성된다.
인과 그래프 생성부(131)는 테스트 범위 획득부(120)에 의해 파악된 현지화 위험 요소를 기반으로 소프트웨어 명세서(또는 소스 코드)를 분석하여, 현지화 위험 요소에 대응되는 함수를 파악한다. 그리고 해당 함수의 입력 데이터를 원인 항목으로, 해당 함수의 출력 데이터를 결과 항목으로 각각 획득하고, 해당 함수의 동작 특성을 기반으로 원인 항목과 결과 항목간 연결 관계(예를 들어, "identity", "not", "or", "and" 관계)를 정의한 후, 이를 그래프화하여 도4와 같은 인과 그래프를 생성 및 표시하도록 한다.
또한, 인과 그래프 생성부(131)는 사용자 편집 메뉴를 제공하여, 사용자가 이들 인과 그래프를 직접 생성 및 수정할 수도 있도록 한다. 이를 통해 사용자는 원인 노드(C)와 결과 노드(E), 그리고 원인 노드(C)와 결과 노드(E) 사이에 위치하는 중간 노드(G)를 생성 및 삭제하거나, 노드(C,E,G)간 연결 관계를 설정 및 수정하거나, 노드(C,E,G)간에 "exclusive", "inclusive", "one and only one", "require", "mask" 중 하나의 제약 사항을 부여하는 등의 편집 동작을 추가로 수행할 수 있을 것이다.
더하여, 인과 그래프 생성부(131)는 인과 그래프를 분석하여 오류 발생 노드, 오류 발생 가능성이 있는 노드 등을 찾아내어 안내할 수도 있다. 예를 들어, 노드간 연결 관계를 기반으로 다른 노드와의 연결 관계가 형성되지 않는 미아 노드가 존재하는지, 참 또는 거짓 중 하나의 값만이 정의된 노드가 존재하는지, 동일 그룹에 속하는 결과간 연결이 존재하지 않는 지, 제한 조건에 반하는 노드간 연결 관계가 형성되어 있는 지 등을 검색하고, 이로 인해 발생 가능한 오류를 예측 및 안내함으로써, 사용자가 해당 오류를 보다 신속하게 인식 및 정정할 수 있도록 한다. 또한, 오류 해결 방안을 예측하고 이를 추가적으로 안내함으로써, 사용자의 오류 정정 동작이 보다 도움을 줄 수 있도록 한다.
테스트 시나리오 생성부(132)는 도6과 같이 인과 그래프 생성부(131)에 의해 생성된 인과 그래프로부터 도7과 같은 테스트 시나리오들을 추출한다. 예를 들어, 다수의 출력 중 하나를 선택하고, 해당 출력을 기준으로 연결된 원인들을 역추적하여 해당 출력을 생성할 수 있는 모든 원인 조합을 검색한다. 그리고 인과 그래프에 설정된 노드간 연결 관계를 기반으로, 원인 조합 각각에 대한 값을 획득하여, 해당 출력에 대응되는 테스트 시나리오를 최종 생성하도록 한다.
참고로, 원인 노드와 출력 노드간 연결 관계가 "identity"관계인 경우에는 원인에 대응되는 값은 "참(T)"으로 설정되고, "not"관계인 경우에는 원인에 대응되는 값은 "거짓(F)"으로 설정될 수 있을 것이다.
이에 도6의 인과 그래프로부터 C1~C5, C8은 "T"이고, C7가 "F" 이면 E1 결과가 도출됨이라는 테스트 시나리오1일, C7가 "T" 이면 E2 결과가 도출됨이라는 테스트 시나리오2이, C8가 "F" 이면 E3 결과가 도출됨이라는 테스트 시나리오3이 생성되게 된다.
테스트 데이터 획득부(133)에서는 소프트웨어 명세서에 대한 경계값 분석 동작을 수행함으로써, 도8과 같이 테스트 시나리오에서 사용될 테스트 데이터를 도출하도록 한다. 이때, 테스트 데이터는 데이터 형태, 참 데이터, 거짓 데이터에 대한 정보 등을 포함하여 구성될 수 있을 것이다.
그리고 사용자가 테스트 강도를 선택할 수 있도록 하고, 사용자가 선택한 테스트 강도에 따라 해당 원인 항목의 참 데이터, 거짓 데이터 중 적어도 하나에 대한 값을 자동 조정할 수도 있도록 한다. 예를 들어, 테스트 강도를 3단계로 나누고, 테스트 강도가 가장 낮은 제1 단계인 경우에는 제1 값을, 중간 단계인 제2 단계인 경우에는 제1 값 보다 협소한 데이터 범위를 가지는 제2값을, 가장 높은 단계인 제3 단계인 경우에는 제2 값 보다 매우 협소한 데이터 범위를 가지는 제3값을 원인에 대한 거짓 데이터로 할당해줄 수 있도록 한다. 다만, 상기와 같이 테스트 강도 조정 동작을 지원하기 위해서는, 테스트 강도 각각에 대응되는 데이터 범위를 사전에 정의 및 저장해주는 작업이 선행되어야 할 것이다.
또한, 테스트 데이터 획득부(133)는 테스트 데이터 입력 메뉴를 추가로 제공하여, 사용자가 각각의 테스트 시나리오에서 사용하고자 하는 테스트 데이터를 직접 입력 또는 수정할 수도 있도록 해준다.
테스트 케이스 산출부(134)는 테스트 시나리오 각각에 테스트 데이터 획득부(133)를 통해 획득된 테스트를 데이터를 적용하여, 도9과 같이 테스트 시나리오 각각을 실행 가능한 테스트 케이스로 변환한다.
도10은 본 발명의 다른 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 방법을 설명하기 위한 도면이다.
만약, 테스트하고자 하는 소프트웨어가 선택되면, 해당 소프트웨어의 개발 국가와 수출 국가, 및 기술 분야를 파악한 후, 해당 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하여, 해당 소프트웨어가 현지화 위험 요소를 가지는 지를 확인한다(S11).
단계 S1의 확인 결과, 소프트웨어에 현지화 위험 요소가 존재할 가능성이 있다고 판단되면(S12), 해당 소프트웨어를 테스트 대상으로 선정하고, 이의 소프트웨어 명세서(또는 소스 코드)를 분석하여 현지화 위험 요소가 포함된 부분을 파악하고, 이를 테스트 대상 범위로 선택한다(S13).
다만, 테스트 대상 범위 선택이 이루어지지 않았으면, 소프트웨어 명세서(또는 소스 코드)는 현지화 위험 요소가 포함되지 않았다고 판단하고 소프트웨어 현지화를 위한 테스트 케이스 생성 동작은 더 이상 수행하지 않도록 한다(S14).
반면, 테스트 대상 범위 선택이 성공적으로 이루어졌으면, 현지화 위험 요소에 대응되는 함수들을 파악한다. 그리고 해당 함수 각각의 입력 데이터, 출력 데이터, 함수 동작 특성을 참고하여 인과 그래프를 생성하고, 이를 기반으로 테스트 시나리오를 생성한다(S15).
그리고 소프트웨어 명세서에 대한 경계값 분석 동작을 수행함으로써, 테스트 시나리오에서 사용될 테스트 데이터를 자동 도출하거나, 사용자로부터 테스트 데이터에 대한 정보를 수동 입력받아, 테스터 데이터를 획득한다(S16).
그리고 테스트 시나리오 각각에 테스터 데이터를 적용하여 테스트 케이스를 생성한다(S17).
그리고 테스트 케이스 각각의 중요도를 확인하고(S18), 중요도가 높은 순위로 생성된 테스트 케이스를 추천하거나, 중요도가 기 설정된 값 이상인 테스트 케이스만을 선택적으로 추천하도록 한다(S19).
도11는 본 발명의 일 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치를 포함하는 네트워크 시스템을 도시한 도면이다.
도11을 참고하면, 본 발명의 네트워크 시스템은 다수의 테스트 케이스 생성 장치(100)와 데이터베이스 서버(200)를 포함하며, 다수의 테스트 케이스 생성 장치(100)와 데이터베이스 서버(200)는 통신망(300)을 통해 서로 연결되도록 한다.
다수의 테스트 케이스 생성 장치(100)(특히, 현지화 정보 관리부(10)) 각각은 주기적으로 또는 사용자 또는 외부장치로부터 새로운 현지화 정보가 입력받을 때마다, 자신에 저장된 현지화 정보를 데이터베이스 서버(200)에 전송하도록 한다.
그러면, 데이터베이스 서버(200)는 다수의 테스트 케이스 생성 장치(100)(특히, 현지화 정보 관리부(10)) 각각으로부터 전송되는 현지화 정보를 모두 수집하고, 이를 국가 및 기술 분야별로 재정렬한 후, 통합 저장하도록 한다.
그리고 통합 저장된 현지화 정보를 다시 다수의 테스트 케이스 생성 장치(100)에 제공함으로써, 다수의 테스트 케이스 생성 장치(100) 각각이 보다 풍부한 정보를 기반으로 상기의 테스트 케이스 생성 동작을 수행할 수 있도록 한다.
이와 같이, 본 발명의 네트워크 시스템은 다수의 테스트 케이스 생성 장치(100)에 분산 저장되는 현지화 정보를 수집 및 통합함으로써 빅 데이터를 생성하도록 하고, 이에 따라 보다 정확하고 다양한 테스트 케이스 생성 동작이 수행될 수 있도록 한다.
이상에서 전술한 바와 같은 이를 구현하기 위한 프로그램 명령어로서 구현될 수 있으며, 이러한 프로그램 명령어를 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 장치에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
본 발명의 각 실시예에 따른 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법을 구동시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC뿐 만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말 등의 모바일 단말을 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 데이터 형식는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 데이터 형식을 포함한 모든 데이터 형식들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 데이터 형식과 같이 일반적으로 사용되는 데이터 형식들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (18)

  1. 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 현지화 정보 관리부;
    상기 현지화 정보를 기반으로 소프트웨어 명세서를 분석하여, 상기 소프트웨어 명세서에 포함된 현지화 위험 요소를 확인하는 현지화 위험 요소 식별부;
    상기 현지화 위험 요소를 기반으로 상기 소프트웨어 명세서에 대응되는 테스트 시나리오를 추출하는 테스트 시나리오 추출부;
    상기 테스트 시나리오에 대응되는 테스트 데이터를 획득하는 테스트 데이터 선택부;
    상기 테스트 시나리오에 상기 테스트 데이터를 적용하여 테스트 케이스를 생성하는 테스트 케이스 생성부; 및
    상기 테스트 케이스를 사용자에게 추천하는 테스트 케이스 추천부를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  2. 제1항에 있어서, 상기 현지화 정보는
    구동환경에 관련된 적어도 하나의 함수, 상기 함수 각각이 사용하는 적어도 하나의 데이터 형식에 대한 정보를 포함하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  3. 제1항에 있어서, 상기 현지화 위험 요소 식별부는
    상기 소프트웨어의 개발 국가와 수출 국가, 및 기술 분야를 파악한 후, 상기 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하고, 서로 상이한 데이터 형식을 가지는 함수를 현지화 위험 요소로 획득하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  4. 제1항에 있어서, 상기 테스트 데이터 선택부는
    경계값 분석 동작을 통해 테스트 시나리오에 대응되는 테스트 데이터를 테스트 강도별로 수집하고, 사용자 동의하에 상기 수집된 테스트 데이터 중 하나를 상기 테스트 시나리오에 대응되는 테스트 데이터로 선택하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  5. 제1항에 있어서, 상기 테스트 데이터 선택부는
    사용자가 수동 입력하는 테스트 데이터를 상기 테스트 시나리오에 대응되는 테스트 데이터로 선정하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  6. 제1항에 있어서, 상기 테스트 케이스 추천부는
    상기 테스트 케이스 각각의 중요도를 산출하고, 상기 산출된 중요도를 사용자에게 추가 제공하거나, 상기 산출된 중요도를 기반으로 테스트 케이스 추천 순서를 변경하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  7. 소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 현지화 정보 관리부;
    상기 현지화 정보를 기반으로 소프트웨어의 명세서 또는 소스 코드를 분석하여, 상기 소프트웨어에 포함된 현지화 위험 요소를 확인하는 테스트 범위 획득부;
    상기 현지화 위험 요소를 기반으로 테스트 시나리오를 추출하고, 상기 테스트 시나리오의 테스트 데이터를 획득하여, 테스트 케이스를 생성 및 출력하는 테스트 케이스 생성부; 및
    상기 테스트 케이스를 사용자에게 추천하는 테스트 추천부를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  8. 제7항에 있어서, 상기 현지화 정보 관리부는
    구동 환경 정보 각각에 관련된 함수들과, 함수 각각이 입력 데이터 또는 출력 데이터로 사용하는 데이터 형태들을 정의하고, 상기 구동 환경 정보와 매핑하여 상기 현지화 정보를 생성하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  9. 제7항에 있어서, 상기 현지화 정보 관리부는
    상기 현지화 정보를 클라우드 방식으로 통합 저장 및 제공받을 수 있도록 하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  10. 제7항에 있어서, 상기 테스트 범위 획득부는
    상기 소프트웨어의 개발 국가와 수출 국가, 및 기술 분야를 파악한 후, 상기 기술 분야하에서의 개발 국가와 수출 국가의 현지화 정보들을 획득 및 비교 분석하고, 서로 상이한 값을 가지는 현지화 정보를 상기 소프트웨어의 현지화 위험 요소로 획득하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  11. 제7항에 있어서, 상기 테스트 케이스 생성부는
    상기 현지화 위험 요소를 기반으로 소프트웨어 명세서 또는 소스 코드를 분석하여, 인과 그래프를 생성하는 인과 그래프 생성부;
    상기 인과 그래프로부터 테스트 시나리오들을 추출하는 테스트 시나리오 생성부;
    경계값 분석 동작 등을 통해 상기 테스트 시나리오에서 사용될 테스트 데이터를 자동 도출하거나, 사용자로부터 상기 테스트 시나리오에서 사용될 테스트 데이터를 입력받는 테스트 데이터 획득부; 및
    상기 테스트 시나리오와 상기 테스트 데이터를 기반으로 테스트 케이스를 생성 및 출력하는 테스트 케이스 생성부를 포함하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  12. 제11항에 있어서, 상기 인과 그래프 생성부는
    상기 현지화 위험 요소에 대응되는 함수를 추출하고, 상기 함수의 의 입력 데이터를 원인 항목으로, 상기 함수의 출력 데이터를 결과 항목으로 각각 획득하고, 상기 함수의 동작 특성을 기반으로 원인 항목과 결과 항목간 연결 관계를 정의함으로써, 상기 인과 그래프를 생성하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  13. 제12항에 있어서, 상기 인과 그래프 생성부는
    사용자 편집 메뉴를 제공하고, 상기 사용자 편집 메뉴를 통해 입력되는 사용자 제어값에 따라 상기 인과 그래프를 생성 및 수정하는 기능을 더 포함하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  14. 제7항에 있어서, 상기 테스트 추천부는
    상기 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 중요도가 높은 순으로 테스트 케이스를 추천하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  15. 제7항에 있어서, 상기 테스트 추천부는
    상기 테스트 케이스 각각의 우선순위 및 선택 이력을 추적 및 수집하여 테스트 케이스 각각의 중요도를 산출하고, 중요도가 기 설정된 값 이상인 테스트 케이스만을 선별 및 추천하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  16. 제14항 또는 제15항에 있어서, 상기 테스트 추천부는
    상기 테스트 케이스의 우선순위, 상기 테스트 케이스에 대응되는 구동 환경에 대한 정보를 추가 안내하는 기능을 더 포함하는 것을 특징으로 하는 소프트웨어 현지화를 위한 테스트 케이스 생성 장치.
  17. 테스트 케이스 생성 장치의 소프트웨어 현지화를 위한 테스트 케이스 생성 방법에 있어서,
    상기 테스트 케이스 생성 장치가
    소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 단계;
    상기 현지화 정보를 기반으로 소프트웨어 명세서를 분석하여, 상기 소프트웨어 명세서에 포함된 현지화 위험 요소를 확인하는 단계;
    상기 현지화 위험 요소를 기반으로 상기 소프트웨어 명세서에 대응되는 테스트 시나리오를 추출하고, 상기 테스트 시나리오에 대응되는 테스트 데이터를 획득하는 단계; 및
    상기 테스트 시나리오에 상기 테스트 데이터를 적용하여 테스트 케이스를 생성한 후, 사용자에게 추천하는 단계를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 방법.
  18. 테스트 케이스 생성 장치의 소프트웨어 현지화를 위한 테스트 케이스 생성 방법에 있어서,
    상기 테스트 케이스 생성 장치가
    소프트웨어 구동환경에 대한 정보를 국가 및 기술별로 수집하여 현지화 정보를 생성 및 저장하는 단계;
    소프트웨어가 선택되면, 상기 현지화 정보를 기반으로 상기 소프트웨어의 명세서 또는 소스 코드를 분석하여, 상기 소프트웨어에 포함된 현지화 위험 요소를 확인하는 단계;
    상기 현지화 위험 요소를 기반으로 테스트 시나리오를 추출하고, 상기 테스트 시나리오의 테스트 데이터를 획득하여, 테스트 케이스를 생성 및 출력하는 단계를 포함하는 소프트웨어 현지화를 위한 테스트 케이스 생성 방법.
KR1020140136508A 2014-10-10 2014-10-10 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법 KR101588027B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140136508A KR101588027B1 (ko) 2014-10-10 2014-10-10 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140136508A KR101588027B1 (ko) 2014-10-10 2014-10-10 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101588027B1 true KR101588027B1 (ko) 2016-01-25

Family

ID=55306991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140136508A KR101588027B1 (ko) 2014-10-10 2014-10-10 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101588027B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767481B1 (ko) * 2016-04-07 2017-08-11 코드마인드(주) 프로그램 분석 장치 및 프로그램 분석 제공 방법
KR20180054255A (ko) * 2016-11-15 2018-05-24 국방과학연구소 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법
KR20180056349A (ko) 2016-11-18 2018-05-28 (주)씽크포비엘 테스트케이스 설계 정보의 추적 분석을 위한 시각화 방법, 테스트케이스 생성 장치 및 컴퓨터 판독가능 기록매체
KR20190068829A (ko) * 2017-12-11 2019-06-19 현대자동차주식회사 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법
KR20210001038A (ko) * 2019-06-26 2021-01-06 넷마블 주식회사 Lqa 테스트 자동화를 위한 컴퓨터 프로그램
US10915432B2 (en) 2017-11-13 2021-02-09 Hyundai Motor Company Test case management system and method
CN112597025A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 一种测试案例生成方法及装置
KR102536392B1 (ko) * 2022-11-01 2023-05-26 주식회사 큐로드 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099425A (ja) * 2000-09-25 2002-04-05 Hitachi Ltd グローバル変数のローカル変数変換方法
JP2007034813A (ja) * 2005-07-28 2007-02-08 National Institute Of Advanced Industrial & Technology 複数自然言語のソフトウェア説明書生成システム
JP2009048259A (ja) * 2007-08-14 2009-03-05 Seiko Epson Corp プログラム変換方法及び変換用プログラム
KR20130012603A (ko) * 2011-07-26 2013-02-05 김재식 복수의 운영체제와 호환 가능한 가상머신 생성 방법 및 가상머신 프로그램을 저장한 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099425A (ja) * 2000-09-25 2002-04-05 Hitachi Ltd グローバル変数のローカル変数変換方法
JP2007034813A (ja) * 2005-07-28 2007-02-08 National Institute Of Advanced Industrial & Technology 複数自然言語のソフトウェア説明書生成システム
JP2009048259A (ja) * 2007-08-14 2009-03-05 Seiko Epson Corp プログラム変換方法及び変換用プログラム
KR20130012603A (ko) * 2011-07-26 2013-02-05 김재식 복수의 운영체제와 호환 가능한 가상머신 생성 방법 및 가상머신 프로그램을 저장한 기록매체

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767481B1 (ko) * 2016-04-07 2017-08-11 코드마인드(주) 프로그램 분석 장치 및 프로그램 분석 제공 방법
KR20180054255A (ko) * 2016-11-15 2018-05-24 국방과학연구소 오류 모의 함수를 이용한 자동화 기반 강건성 검증 장치 및 방법
KR20180056349A (ko) 2016-11-18 2018-05-28 (주)씽크포비엘 테스트케이스 설계 정보의 추적 분석을 위한 시각화 방법, 테스트케이스 생성 장치 및 컴퓨터 판독가능 기록매체
WO2018190487A1 (ko) * 2016-11-18 2018-10-18 (주)씽크포비엘 테스트케이스 설계 정보의 추적 분석을 위한 시각화 방법, 테스트케이스 생성 장치 및 컴퓨터 판독가능 기록매체
US10915432B2 (en) 2017-11-13 2021-02-09 Hyundai Motor Company Test case management system and method
KR20190068829A (ko) * 2017-12-11 2019-06-19 현대자동차주식회사 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법
KR102485341B1 (ko) * 2017-12-11 2023-01-05 현대자동차주식회사 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법
KR20210001038A (ko) * 2019-06-26 2021-01-06 넷마블 주식회사 Lqa 테스트 자동화를 위한 컴퓨터 프로그램
KR102307871B1 (ko) 2019-06-26 2021-09-30 넷마블 주식회사 Lqa 테스트 자동화를 위한 컴퓨터 프로그램
CN112597025A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 一种测试案例生成方法及装置
KR102536392B1 (ko) * 2022-11-01 2023-05-26 주식회사 큐로드 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램

Similar Documents

Publication Publication Date Title
KR101588027B1 (ko) 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
CN106844217B (zh) 对应用的控件进行埋点的方法及装置、可读存储介质
CN110413506B (zh) 测试用例推荐方法、装置、设备及存储介质
US11030167B2 (en) Systems and methods for providing data quality management
US20120016701A1 (en) Intelligent timesheet assistance
CN104239158A (zh) 用于自动分析和链接错误日志的分析引擎
KR101554424B1 (ko) 테스트 케이스 생성 자동화 방법 및 장치
US10152405B2 (en) Application testing system and method
US11074162B2 (en) System and a method for automated script generation for application testing
US20130080834A1 (en) Computer product, test support method, and test support apparatus
US10817140B2 (en) Sequential data
US11055208B1 (en) Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time
US10346294B2 (en) Comparing software projects having been analyzed using different criteria
KR101312446B1 (ko) 사용자의 행위 로그를 이용한 모바일 어플리케이션의 사용성 분석 장치 및 방법
US9734042B1 (en) System, method, and computer program for automated parameterized software testing
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN105183658A (zh) 测试软件代码的方法及装置
US8347223B2 (en) GUI evaluation system, method, and program for evaluating a text input component
US8924871B2 (en) GUI evaluation system, GUI evaluation method, and GUI evaluation program
US20200320409A1 (en) Model creation supporting method and model creation supporting system
KR101164849B1 (ko) 소프트웨어 평가정보 제공방법, 기록매체, 및 평가정보 제공장치
CN107430590B (zh) 用于数据比较的系统和方法
US8826185B2 (en) GUI evaluation system, GUI evaluation method, and GUI evaluation program
CN113900962A (zh) 代码差异检测方法及装置
KR20100069147A (ko) 웹사이트 품질 테스트 방법 및 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200116

Year of fee payment: 5