KR20210039714A - Method and apparatus for constructing test environment - Google Patents

Method and apparatus for constructing test environment Download PDF

Info

Publication number
KR20210039714A
KR20210039714A KR1020190122285A KR20190122285A KR20210039714A KR 20210039714 A KR20210039714 A KR 20210039714A KR 1020190122285 A KR1020190122285 A KR 1020190122285A KR 20190122285 A KR20190122285 A KR 20190122285A KR 20210039714 A KR20210039714 A KR 20210039714A
Authority
KR
South Korea
Prior art keywords
test
test environment
environment
components
software
Prior art date
Application number
KR1020190122285A
Other languages
Korean (ko)
Other versions
KR102293274B1 (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 KR1020190122285A priority Critical patent/KR102293274B1/en
Publication of KR20210039714A publication Critical patent/KR20210039714A/en
Application granted granted Critical
Publication of KR102293274B1 publication Critical patent/KR102293274B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A test environment constructing method performed in the disclosed test environment constructing device comprises: a step of deriving test environment components from implementation under test (IUT) software and test plans; and a step of constructing a test environment by disposing it as a test environment code based on the precedence relationship between the derived test environment components. Therefore, the present invention is capable of contributing to increasing the reliability of a software.

Description

테스트 환경 구축 방법 및 장치{METHOD AND APPARATUS FOR CONSTRUCTING TEST ENVIRONMENT}Test environment construction method and device {METHOD AND APPARATUS FOR CONSTRUCTING TEST ENVIRONMENT}

본 발명은 테스트 환경 구축 방법 및 장치에 관한 것으로서, 더욱 상세하게는 테스트 대상 소프트웨어를 위한 테스트 환경을 구축하는 방법과 이러한 방법을 수행할 수 있는 장치에 관한 것이다.The present invention relates to a method and an apparatus for building a test environment, and more particularly, to a method for building a test environment for software to be tested, and an apparatus capable of performing such a method.

주지하고 있는 바와 같이, 테스트 환경은 테스트 프로세스를 따라 테스트를 수행하고 그 결과를 통보하는데 필요한 구성요소의 모임이다. 원활한 테스트 수행을 위해서는 테스트 프로세스의 수준과 개발 과정에서 사용된 플랫폼, 유틸리티, 언어 등의 관계를 고려한 체계적인 테스트 환경 구축 방법이 필요하다. ISO/IEC/IEEE 29119 표준에서는 테스트 환경 구축 및 테스트 수행 방법을 정의하고 있다. 하지만, 이와 같은 표준이 정의되어 있음에도 실제 테스트 환경 구축을 수행하는 과정에서는 다양한 문제가 발생한다.As is well known, a test environment is a collection of components necessary to perform tests along the test process and notify the results. For smooth test execution, it is necessary to establish a systematic test environment that considers the relationship between the level of the test process and the platform, utility, and language used in the development process. The ISO/IEC/IEEE 29119 standard defines how to build a test environment and perform tests. However, even though such a standard is defined, various problems arise in the process of actually building a test environment.

첫째, 테스트 환경을 구축하는 과정에서 테스트 대상의 구조와 테스트 목적을 고려해야 하는 등 일반 사용자가 수행하기 어려운 ‘테스트 환경 구축의 전문성’ 문제가 있다. 그래서 복잡하거나 규모가 큰 테스트 환경의 설계와 구축은 테스트 대상 시스템의 내부 구조를 잘 알고 테스트 경험이 풍부한 전문가들에 의해 진행된다.First, there is a problem of “professionality in building a test environment” that is difficult for general users to perform, such as having to consider the structure of the test object and the purpose of the test in the process of building the test environment. Therefore, the design and construction of a complex or large-scale test environment is carried out by experts who are well aware of the internal structure of the system under test and have extensive experience in testing.

둘째, 테스트 수행 관점에서 테스트 수행이 개발의 일부가 끝나거나 특정 조건에서만 가능한 ‘실행 환경의 제약성’ 문제가 있다. 소프트웨어의 신뢰성을 높이고자 한다면 가능한 다양한 방법과 많은 횟수의 테스트가 필요하다. 하지만 테스트 환경에 할당되는 자원은 한정적이기 때문에 반복적인 테스트 환경 구축과 테스트 수행 과정은 제한될 수밖에 없다.Second, from the perspective of test execution, there is a problem of “constraints in execution environment” that test execution is only possible when part of the development is completed or under certain conditions. If you want to increase the reliability of the software, you need as many different methods and as many tests as possible. However, since the resources allocated to the test environment are limited, the process of repetitive test environment construction and test execution is bound to be limited.

이런 문제들을 해결하고자 클라우드 테스팅(Cloud Testing)이나 지속 테스팅(Continuous Testing)과 같은 방법들이 개발되었으나 여전히 몇 가지 문제가 있다. 먼저 클라우드 테스팅은 테스트 환경 구축에 필요한 전문지식을 최소화하고, 테스트 요구사항으로부터 테스트 환경을 구축하여 테스트를 수행하는 방법으로 ‘실행 환경의 제약성’ 문제를 해결한다. 하지만 서비스 제공자에 따라 서로 다른 테스트 환경 구성과 테스트 결과를 초래하는 등 일관성이 부족한 테스트 환경으로 인한 문제가 발생한다. 지속 테스팅에서는 일관된 테스트 수행과 결과를 도출하기 위해 체계적인 테스트 과정에 따라 가상 플랫폼에 테스트 환경을 구축하는 방법을 사용한다. 하지만 테스트 환경의 구성과 절차는 IaC(Infrastructure as Code) 기반의 코드로 직접 구현해야 한다는 점에서 여전히 ‘테스트 환경 구축의 전문성’ 문제가 남는다.To solve these problems, methods such as cloud testing and continuous testing have been developed, but there are still some problems. First, cloud testing solves the'constraints of execution environment' by minimizing the expertise required to build a test environment and performing tests by building a test environment from test requirements. However, problems arise due to inconsistent test environments such as different test environment configurations and test results depending on the service provider. Continuous testing uses a method of constructing a test environment on a virtual platform according to a systematic test process to derive consistent test performance and results. However, the “test environment construction expertise” still remains in that the configuration and procedures of the test environment must be directly implemented with IaC (Infrastructure as Code)-based code.

대한민국 공개특허공보 제10-2018-0119911호, 공개일자 2018년 11월 05일.Republic of Korea Patent Publication No. 10-2018-0119911, Publication date November 5, 2018.

일 실시예에 따른 해결하고자 하는 과제는, 테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획(Test Plan)으로부터 테스트 환경 구성요소를 도출한 후 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 테스트 환경 구축 방법 및 장치를 제공한다.The problem to be solved according to an embodiment is that test environment components are derived from the test target (IUT) software and test plan, and then automatically placed as test environment codes to establish a test environment. Provides a method and apparatus for building a test environment.

해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problem to be solved is not limited to those mentioned above, and another problem to be solved that is not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description.

제 1 관점에 따라 테스트 환경 구축 장치에서 수행되는 테스트 환경 구축 방법은, 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와, 상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함한다.The test environment building method performed in the test environment building apparatus according to the first point of view includes the steps of deriving a test environment component from the test target software and a test plan, and a test environment based on the preceding relationship between the derived test environment components. Deploying as code to build a test environment.

여기서, 상기 테스트 환경 구성요소를 도출하는 단계는, 테스트 플랫폼, 테스트 유틸리티, 테스트 도구, 테스트 데이터, 테스트 하네스 및 테스트 환경 셋업 중 적어도 하나의 정보를 추출할 수 있다.Here, the step of deriving the test environment component may extract at least one of a test platform, a test utility, a test tool, test data, a test harness, and a test environment setup.

상기 테스트 환경을 구축하는 단계는, 상기 도출된 테스트 환경 구성요소를 IaC(Infrastructure as Code) 코드로 실체화할 수 있다.In the step of constructing the test environment, the derived test environment component may be materialized as an Infrastructure as Code (IaC) code.

상기 테스트 환경을 구축하는 단계는, 상기 도출된 테스트 환경 구성요소 간의 파급력이 큰 구성요소부터 순차적으로 상기 IaC 코드로 배치할 수 있다.In the step of constructing the test environment, a component having a large ripple effect between the derived test environment components may be sequentially arranged as the IaC code.

상기 테스트 환경을 구축하는 단계는, 상기 테스트 플랫폼의 구축, 상기 테스트 대상 소프트웨어의 특성을 내포하는 컴파일러와 상기 테스트 데이터 매니저의 구축, 상기 테스트 도구의 선택, 상기 테스트 유틸리티의 구축 및 상기 테스트 도구의 설정의 순서로 수행할 수 있다.The step of building the test environment includes: building the test platform, building the compiler including the characteristics of the test target software and the test data manager, selecting the test tool, building the test utility, and setting the test tool Can be done in the order of.

상기 테스트 환경을 구축하는 단계는, 상기 테스트 환경 구성요소의 정보로부터 맵핑 테이블을 통하여 테스트 환경 구성요소의 설치 코드를 얻어서 배치할 수 있다.In the step of constructing the test environment, the installation code of the test environment component may be obtained and disposed from the information of the test environment component through a mapping table.

제 2 관점에 따라 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와, 상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.According to a second aspect, a computer-readable recording medium storing a computer program includes: when the computer program is executed by a processor, deriving a test environment component from the software to be tested and a test plan, and the derived test And an instruction for causing the processor to perform a method including the step of constructing a test environment by arranging as a test environment code based on a preceding relationship between environment components.

제 3 관점에 따라 컴퓨터 판독 가능 기록매체에 저장되어 있는 컴퓨터 프로그램은, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와, 상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.According to the third aspect, a computer program stored in a computer-readable recording medium includes: when the computer program is executed by a processor, deriving a test environment component from the software to be tested and a test plan, and the derived test And an instruction for causing the processor to perform a method including the step of constructing a test environment by arranging as a test environment code based on a preceding relationship between environment components.

제 4 관점에 따른 테스트 환경 구축 장치는, 테스트 대상 소프트웨어와 테스트 계획에 대한 데이터를 입력받는 입력부와, 상기 테스트 대상 소프트웨어 및 상기 테스트 계획으로부터 테스트 환경 구성요소를 도출하고, 상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 제어부와, 상기 제어부의 제어에 따라, 상기 구축된 테스트 환경을 생성하는 실행파일을 출력하는 출력부를 포함한다.The test environment building apparatus according to the fourth aspect includes an input unit receiving data on a test target software and a test plan, and derives a test environment component from the test target software and the test plan, and the derived test environment component And a control unit for constructing a test environment by arranging the test environment code based on the predecessor relationship between them, and an output unit for outputting an executable file for generating the built test environment under control of the control unit.

일 실시예에 따르면, 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출한 후 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축한다. 사용자가 테스트 계획과 테스트 대상 소프트웨어만 지정하면 테스트 요구사항에 맞는 일관된 테스트 환경을 제공함으로써, 테스트 환경을 구축하는데 소요되는 시간과 노력이 절약되는 효과가 있다. 이로 인해 테스트 수행에 더 많은 노력을 집중할 수 있으므로 소프트웨어의 신뢰성을 높이는데 기여할 수 있다.According to an embodiment, a test environment component is derived from a test target software and a test plan, and then automatically deployed as a test environment code to establish a test environment. If the user only specifies the test plan and the software to be tested, it provides a consistent test environment that meets the test requirements, thereby saving time and effort required to build the test environment. This can contribute to increasing the reliability of the software because more effort can be focused on performing tests.

도 1은 본 발명의 일 실시예에 따른 테스트 환경 구축 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 테스트 환경 구축 방법을 설명하기 위한 추상적 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 계층 구조도이다.
도 4는 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 도출 절차를 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 배치 절차를 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 맵핑 테이블을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따라 단위 테스트 환경을 생성할 수 있는 도커파일의 예시도이다.
1 is a configuration diagram of an apparatus for building a test environment according to an embodiment of the present invention.
2 is an abstract flowchart illustrating a method of building a test environment according to an embodiment of the present invention.
3 is a hierarchical structure diagram of test environment components according to an embodiment of the present invention.
4 is a flowchart showing a procedure for deriving a test environment component according to an embodiment of the present invention.
5 is a flowchart illustrating a procedure for disposing a test environment component according to an embodiment of the present invention.
6 is a diagram illustrating a mapping table of test environment components according to an embodiment of the present invention.
7 is an exemplary diagram of a docker file capable of creating a unit test environment according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only these embodiments make the disclosure of the present invention complete, and those skilled in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the scope of the invention is only defined by the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, detailed descriptions of known functions or configurations will be omitted except when actually necessary in describing the embodiments of the present invention. In addition, terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification.

본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, ‘포함하다’ 또는 ‘구성하다’ 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present specification, expressions in the singular include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as'comprise' or'comprise' are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification, but one or more other It is to be understood that it does not preclude the presence or addition of features, numbers, steps, actions, components, parts, or combinations thereof.

또한, 본 발명의 실시예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.In addition, in the embodiment of the present invention, when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium. In addition, the meaning that a part includes a certain component means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

도 1은 본 발명의 일 실시예에 따른 테스트 환경 구축 장치의 구성도이다.1 is a configuration diagram of an apparatus for building a test environment according to an embodiment of the present invention.

도 1에 나타낸 바와 같이 테스트 환경 구축 장치(100)는 입력부(110), 제어부(120) 및 출력부(130)를 포함할 수 있다.As shown in FIG. 1, the test environment building apparatus 100 may include an input unit 110, a control unit 120, and an output unit 130.

입력부(110)는 테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획에 대한 데이터를 입력받아 제어부(120)에 제공한다.The input unit 110 receives data on an implementation under test (IUT) software and a test plan and provides the input to the control unit 120.

제어부(120)는 테스트 대상 소프트웨어 및 테스트 계획으로부터 테스트 환경 구성요소를 도출하고, 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축한다. 이러한 제어부(120)는 마이크로프로세서(microprocessor) 등과 같은 컴퓨팅 연산장치를 포함할 수 있다. 예를 들어, 제어부(120)는 도출된 테스트 환경 구성요소를 IaC(Infrastructure as Code) 코드로 실체화할 수 있다. 그리고, 제어부(120)는 테스트 환경 구성요소의 정보로부터 맵핑 테이블을 통하여 테스트 환경 구성요소의 설치 코드를 얻어서 배치할 수 있다. 이러한 제어부(120)가 테스트 환경을 구축하는 절차에 대해서는 도 2 내지 도 6을 참조하여 아래에서 자세히 설명하기로 한다.The control unit 120 derives test environment components from the test target software and test plan, and automatically arranges them as test environment codes based on the relationship between the derived test environment components to build a test environment. The control unit 120 may include a computing computing device such as a microprocessor. For example, the control unit 120 may materialize the derived test environment component as an Infrastructure as Code (IaC) code. In addition, the control unit 120 may obtain and deploy the installation code of the test environment component through the mapping table from the information of the test environment component. A procedure for building a test environment by the control unit 120 will be described in detail below with reference to FIGS. 2 to 6.

출력부(130)는 제어부(120)의 제어에 따라, 테스트 환경 코드로 배치하여 구축된 테스트 환경을 생성하는 실행파일을 출력한다. 예를 들어, 출력부(130)는 테스트 수행 환경인 하나의 컨테이너를 생성할 수 있는 조합된 도커파일(Docker file)을 테스트 환경을 생성하는 실행파일로서 출력할 수 있다.The output unit 130 outputs an executable file that generates a test environment constructed by placing it as a test environment code under the control of the control unit 120. For example, the output unit 130 may output a combined Docker file capable of generating one container, which is a test execution environment, as an executable file that creates a test environment.

도 2는 본 발명의 일 실시예에 따른 테스트 환경 구축 방법을 설명하기 위한 추상적 흐름도이다.2 is an abstract flowchart illustrating a method of building a test environment according to an embodiment of the present invention.

도 2에 나타낸 바와 같이, 테스트 환경 구축 방법은 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계(S210)를 포함한다. 예를 들어, 테스트 환경 구성요소를 도출할 때에, 테스트 플랫폼(Platform)으로서 운영 체제(OS), 테스트 유틸리티(Test Utility), 테스트 도구(Test Tools), 테스트 데이터(Test Data), 테스트 하네스(Test Harness) 및 테스트 환경 셋업(Test Environment Setup) 중 적어도 하나의 정보를 추출할 수 있다.As shown in FIG. 2, the method of building a test environment includes a step (S210) of deriving a test environment component from the software to be tested and the test plan. For example, when deriving test environment components, the operating system (OS), test utility, test tools, test data, and test harness as a test platform. Harness) and test environment setup (Test Environment Setup) at least one of information may be extracted.

