KR102002545B1 - Code test automatic proceeding method through virtualixation and appratus for the same - Google Patents
Code test automatic proceeding method through virtualixation and appratus for the same Download PDFInfo
- Publication number
- KR102002545B1 KR102002545B1 KR1020170173472A KR20170173472A KR102002545B1 KR 102002545 B1 KR102002545 B1 KR 102002545B1 KR 1020170173472 A KR1020170173472 A KR 1020170173472A KR 20170173472 A KR20170173472 A KR 20170173472A KR 102002545 B1 KR102002545 B1 KR 102002545B1
- Authority
- KR
- South Korea
- Prior art keywords
- output value
- value
- test
- normal
- predetermined input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test 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)
- Debugging And Monitoring (AREA)
Abstract
본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 방법은 소스코드 테스트를 위한 실물 환경에서, 소정의 입력값을 테스트 수행환경정보에 기초해 확정테스트를 수행하여, 상기 소정의 입력값에 대응하는 제 1 출력값과 상기 제 1 출력값의 정상유무를 판별하는 제 1 정상유무판별값을 획득하는 단계, 상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 저장하는 단계, 코드 테스트를 위하여 상기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 상기 기 저장된 소정의 입력값을 회귀테스트 수행하여, 상기 저장된 소정의 입력값에 대응하는 제 2 출력값과 상기 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득하는 단계 및 가상 환경에서의 상기 제 2 출력값을 실물 환경에서의 상기 제 1 출력값과 비교하여, 해당 비교 결과를 출력하는 단계를 포함할 수 있다.A method for automating code test execution through virtualization according to an embodiment of the present invention includes the steps of performing a confirm test on a predetermined input value based on test execution environment information in a real environment for source code test, Obtaining a first normal presence / absence discrimination value for discriminating whether or not the first output value is normal; determining whether the predetermined input value, the test execution environment information, the first output value, And a second output value corresponding to the stored predetermined input value and a second output value corresponding to the stored predetermined input value in a virtual environment driven by the stored test execution environment information for code testing, Obtaining a second normal presence / absence discrimination value for discriminating whether or not the second output value is normal, and acquiring the second output value in the virtual environment Compared with the first output value in the it may include a step of outputting the result of the comparison.
Description
본 발명은 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치에 관한 것으로, 보다 구체적으로 실물 환경에서의 코드 테스트 수행 결과를 저장하여, 저장된 테스트 수행 결과를 바탕으로 가상 환경에서 다시 코드 테스트 하기 위한 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for automating code test execution through virtualization, more specifically, by storing virtual test results in a real environment, And a method and apparatus for automating code test execution.
종래에는 개발된 소프트웨어를 검증하기 위해 사람이 일일이 테스트를 수행하여 왔다. 이 경우, 수천번 내지 수만번 반복되는 테스트를 오프라인 상에서 사람이 일일이 수행함으로서, 시간이 많이 들고 이로 인한 비용 또한 상당히 많이 들게 되었다. 특히, 테스트 수행시 오류가 발생하는 경우, 오류가 발생한 부분을 오류가 발생하지 않을 때까지 반복 수행해왔으며, 개발된 소프트웨어의 버전이 올라갈 때마다 이러한 과정을 반복함으로서 상기 문제점에 대한 해결책이 시급한 실정이다.Conventionally, a person has been performing tests to verify developed software. In this case, since the person performs the test repeatedly from several thousands to tens of thousands of times offline, it is time-consuming and the cost is also considerably high. In particular, if an error occurs during the execution of the test, the error occurrence part is repeated until no error occurs, and a solution to the above problem is urgently required by repeating this process each time the developed software version is upgraded .
본 발명은 상기 문제점을 해결하기 위해 도출된 것으로, 반복되는 테스트를 사람이 직접 오프라인에서 수행하는 것이 아닌, 가상화 환경에서 자동 수행되도록 제어함으로서, 테스트 수행에 드는 시간과 노력을 단축시키는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above problems, and it is an object of the present invention to shorten the time and effort required for performing a test by automatically performing a repeated test in a virtualized environment, .
본 발명의 일 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 방법은 코드 테스트를 위한 실물 환경에서, 소정의 입력값을 테스트 수행환경정보에 기초해 확정테스트를 수행하여, 상기 소정의 입력값에 대응하는 제 1 출력값과 상기 제 1 출력값의 정상유무를 판별하는 제 1 정상유무판별값을 획득하는 단계, 상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 저장하는 단계, 코드 테스트를 위하여 상기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 상기 기 저장된 소정의 입력값을 회귀테스트 수행하여, 상기 저장된 소정의 입력값에 대응하는 제 2 출력값과 상기 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득하는 단계 및 가상 환경에서의 상기 제 2 출력값을 실물 환경에서의 상기 제 1 출력값과 비교하여, 해당 비교 결과를 출력하는 단계를 포함할 수 있다.A method for automating code test execution through virtualization according to an exemplary embodiment of the present invention includes performing a confirm test on a predetermined input value based on test execution environment information in a real environment for code test, Obtaining a first normal presence / absence discrimination value for discriminating whether or not the first output value is normal; determining whether the predetermined input value, the test execution environment information, the first output value, And a second output value corresponding to the stored predetermined input value and a second output value corresponding to the stored predetermined input value in a virtual environment driven by the stored test execution environment information for code testing, Obtaining a second normal presence / absence discrimination value for discriminating whether or not the second output value is normal, and acquiring the second output value in the virtual environment Compared with the first output value in the it may include a step of outputting the result of the comparison.
본 발명의 다른 실시예에 따른 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체는 상기 방법에 따른 컴퓨터 프로그램을 기록할 수 있다.A computer-readable recording medium for recording a computer program according to another embodiment of the present invention can record a computer program according to the method.
본 발명의 또 다른 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 장치는 소스코드 테스트를 위한 실물 환경에서, 소정의 입력값을 테스트 수행환경정보에 기초해 확정테스트를 수행하여, 상기 소정의 입력값에 대응하는 제 1 출력값과 상기 제 1 출력값의 정상유무를 판별하는 제 1 정상유무판별값을 획득하는 실물환경데이터획득부, 상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 저장하는 메모리부, 코드 테스트를 위한 가상 환경에서, 상기 메모리부에 기 저장된 소정의 입력값을 회귀테스트 수행하여, 상기 저장된 소정의 입력값에 대응하는 제 2 출력값과 상기 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득하는 가상환경데이터획득부 및 가상 환경에서의 상기 제 2 출력값을 실물 환경에서의 상기 제 1 출력값과 비교하여, 해당 비교 결과를 출력하는 비교판단부를 포함할 수 있다.The apparatus for automated code test execution through virtualization according to another embodiment of the present invention performs a confirm test on a predetermined input value based on test execution environment information in a real environment for source code test, A first output value corresponding to the first output value, and a first normal presence / absence discrimination value for discriminating whether the first output value is normal or not; a second input / output unit for inputting the predetermined input value, the test execution environment information, A memory unit for storing the first normal presence / absence discrimination value; and a second output value corresponding to the stored predetermined input value by performing a regression test on a predetermined input value pre-stored in the memory unit in a virtual environment for code testing, A virtual environment data acquisition unit for acquiring a second normal presence / absence discrimination value for discriminating whether or not the second output value is normal; A as compared with the first output value in the real environment, and may include comparison judgment and outputting the result of the comparison unit.
본 발명에 따르면, 반복되는 코드 테스트를 사람이 직접 오프라인에서 수행하는 것이 아닌, 가상화 환경에서 자동 수행되도록 제어함으로서, 코드 테스트 수행에 드는 시간과 노력이 단축될 수 있게 된다.According to the present invention, it is possible to shorten the time and effort required to perform the code test by controlling the repeated code test to be performed automatically in a virtualized environment, rather than being performed directly offline.
도 1은 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 장치에 대한 블록도이다.
도 2는 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 방법에 대한 순서도이다.
도 3은 도 2의 비교판단부의 판단절차(S240)을 상세화한 순서도이다.
도 4는 본 발명의 실시예에 따라 가상화를 통한 코드 테스트 수행 자동화 장치(1)에서 계산기 어플리케이션이 구동되는 경우의 실물 환경 DB(410)와 가상 환경 DB(420)를 나타내기 위해 참조한 도면이다.1 is a block diagram of an apparatus for performing a code test through virtualization according to an embodiment of the present invention.
2 is a flowchart illustrating a method of automating code test execution through virtualization according to an embodiment of the present invention.
FIG. 3 is a detailed flowchart of a determination procedure (S240) of the comparison determination unit of FIG.
4 is a diagram referred to for illustrating a
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.
이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치에 대해 기술하고자 한다. Hereinafter, a method and apparatus for automating code test execution through virtualization according to an embodiment of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 장치(1)에 대한 블록도이다.1 is a block diagram of an
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 장치(1)는 입력부(100), 제어부(200), 메모리부(300), 출력부(400)를 포함할 수 있다.1, an
본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 장치(1)는 운영체제에 의해 구동되고, 소프트웨어의 설치 및 편집이 가능한 장치로서, 프로그램 모듈 또는 하드웨어들을 포함한다. 메모리부(300)를 구비하고 마이크로 프로세서(이하, 제어부(200)라 한다)를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 장치(1)로서 이용될 수 있다. 예를 들어, 데스크탑(desktop) 컴퓨터, 노트북(notebook) 컴퓨터, PDA(Personal Digital Assistant) 및 스마트폰(smart phone)과 같은 전자 장치일 수 있다. The
입력부(100)는 사용자가 컴퓨팅 시스템을 조작할 수 있도록 하는 입력 경로가 되는 것으로, 키보드, 마우스, 포인팅 장치, 터치 스크린 등을 포함할 수 있다. 본 발명의 경우, 입력부(100)를 통해 테스트 코드가 입력되며, 제어부(200)는 입력된 테스트 코드를 테스트 수행하여, 해당 결과가 출력부(400)로 출력될 수 있다. 입력부(100)는 실물코드입력부(110) 및 가상코드입력부(120)를 포함하고, 실물코드입력부(110)를 통해 사용자로부터 테스트 코드가 입력되고, 입력된 테스트 코드가 실물환경데이터획득부(210)를 통해 메모리부(300)에 저장되면, 저장된 테스트 코드는 다시 가상코드입력부(120)를 통해 가상환경데이터획득부(220)로 전송된다.The
제어부(200)는 입력부(100), 메모리부(300), 출력부(400)와 연동되어 가상화를 통한 코드 테스트 수행 장치(1)를 제어하는 것으로, 본 발명의 일 실시예에 따라 실물환경데이터획득부(210), 가상환경데이터획득부(220), 및 비교판단부(230)를 포함할 수 있다. 본 발명의 실시예에 따라 실물환경데이터획득부(210)는 코드 테스트를 위한 실물 환경에서, 소정의 입력값을 테스트 수행환경정보에 기초해 확정테스트를 수행하여, 소정의 입력값에 대응하는 제 1 출력값과 제 1 출력값의 정상유무를 판별하는 제 1 정상유무판별값을 획득할 수 있다. 그리고 가상환경데이터획득부(220)는 코드 테스트를 위하여 기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 메모리부(300)에 기 저장된 소정의 입력값을 회귀테스트 수행하여, 기 저장된 소정의 입력값에 대응하는 제 2 출력값과 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득할 수 있다. 또한, 비교판단부(230)는 가상 환경에서의 제 2 출력값을 실물 환경에서의 제 1 출력값과 비교하여, 해당 비교 결과를 출력할 수 있다.The
메모리부(300)는 가상화를 통한 코드 테스트 수행 장치(1)의 다양한 정보를 저장한다. 메모리부(300)는 가상화를 통한 코드 테스트 수행 장치(1)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 가상화를 통한 코드 테스트 수행 장치(1)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수도 있다. 또한, 본 발명의 일 실시예에 따라 메모리부(300)는 소정의 입력값, 테스트 수행환경정보, 제 1 출력값, 및 제 1 정상유무판별값 이외에, 제 2 출력값 및 제 2 정상유무판별값을 저장할 수 있다.The
출력부(400)는 터치스크린, 모니터 등을 포함하며, 제어부(200)를 통해 처리된 결과를 디스플레이할 수 있다. 특히, 본 발명에 따르면 제 2 출력값과 제 1 출력값을 비교한 결과를 출력할 수 있다. The
지금까지는 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 장치의 구성을 기술하였으며, 하기에서 가상화를 통한 코드 테스트 수행 자동화 방법에 대해 기술하고자 한다. Up to now, a configuration of an automatic code test execution apparatus through virtualization according to an embodiment of the present invention has been described, and a method of automating code test execution through virtualization will be described below.
도 2는 본 발명의 실시예에 따른 가상화를 통한 코드 테스트 수행 자동화 방법에 대한 순서도이다.2 is a flowchart illustrating a method of automating code test execution through virtualization according to an embodiment of the present invention.
도 2에 도시한 바와 같이, 본 발명의 실시예에 따른 실물환경데이터획득부(210)는 먼저, 코드 테스트를 위한 실물 환경에서, 소정의 입력값을 테스트하여 소정의 입력값에 대응하는 출력값을 획득할 수 있다. 구체적으로, 실물환경데이터획득부(210)는 테스트 수행환경정보에 기초해 확정테스트를 수행하여, 소정의 입력값에 대응하는 제 1 출력값과, 제 1 출력값의 정상유무를 판별하는 제 1 정상유무판별값을 획득할 수 있다(S210). 그리고, 상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 메모리(300)에 저장할 수 있다(S220). 이러한 소정의 입력값, 테스트 수행환경정보, 제 1 출력값, 및 제 1 정상유무판별값은 코드 테스트를 수행하는 장치에 저장될 수도 있으나, 별도의 외부 장치(예, USB)에 저장될 수도 있다. 그리고, 테스트 수행환경정보는 데이터베이스 데이터, 파일, 환경 변수, 또는 장치 입력 신호 등을 포함할 수 있다.As shown in FIG. 2, the real environment
예를 들어, 도 4에 도시한 바와 같이, 메모리(300)는 실물 환경 DB(410)와 가상 환경 DB(420)를 저장할 수 있으며, 각 DB에는 코드 테스트 케이스(TC1, TC2 또는 TC1a, TC1b, TC2a, TC2b) 에 관련된 정보가 각각 포함될 수 있다. 그리고, 각 코드 테스트 케이스는 입력값 정보, 수행 환경 정보, 출력값(A, A') 정보, 및 정상유무판별값(N, N') 정보를 포함할 수 있다. 본 발명에서 입력값 정보는 테스트를 수행하기 위해 입력되는 값이고, 수행 환경 정보는 테스트를 수행하는 변수나 조건 등의 정보이고, 출력값(A, A')은 테스트 수행 결과값이며, 정상유무판별값(N,N')은 테스트 수행 결과, 입력값이 제대로 테스트 수행 되었는지 여부에 대해 판별한 정보이다. 만일, 정상유무판별값(N,N')이 비정상으로 얻어진 경우, 테스트 케이스(입력값)가 수행되기 위한 원본 소스코드에 수정이 가해진 것으로 인식될 수 있다. 즉, 본 발명에 의하면, 동일한 코드 테스트 케이스(입력값)를 수행해도 출력값이나 정상유무판별값이 원본 소스코드 변경에 따라 다르게 출력될 수 있으므로, 원본 소스코드에 수정이 가해졌는지 여부를 판별하는 것이 중요할 수 있다. 4, the
도 4는 본 발명의 실시예에 따라 가상화를 통한 코드 테스트 수행 자동화 장치(1)에서 계산기 어플리케이션이 구동되는 경우의 실물 환경 DB(410)와 가상 환경 DB(420)에 대한 도면이다. 이 때, 테스트 수행 환경 정보는 공학용 계산기, 일반 계산기, 프로그래머용 계산기 등의 정보가 될 수 있으며, 본 발명의 경우, 특히 공학용 계산기 어플리케이션에서 SUM함수가 구동될 때를 가정한다. FIG. 4 is a diagram of a
도 4에 도시한 바와 같이, 실물환경데이터획득부(210)는 제 1 테스트 케이스(TC1)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 확정테스트를 수행하여, 소정의 입력값(1,1)에 대응하는 제 1 출력값(2)과, 제 1 출력값(2)의 정상유무를 판별하는 제 1 정상유무판별값(정상)을 획득할 수 있다. 또한, 제 2 테스트 케이스(TC2)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 확정테스트를 수행하여, 소정의 입력값(1,1)에 대응하는 제 1 출력값(3)과, 제 1 출력값(3)의 정상유무를 판별하는 제 1 정상유무판별값(비정상)을 획득할 수 있다. 전술한 예에서 "정상"은 1+1=2를 의미하고, "비정상"은 1+1=3을 의미한다. 그리고, 상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 메모리(300)에 저장할 수 있다.4, the real environment
다음, 가상환경데이터획득부(220)는 코드 테스트를 위하여 기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 기 저장된 소정의 입력값을 다시 테스트할 수 있다. 구체적으로, 확정 테스트를 수행했던 입력값(테스트 케이스)과 동일한 입력값을 부여하였을 때, 실물 환경에서의 제 1 출력값과 다른 가상 환경에서의 제 2 출력값이 획득된 것이 원본 소스코드 변경(예를 들어, 소스코드 버전 업)에 의한 것으로 판단되기 위해서는, 확정테스트를 수행한 테스트 수행환경정보와 회귀테스트를 수행하기 위한 테스트 수행환경정보는 서로 동일하다는 전제가 필요한 것이다. 다시 말해, 가상 환경에서 회귀테스트 수행시, 테스트 수행 결과에 영향을 주는 모든 외부 요인들을 고정시켜 제 2 출력값이 제 1 출력값과 다른 것이 원본 소스코드 변경에 의한 것으로 판단하기 위함이다. 이러한 가상 환경에서의 테스트는 사용자에 의한 직접적인 테스트가 아닌, 가상화를 통한 코드 테스트 수행 자동화 장치(1)에 의한 자동 테스트로, 수천번 내지 수만번 반복 테스트를 보다 용이하고 빠르게 수행할 수 있다. 구체적으로, 가상환경데이터획득부(220)는 기 저장된 소정의 입력값을 자동으로 회귀테스트 수행하여, 메모리(300)에 기 저장된 소정의 입력값에 대응하는 제 2 출력값과 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득할 수 있다(S230). 그리고, 상기 제 2 출력값과 제 2 정상유무판별값은 메모리(300)에 저장될 수 있다.Next, the virtual environment
도 4에 도시한 바와 같이, 가상환경데이터획득부(220)는 제 2 테스트 케이스(TC1a)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 회귀 테스트를 수행하여, 실물 환경에서 메모리(300)에 기 저장된 소정의 입력값(1,1)에 대응하는 제 2 출력값(2)과, 제 2 출력값(2)의 정상유무를 판별하는 제 2 정상유무판별값(정상)을 획득하여 저장할 수 있다. 또한, 제 2 테스트 케이스(TC1b)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 회귀 테스트를 수행하여, 기 저장된 소정의 입력값(1,1)에 대응하는 제 2 출력값(3)과, 제 2 출력값(3)의 정상유무를 판별하는 제 2 정상유무판별값(비정상)을 획득하여 저장할 수 있다. 또한, 제 2 테스트 케이스(TC2a)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 회귀 테스트를 수행하여, 기 저장된 소정의 입력값(1,1)에 대응하는 제 2 출력값(3)과, 제 2 출력값(3)의 정상유무를 판별하는 제 2 정상유무판별값(비정상)을 획득하여 저장할 수 있다. 그리고, 제 2 테스트 케이스(TC2b)로, 테스트 수행환경정보(공학용 계산기 어플리케이션에서 SUM함수 구동)에 기초해 회귀 테스트를 수행하여, 기 저장된 소정의 입력값(1,1)에 대응하는 제 2 출력값(4 또는 2)과, 제 2 출력값(4 또는 2)의 정상유무를 판별하는 제 2 정상유무판별값(확인필요)을 획득하여 저장할 수 있다.4, the virtual environment
이어서, 비교판단부(230)는 가상 환경에서의 제 2 출력값을 실물 환경에서의 제 1 출력값과 비교하여, 해당 비교 결과를 출력할 수 있다(S240).Then, the
구체적으로, 도 3에 도시한 바와 같이, 비교판단부(230)는 저장단계에서 기 저장된 제 1 출력값과 제 1 정상유무판별값을 기초로 제 1 출력값이 정상인지 여부를 판단할 수 있다(S241). 만일, 제 1 출력값이 정상인 것으로 판단한 경우, 제 1 출력값과 제 2 출력값이 서로 동일한지 여부를 판단하며(S242), 동일 여부 판단 결과, 서로 동일한 것으로 판단한 경우, 테스트 통과 메시지를 출력할 수 있으나(S243), 동일 여부 판단 결과, 서로 다른 것으로 판단한 경우, 오류 발생 메시지를 출력할 수 있다(S244). 동일 여부 판단 결과, 서로 다른 것으로 판단한 경우, 원본 소스 코드에 변경이 가해졌음을 의미하므로 이를 나타내는 오류 발생 메시지를 출력하는 것이다.3, the
예를 들어, 실물환경에서의 TC1의 제 1 출력값(2)이 정상인 것으로 판단한 경우, 제 1 출력값(2)과 가상환경에서의 TC1a의 제 2 출력값(2)이 서로 동일한지 여부를 판단하며, TC1a와 같이 서로 동일한 것으로 판단한 경우, 테스트 통과 메시지를 출력할 수 있다. 반면, 제 1 출력값(2)과 가상환경에서의 TC1b의 제 2 출력값(3)이 서로 동일한지 여부를 판단하며, TC1b와 같이 서로 다른 것으로 판단한 경우, 오류 발생 메시지를 출력할 수 있다. TC1b의 경우, 제 1 출력값이 정상인데, 제 2 출력값은 비정상이므로, 가상환경에서의 테스트 수행시 원본 소스코드에 수정이 가해져 오류가 발생함을 나타내는 것으로 판단할 수 있다. For example, when it is determined that the
반면, 비교판단부(230)는 저장단계에서 기 저장된 제 1 출력값과 제 1 정상유무판별값을 기초로 제 1 출력값이 정상인지 여부를 판단할 수 있다(S241). 만일, 제 1 출력값이 비정상인 것으로 판단한 경우, 제 1 출력값과 제 2 출력값이 서로 동일한지 여부를 판단하며(S245), 동일 여부 판단 결과, 서로 동일한 것으로 판단한 경우, 오류 미수정 상태 메시지를 출력할 수 있으나(S246), 동일 여부 판단 결과, 서로 다른 것으로 판단한 경우, 외부 객체에 의한 확인이 필요함을 나타내는 확인요청메시지를 출력할 수 있다(S247)On the other hand, the
예를 들어, 실물환경에서의 TC2의 제 1 출력값(3)이 비정상인 것으로 판단한 경우, 제 1 출력값(3)과 가상환경에서의 TC2a의 제 2 출력값(3)이 서로 동일한지 여부를 판단하며, TC2a와 같이 서로 동일한 것으로 판단한 경우, 오류 미수정 상태 메시지를 출력할 수 있다. 이 경우는, 확정테스트 수행시 원본 소스코드에 변경이 가해진 이후, 회귀테스트 수행시에도 동일한 원본 소스코드를 이용하므로, 오류 미수정 상태 메시지를 출력하는 것이다. 반면, 제 1 출력값(3)과 가상환경에서의 TC2b의 제 2 출력값(4 또는 2)이 서로 동일한지 여부를 판단하며, TC2b와 같이 서로 다른 것으로 판단한 경우, 외부 객체에 의한 확인이 필요함을 나타내는 확인요청메시지를 출력할 수 있다. 제 1 출력값이 비정상인데, 제 2 출력값이 제 1 출력값과 서로 다르다면, 이는 오류가 발생한 제 1 출력값에 대해 원본 소스코드상에 또 다른 수정이 가해졌다는 의미이므로, 이 경우, 외부 객체(예> 사람)에 의한 확인이 필요함을 나타낸다. 즉, S244단계의 경우 확정테스트 수행시에는 소스코드가 변경되지 않았으나, 회귀테스트 수행시에는 소스코드가 변경되었으므로, 소스코드 변경은 한번만 이루어져 오류 메시지를 출력한다. 이와 비교하여, S247단계의 경우, 확정테스트 수행시에도 소스코드 변경이 한번 이루어진 상태에서, 회귀테스트 수행시에 소스코드 변경이 다시 이루어진 것이므로, 확인요청메시지를 출력하는 것이다. For example, when it is determined that the
이러한 회귀 테스트 수행은, 코드의 버전이 변경될 때마다 주기적으로 자동 수행될 수 있다.This regression test execution can be performed periodically automatically whenever the version of the code is changed.
이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The embodiments described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination.
상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software.
컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical recording media such as CD-ROM and DVD, magneto-optical media such as a floptical disk, optical media), and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for performing the process according to the present invention, and vice versa.
본 명세서의 양상들은 전체적으로 하드웨어, 전체적으로 소프트웨어 (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함 함) 또는 컴퓨터 판독 가능 프로그램 코드가 구현 된 하나 이상의 컴퓨터 판독 가능 매체에 구현 된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.Aspects of the present disclosure may take the form of a whole, hardware, a computer program product embodied in one or more computer readable media having software (including firmware, resident software, microcode, etc.) or computer readable program code embodied throughout .
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.The features, structures, effects and the like described in the embodiments are included in one embodiment of the present invention and are not necessarily limited to only one embodiment. Furthermore, the features, structures, effects and the like illustrated in the embodiments can be combined and modified by other persons skilled in the art to which the embodiments belong. Therefore, it should be understood that the present invention is not limited to these combinations and modifications.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of illustration, It can be seen that various modifications and applications are possible. For example, each component specifically shown in the embodiments can be modified and implemented. It is to be understood that all changes and modifications that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Claims (8)
상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 저장하는 단계;
코드 테스트를 위하여 상기 기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 상기 기 저장된 소정의 입력값을 회귀테스트 수행하여, 상기 저장된 소정의 입력값에 대응하는 제 2 출력값과 상기 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득하는 단계; 및
가상 환경에서의 상기 제 2 출력값을 실물 환경에서의 상기 제 1 출력값과 비교하여, 해당 비교 결과를 출력하는 단계; 를 포함하는, 가상화를 통한 코드 테스트 수행 자동화 방법.
A test method for performing a confirm test on a predetermined input value based on test execution environment information in a real environment for a source code test to determine whether a first output value corresponding to the predetermined input value and whether the first output value is normal or not 1 normal presence / absence discrimination value;
Storing the predetermined input value, the test execution environment information, the first output value, and the first normal presence / absence discrimination value;
And a second output value corresponding to the stored predetermined input value and a second output value corresponding to the normal value of the second output value in a virtual environment driven by the pre- Obtaining a second normal presence / absence discrimination value for discriminating presence or absence of the second normal presence / absence discrimination value; And
Comparing the second output value in a virtual environment with the first output value in a real environment and outputting the comparison result; A method for automating code test execution through virtualization.
상기 해당 비교 결과 출력단계는,
상기 저장단계에서 기 저장된 상기 제 1 출력값과 상기 제 1 정상유무판별값을 기초로 상기 제 1 출력값이 정상인지 여부를 판단하는 단계;
상기 제 1 출력값이 정상인 것으로 판단한 경우, 상기 제 1 출력값과 상기 제 2 출력값이 서로 동일한지 여부를 판단하는 단계;
상기 동일 여부 판단 결과, 서로 동일한 것으로 판단한 경우, 통과 메시지를 출력하는 단계; 및
상기 동일 여부 판단 결과, 서로 다른 것으로 판단한 경우, 오류 메시지를 출력하는 단계;를 포함하는,
가상화를 통한 코드 테스트 수행 자동화 방법.
The method according to claim 1,
The comparison result output step may include:
Determining whether the first output value is normal based on the first output value previously stored in the storing step and the first normal presence / absence discrimination value;
Determining whether the first output value and the second output value are equal to each other if the first output value is determined to be normal;
Outputting a pass message when it is determined that they are identical to each other; And
And outputting an error message if the result of the determination is that they are different from each other.
How to automate code testing through virtualization.
상기 해당 비교 결과 출력단계는,
상기 저장단계에서 기 저장된 상기 제 1 출력값과 상기 제 1 정상유무판별값을 기초로 상기 제 1 출력값이 정상인지 여부를 판단하는 단계;
상기 제 1 출력값이 비정상인 것으로 판단한 경우, 상기 제 1 출력값과 상기 제 2 출력값이 서로 동일한지 여부를 판단하는 단계;
상기 동일 여부 판단 결과, 서로 동일한 것으로 판단한 경우, 오류 메시지를 출력하는 단계; 및
상기 동일 여부 판단 결과, 서로 다른 것으로 판단한 경우, 외부 객체에 의한 확인이 필요함을 나타내는 확인요청메시지를 출력하는 단계;를 포함하는,
가상화를 통한 코드 테스트 수행 자동화 방법.
The method according to claim 1,
The comparison result output step may include:
Determining whether the first output value is normal based on the first output value previously stored in the storing step and the first normal presence / absence discrimination value;
Determining whether the first output value and the second output value are identical to each other if the first output value is determined to be abnormal;
Outputting an error message when it is determined that they are identical to each other; And
And outputting an acknowledgment request message indicating that an acknowledgment by an external object is necessary if the result of the determination is the same.
How to automate code testing through virtualization.
상기 확인요청메시지 출력단계는,
상기 가상 환경에서 상기 회귀테스트 수행시, 상기 회귀테스트 수행대상이 되는 상기 소스코드에 수정이 가해진 것으로 판단하는 단계;를 포함하는,
가상화를 통한 코드 테스트 수행 자동화 방법.
The method of claim 3,
Wherein the step of outputting the confirmation request message comprises:
And determining that modification is applied to the source code to be subjected to the regression test when the regression test is performed in the virtual environment.
How to automate code testing through virtualization.
상기 회귀 테스트 수행은,
상기 소스코드의 버전이 변경될 때마다 주기적으로 자동 수행되는,
가상화를 통한 코드 테스트 수행 자동화 방법.
The method according to claim 1,
In the regression test,
Wherein the source code is automatically performed every time the version of the source code is changed,
How to automate code testing through virtualization.
상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값은 상기 소스코드 테스트를 수행하는 장치에 저장되거나, 별도의 외부 장치에 저장되는,
가상화를 통한 코드 테스트 수행 자동화 방법.
The method according to claim 1,
Wherein the predetermined input value, the test execution environment information, the first output value, and the first normal presence / absence discrimination value are stored in an apparatus for performing the source code test,
How to automate code testing through virtualization.
A computer-readable recording medium for recording a computer program for executing the method according to any one of claims 1 to 6.
상기 소정의 입력값, 상기 테스트 수행환경정보, 상기 제 1 출력값, 및 상기 제 1 정상유무판별값을 저장하는 메모리부;
코드 테스트를 위하여 상기 저장된 테스트 수행환경정보로 구동되는 가상 환경에서, 상기 메모리부에 기 저장된 소정의 입력값을 회귀테스트 수행하여, 상기 저장된 소정의 입력값에 대응하는 제 2 출력값과 상기 제 2 출력값의 정상유무를 판별하는 제 2 정상유무판별값을 획득하는 가상환경데이터획득부; 및
가상 환경에서의 상기 제 2 출력값을 실물 환경에서의 상기 제 1 출력값과 비교하여, 해당 비교 결과를 출력하는 비교판단부;를 포함하는, 가상화를 통한 코드 테스트 수행 자동화 장치.A test method for performing a confirm test on a predetermined input value based on test execution environment information in a real environment for a source code test to determine whether a first output value corresponding to the predetermined input value and whether the first output value is normal or not 1 < / RTI > normal presence / absence discrimination value;
A memory unit for storing the predetermined input value, the test execution environment information, the first output value, and the first normal presence / absence discrimination value;
In a virtual environment driven by the stored test execution environment information for a code test, a predetermined input value previously stored in the memory unit is subjected to a regression test, and a second output value corresponding to the stored predetermined input value and the second output value A virtual environment data acquiring unit for acquiring a second normal presence / absence discrimination value for discriminating whether or not there is a normal state; And
And a comparison determination unit for comparing the second output value in a virtual environment with the first output value in a real environment and outputting the comparison result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170173472A KR102002545B1 (en) | 2017-12-15 | 2017-12-15 | Code test automatic proceeding method through virtualixation and appratus for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170173472A KR102002545B1 (en) | 2017-12-15 | 2017-12-15 | Code test automatic proceeding method through virtualixation and appratus for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190072253A KR20190072253A (en) | 2019-06-25 |
KR102002545B1 true KR102002545B1 (en) | 2019-07-22 |
Family
ID=67065400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170173472A KR102002545B1 (en) | 2017-12-15 | 2017-12-15 | Code test automatic proceeding method through virtualixation and appratus for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102002545B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210100240A (en) * | 2020-02-05 | 2021-08-17 | 한국전자통신연구원 | Emulating environment detecting method unaffected by context switching using cache characteristic of havard architecture and system using the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015511737A (en) | 2012-02-27 | 2015-04-20 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Application validation for graphics processing units |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102013582B1 (en) * | 2012-09-07 | 2019-08-23 | 삼성전자 주식회사 | Apparatus and method for detecting error and determining corresponding position in source code of mixed mode application program source code thereof |
JP6496562B2 (en) * | 2014-04-11 | 2019-04-03 | ルネサスエレクトロニクス株式会社 | Semiconductor device, diagnostic test method and diagnostic test circuit |
-
2017
- 2017-12-15 KR KR1020170173472A patent/KR102002545B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015511737A (en) | 2012-02-27 | 2015-04-20 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Application validation for graphics processing units |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210100240A (en) * | 2020-02-05 | 2021-08-17 | 한국전자통신연구원 | Emulating environment detecting method unaffected by context switching using cache characteristic of havard architecture and system using the same |
KR102319115B1 (en) | 2020-02-05 | 2021-11-01 | 한국전자통신연구원 | Emulating environment detecting method unaffected by context switching using cache characteristic of havard architecture and system using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20190072253A (en) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720812B2 (en) | Risk-based test coverage and prioritization | |
US10019256B2 (en) | Systems and methods for incremental software development | |
US9378124B1 (en) | Software testing optimizer | |
US10885201B2 (en) | Apparatus for quantifying security of open-source software package, and apparatus and method for optimizing open-source software package | |
US20140380279A1 (en) | Prioritizing test cases using multiple variables | |
WO2018175496A1 (en) | Code defect prediction by training a system to identify defect patterns in code history | |
US20150317234A1 (en) | System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs | |
CN110674047B (en) | Software testing method and device and electronic equipment | |
US20170344449A1 (en) | Testing method of electronic devices | |
US9513889B2 (en) | System and method of automating installation of applications | |
KR102002545B1 (en) | Code test automatic proceeding method through virtualixation and appratus for the same | |
EP3321808B1 (en) | Verification system and verification method | |
CN114647572A (en) | Method and system for software application component testing | |
CN109684205B (en) | System testing method, device, electronic equipment and storage medium | |
KR101252358B1 (en) | Apparatus and method for testing plc command | |
US9348733B1 (en) | Method and system for coverage determination | |
US20230132560A1 (en) | Infrastructure as code (iac) pre-deployment analysis via a machine-learning model | |
JP6747161B2 (en) | Software quality judgment method | |
JP6320269B2 (en) | Software test support apparatus and software test support program | |
CN111143229A (en) | Software testing method and device, computer equipment and computer readable storage medium | |
WO2019142266A1 (en) | Test case generation device, test case generation method, and test case generation program | |
US20240201985A1 (en) | Executing a continuous integration pipeline based on a type of change to source code | |
CN111258910B (en) | Static link library function verification method and device, electronic equipment and storage medium | |
JP6890795B1 (en) | Programs, methods, information processing equipment, and systems | |
CN117851265A (en) | Test method, test device, electronic equipment 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 |