그리고, 테스트 환경 구축 방법은 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계(S220)를 더 포함한다. 예를 들어, 테스트 환경을 구축할 때에, 상기 도출된 테스트 환경 구성요소를 IaC(Infrastructure as Code) 코드로 실체화할 수 있다. 여기서, 도출된 테스트 환경 구성요소 간의 파급력이 큰 구성요소부터 순차적으로 IaC 코드로 배치할 수 있다. 예컨대, 테스트 플랫폼의 구축, 테스트 대상 소프트웨어의 특성을 내포하는 컴파일러와 테스트 데이터 매니저의 구축, 테스트 도구의 선택, 유틸리티의 구축 및 테스트 도구의 설정의 순서로 수행할 수 있다. 아울러, 테스트 환경을 구축할 때에, 테스트 환경 구성요소의 정보로부터 맵핑 테이블을 통하여 테스트 환경 구성요소의 설치 코드를 얻어서 배치할 수 있다.And, the test environment building method further includes a step (S220) of automatically arranging the test environment code as a test environment code based on the relationship between the derived test environment components before and after (S220). For example, when constructing a test environment, the derived test environment components may be materialized as IaC (Infrastructure as Code) codes. Here, it is possible to sequentially arrange as IaC code from a component having a large ripple effect between the derived test environment components. For example, it may be performed in the order of building a test platform, building a compiler and test data manager including characteristics of the software to be tested, selecting a test tool, building a utility, and setting a test tool. In addition, when constructing the test environment, the installation code of the test environment component can be obtained and placed from the information of the test environment component through the mapping table.

도 3은 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 계층 구조도이고, 도 4는 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 도출 절차를 나타낸 흐름도이며, 도 5는 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 배치 절차를 나타낸 흐름도이고, 도 6은 본 발명의 일 실시예에 따른 테스트 환경 구성요소의 맵핑 테이블을 예시한 도면이며, 도 7은 본 발명의 일 실시예에 따라 단위 테스트 환경을 생성할 수 있는 도커파일의 예시도이다.3 is a hierarchical structure diagram of a test environment component according to an embodiment of the present invention, FIG. 4 is a flowchart showing a procedure for deriving a test environment component according to an embodiment of the present invention, and FIG. 5 is an embodiment of the present invention. It is a flow chart showing a procedure of arranging test environment components according to an embodiment, FIG. 6 is a diagram illustrating a mapping table of test environment components according to an embodiment of the present invention, and FIG. 7 is This is an example of a Docker file that can create a unit test environment accordingly.

이하, 도 1 내지 도 7을 참조하여 일 실시예에 따른 테스트 환경 구축 장치에서 테스트 환경을 구축하는 방법을 수행하는 절차에 대하여 자세히 살펴보기로 한다.Hereinafter, a procedure for performing a method of building a test environment in the test environment building apparatus according to an exemplary embodiment will be described in detail with reference to FIGS. 1 to 7.

먼저, 테스트 환경 구축 장치(100)의 입력부(110)는 테스트 대상 소프트웨어와 테스트 계획에 대한 데이터를 입력받아 제어부(120)에 제공한다.First, the input unit 110 of the test environment building apparatus 100 receives data on the software to be tested and the test plan and provides them to the control unit 120.

그러면, 제어부(120)는 테스트 대상 소프트웨어 및 테스트 계획으로부터 테스트 환경 구성요소를 도출한다.Then, the control unit 120 derives a test environment component from the test target software and test plan.

테스트 환경은 일련의 테스트 과정에 따라 테스트를 원활하게 수행하는데 필요한 구성요소의 모임이다. 표준 문서와 여러 문헌에서 제시하고 있는 테스트 환경은 도 3과 같이 구성될 수 있다. 도 3에서 보는 바와 같이 테스트 환경은 기능에 따라 여러 구성요소와 계층으로 구분될 수 있는 계층 구조를 가질 수 있다. 하드웨어(301)는 테스트 활동에서 물리적인 계산과 동작을 수행하는 필수 요소이다. 또한 하드웨어(301)를 제어하고 통제하는 테스트 플랫폼으로서 운영체제(302)가 필요하다. 구축된 하드웨어(301)와 운영체제(302)를 기반으로 테스트 대상 소프트웨어(303)를 테스트하는데 필요한 여러 기능 모듈들(304 내지 310)을 구성하면 테스트 환경이 완성된다. 그렇지만 테스트 환경은 항상 동일한 형태로 구성되는 것은 아니다. 테스트 대상 소프트웨어나 적용하고자 하는 테스트 방법에 따라 기능 모듈의 내용이나 구성이 바뀔 수 있다. 각 모듈의 기능 및 역할을 살펴보면 다음과 같다.The test environment is a group of components necessary to perform a test smoothly according to a series of test processes. The test environment suggested by standard documents and various documents may be configured as shown in FIG. 3. As shown in FIG. 3, the test environment may have a hierarchical structure that can be divided into several components and hierarchies according to functions. Hardware 301 is an essential element that performs physical calculations and operations in test activities. In addition, an operating system 302 is required as a test platform for controlling and controlling the hardware 301. A test environment is completed by configuring various functional modules 304 to 310 required to test the software under test 303 based on the built hardware 301 and the operating system 302. However, the test environment is not always configured in the same form. The content or configuration of the function module may change depending on the software to be tested or the test method to be applied. The functions and roles of each module are as follows.

유틸리티(utility)(304)는 테스트 환경 구성에 필요한 소프트웨어 및 테스트 대상 소프트웨어를 동작시키는데 필요한 소프트웨어이다.The utility 304 is software required to configure a test environment and software required to operate the software to be tested.

테스트 도구(test tool)(305)는 실제 테스트를 수행하는데 필요한 전문화된 도구 또는 테스트 엔진이다.The test tool 305 is a specialized tool or test engine required to perform an actual test.

테스트 데이터 관리자(test data manager)(306)는 테스트 대상 소프트웨어의 테스트 과정에서 필요한 테스트 데이터를 제공하는 도구이다.The test data manager 306 is a tool that provides test data necessary in the test process of the software under test.

테스트 드라이버(test driver)(307)는 테스트 전략과 목적에 맞게 대체 환경을 구성하는 테스트 하네스의 일종으로 테스트 대상 소프트웨어에 포함된 특정 함수나 메소드를 별도로 호출하여 그것들을 구동시키는 역할을 수행하는 모듈이다.The test driver 307 is a kind of test harness that composes an alternative environment according to the test strategy and purpose, and is a module that separately calls specific functions or methods included in the test target software and drives them. .

테스트 스터브(test stub)(308)는 테스트 하네스의 일종으로 테스트 대상 소프트웨어에서 호출되는 함수나 메소드를 모사하는 모듈이다. 예를 들어, 테스트 스터브는 기능적으로 완전하게 모사하지 않고 단지 호출 관계만 모사하여 테스트 대상 소프트웨어가 무리 없이 동작하도록 지원하는 역할을 수행할 수 있다.The test stub 308 is a kind of test harness, and is a module that simulates a function or method called from a software under test. For example, the test stub does not fully replicate functionally, but merely replicates the call relationship, thereby supporting the software under test to operate without difficulty.

프리앰블(preamble)(309)은 테스트 환경 셋업 정보의 일종이고, 테스트 수행에서의 선조건을 만족시키기 위해 필요한 선행 작업을 수행하는 모듈이다. 예를 들어, 파일 입출력 기능을 테스트하고자 할 경우에 필요한 파일을 생성하거나 기존 파일 열기 등의 작업을 수행할 수 있다.The preamble 309 is a kind of test environment setup information, and is a module that performs prerequisite tasks necessary to satisfy a precondition in test execution. For example, when you want to test the file input/output function, you can create a file or open an existing file.

포스트앰블(postamble)(310)은 테스트 환경 셋업 정보의 일종이고, 테스트 수행에서의 후조건을 만족시키기 위해 필요한 후행 작업을 수행하는 모듈이다. 예를 들어, 프리앰블의 예에서 생성한 파일을 삭제하거나 열린 파일 닫기 등의 작업을 수행할 수 있다.The postamble 310 is a kind of test environment setup information, and is a module that performs a post-process necessary to satisfy a post-condition in test execution. For example, a file created in the example of a preamble can be deleted or an open file can be closed.

앞서 기술한대로 테스트 환경은 테스트 대상 소프트웨어나 테스트 방법에 따라 그 구성이 변할 수 있다. 테스트 환경 구성이 변할 수 있는 이유는 테스트 대상 소프트웨어나 테스트 방법에 따라 특정 요소가 필요할 수도 있고, 그렇지 않을 수도 있기 때문이다. 테스트 하네스를 예를 들어 보면 테스트 드라이버(307)와 테스트 스터브(308)는 테스트 대상 소프트웨어에 따라 필요하지 않을 수도 있고, 필요하다고 하더라도 그 내용은 테스트 대상 소프트웨어에 따라 전혀 달라진다. 그래서 테스트 환경 구성요소의 도출에 직접적으로 영향을 줄 수 있는 관계를 정리할 필요가 있다. 표 1은 테스트 환경 구성요소의 각 요소들이 테스트 계획 및 테스트 대상 소프트웨어의 어떤 정보로부터 유도될 수 있는지에 대한 관계를 정리한 것이다. 테스트 계획은 여러 항목으로 구성되는데 테스트 환경 구성요소의 도출을 위해서는 환경 요구사항(environmental needs), 접근방법(approach), 테스트될 기능(features to be tested), 테스트 과업(testing tasks) 항목의 정보가 필요하다.As described above, the configuration of the test environment may change depending on the software under test or the test method. The reason the configuration of the test environment can change is that certain factors may or may not be required depending on the software under test or the test method. Taking the test harness as an example, the test driver 307 and the test stub 308 may not be necessary depending on the software under test, and even if necessary, the contents of the test driver 307 and the test stub 308 are completely different depending on the software under test. Therefore, it is necessary to organize the relationships that can directly affect the derivation of the components of the test environment. Table 1 summarizes the relationship between the elements of the test environment components and which information of the test plan and the software under test can be derived. The test plan consists of several items.In order to derive the components of the test environment, information on environmental needs, approaches, features to be tested, and testing tasks are included. need.

Test Environment ComponentsTest Environment Components Derived fromDerived from Test PlanTest Plan IUT(Implementation Under Test)IUT (Implementation Under Test) Platform(OS)Platform(OS) Environmental NeedsEnvironmental Needs UtilityUtility Environmental NeedsEnvironmental Needs IUTIUT Test ToolsTest Tools Approach/
Environmental Needs
Approach/
Environmental Needs
Test Data
Manager
Test Data
Manager
Features to be TestedFeatures to be Tested IUTIUT
Test HarnessTest Harness Test DriverTest Driver Features to be TestedFeatures to be Tested IUTIUT Test StubTest Stub IUTIUT Test Environment SetupTest Environment Setup PreamblePreamble Testing TasksTesting Tasks IUTIUT PostamblePostamble Testing TasksTesting Tasks IUTIUT

테스트 환경 구성요소의 각 요소들이 테스트 계획의 각 항목과 테스트 대상 소프트웨어로부터 어떻게 유도될 수 있는지를 도 4에 나타내었다. 도 4는 테스트 계획과 테스트 대상 소프트웨어로부터 테스트 환경 구성요소를 도출하는 절차를 나타내는 액티비티 다이어그램(activity diagram)이다.Fig. 4 shows how each element of the test environment component can be derived from each item of the test plan and the software under test. 4 is an activity diagram showing a test plan and a procedure for deriving a test environment component from a test target software.

다음으로, 테스트 환경 구축 장치(100)의 제어부(120)는 앞서 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축한다.Next, the control unit 120 of the test environment building apparatus 100 constructs a test environment by automatically arranging it as a test environment code based on the predecessor relationship between the test environment components derived previously.

정의된 테스트 환경 구성요소들을 단순히 모아두는 것만으로는 테스트 환경을 구축했다고 할 수 없다. 예를 들어, 도출된 테스트 환경 구성요소는 IaC 코드로 실체화될 수 있고, 작성된 코드가 의미 있는 테스트 환경이 되기 위해서는 구성요소 간의 선후 관계를 고려해야한다. 예를 들어, 만일 일방적인 코드의 생성과 구성이 이루어진다면, 운영체제도 없는 환경에 기능 모듈 소프트웨어를 먼저 설치하는 등의 오류를 범할 수 있다. 따라서 이러한 오류를 피하기 위해서는 각 구성요소들의 유기적인 선후 관계를 고려한 배치 절차가 필요하다. 도 5는 테스트 계획과 테스트 대상 소프트웨어를 기반으로 테스트 환경 구성요소의 배치 절차를 나타내는 액티비티 다이어그램이다. 도 5의 테스트 환경 구축 절차는 파급력이 큰 구성요소부터 순차적으로 배치하면서, 테스트 대상 소프트웨어나 테스트 계획을 반영할 수 있도록 구체화하는 방법을 사용한다. 따라서 대부분의 응용 소프트웨어에서 필요로 하는 플랫폼의 구축을 먼저 시작한다. 이후에는 소프트웨어의 특성을 내포하는 컴파일러와 테스트 데이터 매니저를 구축해, 테스트 도구 선별에 사용될 수 있도록 한다. 필요하다면 테스트 하네스를 구성하고 각 구성요소의 초기 환경을 설정해 어떤 테스트 도구가 설정되더라도 사용될 수 있도록 하나의 논리적 모듈로 구분한다. 테스트 도구 선택 과정에서는 앞선 모듈로부터 테스트 대상 소프트웨어의 특성과 테스트 계획 및 구축된 테스트 환경을 참조해 적합한 도구를 선별한다. 테스트 도구가 선택된 이후로는 테스트 도구와 환경 및 테스트 대상 소프트웨어를 실행하기 위해 필요한 유틸리티를 구축한 후, 마지막으로 테스트 도구 설정과 함께 테스트 수행 후 필요한 처리 작업을 설정해 하나의 완전한 테스트 환경을 구축한다.It cannot be said that a test environment has been built simply by collecting the components of the defined test environment. For example, the derived test environment components can be materialized as IaC codes, and in order for the written code to become a meaningful test environment, the predecessor relationship between the components must be considered. For example, if one-sided code is generated and configured, an error such as installing the function module software first in an environment without an operating system may result. Therefore, in order to avoid such errors, an arrangement procedure that considers the organic relationship between each component is necessary. 5 is an activity diagram showing a procedure for arranging test environment components based on a test plan and software to be tested. The test environment construction procedure of FIG. 5 uses a method of concreting so as to reflect the test target software or test plan while sequentially arranging components having a large ripple effect. Therefore, we start to build the platform required by most application software. After that, a compiler and a test data manager that contains the characteristics of the software are built so that they can be used to select test tools. If necessary, configure the test harness and set the initial environment for each component, and divide it into one logical module so that any test tool can be used. In the test tool selection process, a suitable tool is selected by referring to the characteristics of the software to be tested, the test plan, and the established test environment from the previous module. After the test tool is selected, a test tool, environment, and utilities necessary to run the software under test are built, and finally, a complete test environment is established by setting the test tool and the necessary processing tasks after performing the test.

테스트 환경 구성요소는 IaC 도구 중 하나인 도커(Docker)를 사용해 실체화할 수 있다. 도커는 다양한 구성요소를 설치하고 배포할 수 있는 가상 환경인 컨테이너를 제공한다. 이러한 컨테이너는 설치 및 제어 코드로 구성된 도커파일(Docker file)을 통해 생성된다. 따라서 테스트 환경 구축의 자동화는 테스트 환경의 각 구성요소에 대해 정의된 실행 가능한 코드를 테스트 환경 구축 절차에 맞춰 배치하는 방법으로 실현할 수 있다.Test environment components can be instantiated using Docker, one of the IaC tools. Docker provides containers, which are virtual environments in which various components can be installed and deployed. These containers are created through a Docker file composed of installation and control codes. Therefore, the automation of test environment construction can be realized by arranging the executable code defined for each component of the test environment according to the test environment construction procedure.

테스트 환경은 도 5에 맞춰 각 구성요소를 배치하는 ‘Set’ 과정을 따라 구축되며, 테스트 대상 소프트웨어나 테스트 계획의 조건에 따라 일부 구성요소가 생략될 수 있다. ‘Set’ 과정에서 필요한 테스트 환경 구성요소의 설치 코드는 도 6의 맵핑 테이블을 통해 얻을 수 있다. 구성요소의 정보로부터 실행 가능한 템플릿 코드를 얻고, 사용자 입력 혹은 구성요소 도출과정에서 유도된 버전이나 옵션 정보를 채워 설치 코드를 구체화한다. 이렇게 구체화된 코드들은 테스트 환경 배치 절차에 따라 하나의 도커파일로 조합될 수 있다.The test environment is built according to the'Set' process of arranging each component according to FIG. 5, and some components may be omitted depending on the conditions of the software to be tested or the test plan. The installation code of the test environment component required in the'Set' process can be obtained through the mapping table of FIG. 6. The executable template code is obtained from the component information, and the installation code is specified by filling in the version or option information derived from the user input or component derivation process. These specified codes can be combined into a single Docker file according to the test environment deployment procedure.

이로서, 테스트 환경 구축 장치(100)의 출력부(130)는 제어부(120)의 제어에 따라, 테스트 환경 코드로 배치하여 구축된 테스트 환경을 생성하는 실행파일을 출력할 수 있다. 예를 들어, 출력부(130)는 테스트 수행 환경인 하나의 컨테이너를 생성할 수 있는 조합된 도커파일(Docker file)을 테스트 환경을 생성하는 실행파일로서 출력할 수 있다. 도 7은 이런 방식으로 조합된 도커파일의 일례이다. 최종적으로 완성된 도커파일을 실행하면 테스트 수행 환경인 하나의 컨테이너가 생성된다.As a result, the output unit 130 of the test environment building apparatus 100 may output an executable file that generates a test environment constructed by placing it as a test environment code under the control of the control unit 120. For example, the output unit 130 may output a combined Docker file capable of generating one container, which is a test execution environment, as an executable file that creates a test environment. 7 is an example of a docker file combined in this manner. Finally, when the completed Docker file is executed, a container, which is a test execution environment, is created.

지금까지 설명한 바와 같이, 본 발명의 실시예에 따르면, 테스트 대상 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출한 후 자동으로 테스트 환경 코드로 배치하여 테스트 환경을 구축한다. 사용자가 테스트 계획과 테스트 대상 소프트웨어만 지정하면 테스트 요구사항에 맞는 일관된 테스트 환경을 제공함으로써, 테스트 환경을 구축하는데 소요되는 시간과 노력이 절약되는 효과가 있다. 이로 인해 테스트 수행에 더 많은 노력을 집중할 수 있으므로 소프트웨어의 신뢰성을 높이는데 기여할 수 있다.As described so far, according to the embodiment of the present invention, after deriving test environment components from the software to be tested and the test plan, the test environment is automatically disposed as a test environment code to establish a test environment. If the user only specifies the test plan and the software to be tested, it provides a consistent test environment that meets the test requirements, thereby saving time and effort required to build the test environment. This can contribute to increasing the reliability of the software because more effort can be focused on performing tests.

본 발명에 첨부된 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step in the flowchart attached to the present invention may be performed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general purpose computer, special purpose computer or other programmable data processing equipment, the instructions executed by the processor of the computer or other programmable data processing equipment are the functions described in each step of the flowchart. Will create a means of doing things. These computer program instructions can also be stored on a computer-usable or computer-readable recording medium that can be directed to a computer or other programmable data processing equipment to implement a function in a specific manner, so that the computer-readable or computer-readable recording medium. It is also possible to produce an article of manufacture containing instruction means for performing the functions described in each step of the flow chart with instructions stored on the recording medium. Since computer program instructions can also be mounted on a computer or other programmable data processing equipment, a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for the instructions to perform the processing equipment to provide steps for executing the functions described in each step of the flowchart.

또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 실시예에서 언급된 단계들이 수행되는 순서가 변경될 수도 있고, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each step may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative embodiments, the functions mentioned in the steps may occur out of order. For example, the order in which the steps mentioned in the embodiments are performed may be changed, in fact, two steps shown in succession may be performed substantially simultaneously, or the steps may sometimes be performed in the reverse order depending on the corresponding function. It is possible.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100: 테스트 환경 구축 장치
110: 입력부
120: 제어부
130: 출력부
100: test environment building device
110: input unit
120: control unit
130: output

Claims (9)

테스트 환경 구축 장치에서 수행되는 테스트 환경 구축 방법으로서,
테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와,
상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함하는
테스트 환경 구축 방법.
As a test environment building method performed in a test environment building device,
Deriving test environment components from the implementation under test (IUT) software and test plan, and
Comprising the step of constructing a test environment by placing it as a test environment code based on the predecessor relationship between the derived test environment components
How to build a test environment.
제 1 항에 있어서,
상기 테스트 환경 구성요소를 도출하는 단계는, 테스트 플랫폼, 테스트 유틸리티, 테스트 도구, 테스트 데이터, 테스트 하네스 및 테스트 환경 셋업 중 적어도 하나의 정보를 추출하는
테스트 환경 구축 방법.
The method of claim 1,
The step of deriving the test environment component may include extracting at least one of a test platform, a test utility, a test tool, test data, a test harness, and a test environment setup.
How to build a test environment.
제 1 항에 있어서,
상기 테스트 환경을 구축하는 단계는, 상기 도출된 테스트 환경 구성요소를 IaC(Infrastructure as Code) 코드로 실체화하는
테스트 환경 구축 방법.
The method of claim 1,
The step of constructing the test environment may include realizing the derived test environment components as IaC (Infrastructure as Code) codes.
How to build a test environment.
제 3 항에 있어서,
상기 테스트 환경을 구축하는 단계는, 상기 도출된 테스트 환경 구성요소 간의 파급력이 큰 구성요소부터 순차적으로 상기 IaC 코드로 배치하는
테스트 환경 구축 방법.
The method of claim 3,
The step of constructing the test environment may include sequentially arranging the IaC code from a component having a large impact between the derived test environment components.
How to build a test environment.
제 3 항에 있어서,
상기 테스트 환경을 구축하는 단계는, 상기 테스트 플랫폼의 구축, 상기 테스트 대상 소프트웨어의 특성을 내포하는 컴파일러와 상기 테스트 데이터 매니저의 구축, 상기 테스트 도구의 선택, 상기 테스트 유틸리티의 구축 및 상기 테스트 도구의 설정의 순서로 수행하는
테스트 환경 구축 방법.
The method of claim 3,
The step of building the test environment includes: building the test platform, building the compiler including the characteristics of the test target software and the test data manager, selecting the test tool, building the test utility, and setting the test tool To do in the order of
How to build a test environment.
제 3 항에 있어서,
상기 테스트 환경을 구축하는 단계는, 상기 테스트 환경 구성요소의 정보로부터 맵핑 테이블을 통하여 테스트 환경 구성요소의 설치 코드를 얻어서 배치하는
테스트 환경 구축 방법.
The method of claim 3,
In the step of constructing the test environment, the installation code of the test environment component is obtained and placed through a mapping table from the information of the test environment component.
How to build a test environment.
컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와,
상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 판독 가능한 기록매체.
As a computer-readable recording medium storing a computer program,
When the computer program is executed by a processor,
Deriving test environment components from the implementation under test (IUT) software and test plan, and
Including an instruction for causing the processor to perform a method comprising the step of constructing a test environment by placing it as a test environment code based on the predecessor relationship between the derived test environment components.
Computer-readable recording medium.
컴퓨터 판독 가능 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획으로부터 테스트 환경 구성요소를 도출하는 단계와,
상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 프로그램.
As a computer program stored on a computer-readable recording medium,
When the computer program is executed by a processor,
Deriving test environment components from the implementation under test (IUT) software and test plan, and
Including an instruction for causing the processor to perform a method comprising the step of constructing a test environment by placing it as a test environment code based on the predecessor relationship between the derived test environment components.
Computer program.
테스트 대상(Implementation Under Test; IUT) 소프트웨어와 테스트 계획에 대한 데이터를 입력받는 입력부와,
상기 테스트 대상 소프트웨어 및 상기 테스트 계획으로부터 테스트 환경 구성요소를 도출하고, 상기 도출된 테스트 환경 구성요소 간의 선후 관계를 기반으로 테스트 환경 코드로 배치하여 테스트 환경을 구축하는 제어부와,
상기 제어부의 제어에 따라, 상기 구축된 테스트 환경을 생성하는 실행파일을 출력하는 출력부를 포함하는
테스트 환경 구축 장치.

An input section for inputting data on the implementation under test (IUT) software and test plan, and
A control unit for deriving a test environment component from the test target software and the test plan, and arranging it as a test environment code based on the relationship between the derived test environment components and constructing a test environment,
In accordance with the control of the control unit, including an output unit for outputting an executable file that creates the built test environment
Device for building a test environment.

KR1020190122285A 2019-10-02 2019-10-02 Method and apparatus for constructing test environment KR102293274B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190122285A KR102293274B1 (en) 2019-10-02 2019-10-02 Method and apparatus for constructing test environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190122285A KR102293274B1 (en) 2019-10-02 2019-10-02 Method and apparatus for constructing test environment

Publications (2)

Publication Number Publication Date
KR20210039714A true KR20210039714A (en) 2021-04-12
KR102293274B1 KR102293274B1 (en) 2021-08-24

Family

ID=75439879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190122285A KR102293274B1 (en) 2019-10-02 2019-10-02 Method and apparatus for constructing test environment

Country Status (1)

Country Link
KR (1) KR102293274B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048827A1 (en) * 2022-09-02 2024-03-07 쿠팡 주식회사 Electronic apparatus and application test management method therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240003207A (en) * 2022-06-30 2024-01-08 쿠팡 주식회사 Electronic apparatus for providing code verification information and method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204201A1 (en) * 2004-03-15 2005-09-15 Ramco Systems Limited Method and system for testing software development activity
KR20090078696A (en) * 2008-01-15 2009-07-20 포항공과대학교 산학협력단 Method of simulation supporting software testing based on user environment profiling
KR20160050634A (en) * 2014-10-30 2016-05-11 주식회사 케이티 System for testing for test target software method for testing for test target software and cloud server
KR20180119911A (en) 2017-04-26 2018-11-05 국방과학연구소 Recursive combination scheme of daily test plan
EP2866111B1 (en) * 2013-10-28 2019-05-15 dSPACE digital signal processing and control engineering GmbH Testing of a control device by means of a test environment
US10802953B2 (en) * 2017-12-01 2020-10-13 Sap Se Test plan generation using machine learning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204201A1 (en) * 2004-03-15 2005-09-15 Ramco Systems Limited Method and system for testing software development activity
KR20090078696A (en) * 2008-01-15 2009-07-20 포항공과대학교 산학협력단 Method of simulation supporting software testing based on user environment profiling
EP2866111B1 (en) * 2013-10-28 2019-05-15 dSPACE digital signal processing and control engineering GmbH Testing of a control device by means of a test environment
KR20160050634A (en) * 2014-10-30 2016-05-11 주식회사 케이티 System for testing for test target software method for testing for test target software and cloud server
KR20180119911A (en) 2017-04-26 2018-11-05 국방과학연구소 Recursive combination scheme of daily test plan
US10802953B2 (en) * 2017-12-01 2020-10-13 Sap Se Test plan generation using machine learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048827A1 (en) * 2022-09-02 2024-03-07 쿠팡 주식회사 Electronic apparatus and application test management method therefor

Also Published As

Publication number Publication date
KR102293274B1 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
US7865350B1 (en) Partitioning a model in modeling environments
US7861177B2 (en) Software configuration program for software applications
Fernstrom PROCESS WEAVER: Adding process support to UNIX
EP0645032B1 (en) System development support
US8667407B1 (en) Graphical model preparation for embedded deployment
CN111949170B (en) Method and device for configuring task flow and electronic equipment
CN104679488A (en) Flow path customized development platform and method
EP0869433A2 (en) A test development system and method for software with a graphical user interface
CN108280291A (en) Reusable simulation model Interface design and interconnection method, device and computer equipment
Sinnig et al. Patterns in model-based engineering
Ahmed et al. Cultivating software solutions development in the scientific academia
CN112328229A (en) Method for quickly creating Jenkins assembly line
KR20210039714A (en) Method and apparatus for constructing test environment
Bartusevics et al. Models for implementation of software configuration management
EP2271982A1 (en) A method and a system for transforming an object model
CN105760147A (en) Software page display construction method and system
CN105868104B (en) A kind of cross-platform graphic user interface automatic test approach
CN101976196B (en) Quality of service oriented code automatic code generating method
KR102046622B1 (en) Software service system based on workflow and computer program that performs each step of the system
Cachada et al. Petri nets approach for designing the migration process towards industrial cyber-physical production systems
Caffiau et al. Generating interactive applications from task models: A hard challenge
Hüfner et al. A customized design framework for the model-based development of engine control systems
Mészáros et al. Visual specification of a DSL processor debugger
CN117762397A (en) System rapid development platform and method based on control engine

Legal Events

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