KR101606283B1 - Appratus for automatic generation of expected results for testing component-based software system - Google Patents
Appratus for automatic generation of expected results for testing component-based software system Download PDFInfo
- Publication number
- KR101606283B1 KR101606283B1 KR1020140142546A KR20140142546A KR101606283B1 KR 101606283 B1 KR101606283 B1 KR 101606283B1 KR 1020140142546 A KR1020140142546 A KR 1020140142546A KR 20140142546 A KR20140142546 A KR 20140142546A KR 101606283 B1 KR101606283 B1 KR 101606283B1
- Authority
- KR
- South Korea
- Prior art keywords
- component
- input
- software system
- output
- based software
- 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation 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
본 발명은 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for automatically generating an expected result value for testing a component based software system.
컴포넌트 기반 소프트웨어 시스템은 두 개 또는 그 이상의 소프트웨어 컴포넌트들로 구성된 시스템이며, 각 컴포넌트들은 입/출력 인터페이스를 통해 연결되어 있다. 컴포넌트 기반 소프트웨어 시스템을 테스트하기 위해서는 정확한 동작을 검증하기 위해 예상 결과 값이 필요하며 이러한 예상 결과 값을 수동으로 생성하는 것은 많은 시간과 비용이 소요된다. 종래의 기술들은 컴포넌트 기반 소프트웨어 시스템이 아닌 일반적인 시스템을 대상으로 예상 결과 값을 자동으로 생성함으로써 시간과 비용을 줄이고자 하였다. 하지만 종래의 기술들은 컴포넌트 기반 소프트웨어 시스템을 구성하는 단위 컴포넌트들의 입출력 연관관계를 고려하고 있지 않으며, 컴포넌트 기반 소프트웨어 시스템이 업그레이드 될 때 예상 결과 값을 자동으로 생성할 수 없다는 문제점을 가지고 있다.A component-based software system is a system composed of two or more software components, each of which is connected via an input / output interface. To test a component-based software system, expected results are needed to verify correct operation, and manually generating these expected results can be time consuming and costly. Conventional technologies have attempted to reduce time and cost by automatically generating expected results for general systems rather than component based software systems. However, the conventional technologies do not take into account the input / output association of the unit components constituting the component-based software system, and have a problem that the expected result value can not be automatically generated when the component-based software system is upgraded.
본 발명의 실시예들은 단위 컴포넌트의 내부 입출력 연관관계 및 단위 컴포넌트간 입출력 연관관계 정보를 이용하여 복합 컴포넌트의 입출력 연관관계를 분석하고, 이를 기반으로 각각의 단위 컴포넌트의 테스트 결과를 검색함으로써, 복합 컴포넌트의 예상 결과 값을 자동으로 생성하는 방법 및 장치를 제공할 수 있다.The embodiments of the present invention analyze the input / output relationship of the composite component using the internal input / output relationship of the unit component and the input / output association information between the unit components, and search the test result of each unit component based on the input / A method and an apparatus for automatically generating an expected result value of an expected result value of an image.
본 발명의 일실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치는 상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 입력부, 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하고, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하고, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 프로세서, 및 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 출력부를 포함할 수 있다.An apparatus for automatically generating an expected result value for testing a component based software system according to an exemplary embodiment of the present invention includes an input unit for receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component- , Generating an input / output association direction graph of the component-based software system, generating a first set of test data for testing the component-based software system based on test data of each of the plurality of unit components, A processor for generating a second set of test data that is a subset of the first set of test data using a relationship direction graph and a processor for generating a second set of test data based on the second set of test data using the input / It may comprise an output for generating the output.
상기 입출력 연관관계 방향 그래프는 상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 생성될 수 있다.The input / output association relationship direction graph may be generated based on input / output association information within the plurality of unit components and input / output association information between the plurality of unit components.
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성될 수 있다.The second set of test data may be generated based on a determination of whether at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는 경우, 상기 프로세서는 상기 제2 테스트 데이터 집합으로 하여금 상기 제1 테스트 데이터 집합 전부를 포함하도록 할 수 있다.If, as a result of the determination, the at least one output parameter of the component-based software system varies depending on all of the input parameters of the component-based software system, the processor may cause the second test data set to include all of the first test data set . ≪ / RTI >
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는 경우, 상기 프로세서는, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성하고, 상기 연관 입력 파라미터 집합들에 기초하여 상기 제2 테스트 데이터 집합을 생성할 수 있다.And if it is determined that each of the output parameters of the component based software system does not depend on all of the input parameters of the component based software system, Generate sets of associated input parameters, and generate the second set of test data based on the set of associated input parameters.
상기 출력부는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하고, 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성할 수 있다.The output may generate a first expected result value that represents an output for the second set of test data and may generate the overall expected result value from the first expected result value.
상기 출력부는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성할 수 있다.The output unit may generate the first expected result value based on the test data and the expected result value of each of the plurality of unit components.
본 발명의 일실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치는 상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 입력부, 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하고, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하고, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 프로세서, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 출력부를 포함할 수 있다.An apparatus for automatically generating an expected result value for testing a component based software system according to an exemplary embodiment of the present invention includes an input unit for receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component- Based on the test data of each of the plurality of unit components, the input / output association relationship graph of the component-based software system based on input / output association information between the plurality of unit components, A processor for generating a first test data set for a first test data set and a second test data set that is a subset of the first test data set using the input / output association direction graph, And the first may include a total estimated result output generating and outputting a value based on the second test data set.
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성될 수 있다.The second set of test data may be generated based on a determination of whether at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system.
본 발명의 일실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치는 상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 입력부, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하고, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 프로세서, 및 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 출력부를 포함할 수 있다.An apparatus for automatically generating an expected result value for testing a component based software system according to an exemplary embodiment of the present invention includes an input unit for receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component- Based software system; and generating at least one output parameter of the component-based software system based on the test data of each of the plurality of unit components, A processor for generating a second set of test data that is a subset of the first set of test data based on a determination as to whether or not it depends on all of the input parameters, And an output unit for generating and outputting a result value.
상기 프로세서는 상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및/또는 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하고, 상기 제2 테스트 데이터 집합 및 상기 전체 예상 결과 값은 각각 상기 입출력 연관관계 방향 그래프를 이용하여 생성될 수 있다.Wherein the processor generates an input / output association direction graph of the component-based software system based on input / output association information within the plurality of unit components and / or input / output association information between the plurality of unit components, The test data set and the total expected result value may be generated using the input / output association direction graph, respectively.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는 경우, 상기 프로세서는 상기 제2 테스트 데이터 집합으로 하여금 상기 제1 테스트 데이터 집합 전부를 포함하도록 할 수 있다.If, as a result of the determination, the at least one output parameter of the component-based software system varies depending on all of the input parameters of the component-based software system, the processor may cause the second test data set to include all of the first test data set . ≪ / RTI >
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는 경우, 상기 프로세서는, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성하고, 상기 연관 입력 파라미터 집합들에 기초하여 상기 제2 테스트 데이터 집합을 생성할 수 있다.And if it is determined that each of the output parameters of the component based software system does not depend on all of the input parameters of the component based software system, Generate sets of associated input parameters, and generate the second set of test data based on the set of associated input parameters.
상기 출력부는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하고, 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성할 수 있다.The output may generate a first expected result value that represents an output for the second set of test data and may generate the overall expected result value from the first expected result value.
상기 출력부는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성할 수 있다.The output unit may generate the first expected result value based on the test data and the expected result value of each of the plurality of unit components.
본 발명의 일실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법은 상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 단계, 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하는 단계, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하는 단계, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 단계, 및 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 단계를 포함할 수 있다.A method for automatically generating an expected result value for testing a component-based software system according to an embodiment of the present invention includes receiving test data and an expected result value of each of a plurality of interconnected unit components constituting the component- Generating a first test data set for testing the component based software system based on test data of each of the plurality of unit components, Generating a second test data set that is a subset of the first test data set using an input / output association direction graph, and generating a second test data set based on the second test data set based on the input / And generating and outputting a value.
상기 입출력 연관관계 방향 그래프는 상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 생성될 수 있다.The input / output association relationship direction graph may be generated based on input / output association information within the plurality of unit components and input / output association information between the plurality of unit components.
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성될 수 있다.The second set of test data may be generated based on a determination of whether at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는 경우, 상기 제2 테스트 데이터 집합을 생성하는 단계는, 상기 제2 테스트 데이터 집합으로 하여금 상기 제1 테스트 데이터 집합 전부를 포함하도록 하는 단계를 포함할 수 있다.Wherein if the at least one output parameter of the component-based software system is determined to depend on all of the input parameters of the component-based software system, then generating the second set of test data comprises: To include all of the first set of test data.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는 경우, 상기 제2 테스트 데이터 집합을 생성하는 단계는, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성하는 단계 및 상기 연관 입력 파라미터 집합들에 기초하여 상기 제2 테스트 데이터 집합을 생성하는 단계를 포함할 수 있다.Wherein if the result of the determination is that each of the output parameters of the component-based software system does not depend on all of the input parameters of the component-based software system, then generating the second set of test data comprises: Generating sets of associated input parameters corresponding to each of the output parameters of the set of associated input parameters, and generating the second set of test data based on the set of associated input parameters.
전체 예상 결과 값을 생성하여 출력하는 단계는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하는 단계 및 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성하는 단계를 포함할 수 있다.Generating and outputting an overall expected result value comprises generating a first expected result value representing an output for the second set of test data and generating the overall expected result value from the first expected result value, .
상기 제1 예상 결과 값을 생성하는 단계는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성하는 단계를 포함할 수 있다.The generating of the first expected result value may include generating the first expected result value based on the test data and the expected result value of each of the plurality of unit components.
본 발명의 일실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법은, 상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 단계, 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하는 단계, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하는 단계, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 단계, 및 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 단계를 포함할 수 있다.A method for automatically generating an expected result value for testing a component-based software system according to an exemplary embodiment of the present invention includes receiving test data and an expected result value of each of a plurality of interconnected unit components constituting the component- Based on the test data of each of the plurality of unit components, generating an input / output association relationship graph of the component-based software system based on input / output association information between the plurality of unit components, Generating a first set of test data for testing of the input / output association relationship direction graph, generating a second set of test data that is a subset of the first set of test data using the input / output association direction graph, By using a test based on the second set of data may include generating a total estimated results to output.
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성될 수 있다.The second set of test data may be generated based on a determination of whether at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system.
본 발명은 복수의 단위 컴포넌트들을 포함하는 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값을 자동으로 생성하는 방법 및 장치를 제공한다. 본 발명을 통해 컴포넌트 기반 소프트웨어 시스템의 테스트 시에 소요되는 시간과 비용을 줄일 수 있으며, 정확한 테스트가 수행될 수 있다. 또한 본 발명은 컴포넌트 기반이 아닌 규모가 큰 시스템에도 적용될 수 있다.The present invention provides a method and apparatus for automatically generating an expected result value for testing a component based software system comprising a plurality of unit components. The present invention can reduce the time and cost required for testing a component-based software system, and accurate testing can be performed. The present invention can also be applied to a large-scale system that is not a component-based system.
도 1은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템을 나타낸다.
도 2는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치를 나타낸다.
도 3은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치의 동작을 설명하기 위한 순서도이다.
도 4는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프의 생성 알고리즘을 나타낸다.
도 5는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및 단위 컴포넌트들 간의 입출력 연관관계 정보를 이용하여 생성된 입출력 연관관계 방향 그래프를 나타낸다.
도 6은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 단위 컴포넌트들 간의 입출력 연관관계 정보를 이용하여 생성된 입출력 연관관계 방향 그래프를 나타낸다.
도 7은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치의 동작을 설명하기 위한 순서도이다.
도 8은 일 실시예에 따른 축소된 예상 결과값 생성 알고리즘을 나타낸다.
도 9는 일 실시예에 따른 축소된 예상 결과값 생성 알고리즘의 일부를 나타낸다.
도 10은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및 단위 컴포넌트들 간의 입출력 연관관계 정보를 이용하여 생성된 입출력 연관관계 방향 그래프를 이용하여 축소된 예상 결과 값을 생성하는 과정을 나타낸다.
도 11은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 단위 컴포넌트들 간의 입출력 연관관계 정보를 이용하여 생성된 입출력 연관관계 방향 그래프를 이용하여 축소된 예상 결과 값을 생성하는 과정을 나타낸다.
도 12는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템을 나타낸다.
도 13은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 나타낸다.
도 14는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템을 나타낸다.
도 15는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 나타낸다.
도 16은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템을 나타낸다.
도 17은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 나타낸다.1 illustrates a component-based software system in accordance with one embodiment.
2 illustrates an apparatus for automatically generating an expected result value for testing a component-based software system according to an embodiment.
3 is a flowchart illustrating an operation of an apparatus for automatically generating an expected result value for testing a component-based software system according to an exemplary embodiment.
4 illustrates an algorithm for generating an input / output association direction graph of a component-based software system according to an embodiment.
5 illustrates an input / output association relationship graph generated based on input / output association information and unit input / output association information between unit components of a component-based software system according to an exemplary embodiment.
FIG. 6 illustrates an input / output association relationship graph generated using input / output association information between unit components of a component-based software system according to an exemplary embodiment.
7 is a flowchart illustrating an operation of an apparatus for automatically generating an expected result value for testing a component-based software system according to an exemplary embodiment.
8 illustrates a reduced expected result value generation algorithm according to an embodiment.
9 illustrates a portion of a reduced estimated result value generation algorithm according to one embodiment.
FIG. 10 is a diagram showing an example of an input / output association relationship graph generated by using input / output association information and unit input / output association information between unit components of a component-based software system according to an exemplary embodiment, .
11 illustrates a process of generating a reduced estimated result value using an input / output association direction graph generated using input / output association information between unit components of a component-based software system according to an exemplary embodiment.
12 illustrates a component-based software system in accordance with one embodiment.
13 illustrates a graph of input / output association relationships of a component-based software system according to an embodiment.
14 illustrates a component-based software system in accordance with one embodiment.
15 shows a graph of the direction of input / output association of a component-based software system according to an embodiment.
16 illustrates a component-based software system in accordance with one embodiment.
17 illustrates a graph of input / output association relationships of a component-based software system according to an embodiment.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일 실시예들에 의해 제한되거나 한정되는 것은 아니다. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments.
도 1은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(component-based software system; CBS system)을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)은 상호 연결된 복수의 단위 컴포넌트들(C1, C2, C3)을 포함할 수 있다. 구체적으로, Ci 는 컴포넌트 기반 소프트웨어 시스템을 구성하는 i번째 단위 컴포넌트를 의미할 수 있고, Ci in 및 Ci out 은 각각 Ci 의 모든 입력 파라미터 및 출력 파라미터의 집합을 의미할 수 있다. xi ,j 및 yi ,k 는 각각 Ci 의 j번째 입력 파라미터 및 k번째 출력 파라미터를 의미할 수 있다. 특히, EXTin(Ci) 및 EXTout(Ci) 은 각각 Ci 의 컴포넌트 기반 소프트웨어 시스템의 외부로부터의 입력 파라미터 및 외부로의 출력 파라미터의 집합을 의미할 수 있다. 예를 들어, 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)에서 C1 in = { x1,1, x1,2 , x1,3 } 이고 EXTin(C1) = { x1,2, x2,2 } 이다. 또한, CC 는 컴포넌트 기반 소프트웨어 시스템의 모든 단위 컴포넌트들의 집합을 의미할 수 있고, CCin 및 CCout 은 각각 컴포넌트 기반 소프트웨어 시스템의 모든 외부로부터의 입력 파라미터 및 외부로의 출력 파라미터의 집합을 의미할 수 있다. 예를 들어, 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)에서 CC = { C1, C2, C3 } 이고, CCin = { x1,1, x1,2 , x2,1 , x2,2 } 이고 CCout = { y1 ,1, y1 ,2 , y3 ,1 , y3 ,2 } 이다. Ci ∈ CC 일 때, Ci rp 는 Ci 컴포넌트 내부의 입출력 연관관계를 의미할 수 있고, RPintra 는 모든 Ci rp 의 집합을 의미할 수 있다. 또한, RPinter 는 컴포넌트 간의 입출력 연관관계의 집합을 의미할 수 있고, RP 는 컴포넌트 내부 입출력 연관관계 및 컴포넌트 간 입출력 연관관계 모두의 집합을 의미할 수 있다. 도 1에 도시된 바와 같이, C2 의 출력 y2 ,1 은 C1 의 입력 x1, 3 이다. CBS 는 CBS = (CC, RP) 로 정의될 수 있다.1 is a block diagram illustrating a component-based software system (CBS system) according to an exemplary embodiment of the present invention. As shown in FIG. 1, a component-based
단위 컴포넌트들 각각의 테스트 케이스(즉, 입력 테스트 데이터 및 예상 결과 값)는 주어지는 것으로 가정된다. ATCi 는 i번째 단위 컴포넌트의 테스트 케이스의 집합을 의미할 수 있고, STC 는 컴포넌트 기반 소프트웨어 시스템 내의 모든 단위 컴포넌트들의 테스트 케이스의 집합을 의미할 수 있다. Ci in 의 크기가 n 일 때, IDn 은 입력 테스트 데이터의 집합을 의미할 수 있다. Ci out 의 크기가 m 일 때, ODm 은 출력 데이터의 집합을 의미할 수 있다. i번째 단위 컴포넌트의 테스트 케이스의 집합은 ATCi = < IDn, ODm > 으로 정의될 수 있다.It is assumed that the test cases of each of the unit components (i.e. input test data and expected result values) are given. ATC i May refer to a set of test cases of an i-th unit component, and STC may refer to a set of test cases of all unit components in a component-based software system. When the size of C i in is n, ID n can refer to a set of input test data. When the size of C i out is m, OD m can mean a set of output data. The set of test cases for the ith unit component is ATC i = ≪ ID n , OD m ≫.
표 1 내지 3은 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)에 대한 C1, C2 및 C3 각각의 예시적인 테스트 케이스이다. A1 내지 L2는 단위 컴포넌트들 각각의 예시적인 입력 데이터 및 출력 데이터이다. 입력 테스트 데이터는 블랙-박스 테스팅(black-box testing) 방법을 이용하여 생성될 수 있다. 본 실시예에서 STC = { ATC1, ATC2, ATC3 } 이다.Tables 1 to 3 illustrate the relationship between C 1 , C 2 , and C 1 for the component-based
도 2를 참조하면, 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)의 테스트를 위한 예상 결과 값 자동 생성 장치(200)가 제공된다. 도 2에 도시된 바와 같이, 예상 결과 값 자동 생성 장치(200)는 입력부(210), 프로세서(220) 및 출력부(230)를 포함할 수 있다. 예상 결과 값 자동 생성 장치(200)는 컴포넌트 기반 소프트웨어 시스템(100)을 구성하는 단위 컴포넌트들 내부의 입출력 연관관계, 단위 컴포넌트들 간의 입출력 연관관계, 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값이 알려진 경우 이에 기초하여 컴포넌트 기반 소프트웨어 시스템(100)의 테스트를 위한 예상 결과 값을 자동으로 생성할 수 있다.Referring to FIG. 2, an
구체적으로, 입력부(210)는 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받을 수 있다. 본 실시예에서, 입력부(210)가 입력받는 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값은 표 1 내지 3에 제시된 단위 컴포넌트들 각각의 테스트 케이스의 집합(STC)일 수 있다.Specifically, the
프로세서(220)는 단위 컴포넌트들 내부의 입출력 연관관계(RPintra) 및 단위 컴포넌트들 간의 입출력 연관관계(RPinter)에 기초하여 컴포넌트 기반 소프트웨어 시스템(100)의 입출력 연관관계 방향 그래프(I/O relationship directed graph; IORG)를 생성할 수 있다. 프로세서(220)는 단위 컴포넌트들 각각의 입력 데이터에 기초하여 컴포넌트 기반 소프트웨어 시스템(100)의 전체 테스트 데이터 집합(예컨대, 제1 테스트 데이터 집합)을 생성할 수 있다. 프로세서(220)는 컴포넌트 기반 소프트웨어 시스템(100)의 입출력 연관관계 방향 그래프를 이용하여 컴포넌트 기반 소프트웨어 시스템(100)의 전체 테스트 데이터 집합으로부터 축소된 테스트 데이터 집합(예컨대, 제2 테스트 데이터 집합)을 생성할 수 있다. 축소된 테스트 데이터 집합은 전체 테스트 데이터 집합의 부분집합이며, 이로부터 전체 테스트 데이터 집합의 입력에 대한 출력을 나타내는 전체 예상 결과 값을 도출해 낼 수 있도록 생성된다.The
출력부(230)는 축소된 테스트 데이터 집합의 입력에 대한 출력을 나타내는 축소된 예상 결과 값(예컨대, 제1 예상 결과 값)을 생성할 수 있다. 출력부(230)는 축소된 예상 결과 값에 기초하여 전체 예상 결과 값을 생성하여 출력할 수 있다.
이하에서는 도 3을 참조하여, 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)의 테스트를 위한 예상 결과 값 자동 생성 장치(200)의 동작에 대하여 구체적으로 살펴본다.Hereinafter, the operation of the expected result value
단계 310에서, 입력부(210)는 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받을 수 있다. 본 실시예에서, 입력부(210)가 입력받는 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값은 표 1 내지 3에 제시된 단위 컴포넌트들 각각의 테스트 케이스의 집합(STC)일 수 있다.In
단계 320에서, 프로세서(220)는 단위 컴포넌트들 내부의 입출력 연관관계(RPintra) 및 단위 컴포넌트들 간의 입출력 연관관계(RPinter)에 기초하여 컴포넌트 기반 소프트웨어 시스템(100)의 입출력 연관관계 방향 그래프(I/O relationship directed graph; IORG)를 생성할 수 있다. V 가 모든 입력 및 출력 파라미터의 집합이고 E 가 입출력 연관관계의 집합일 때, 입출력 연관관계 방향 그래프는 (V, E) 쌍일 수 있다.IO affinity directed graph in
도 4는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)의 입출력 연관관계 방향 그래프의 생성 알고리즘을 나타낸다. 도 4를 참조하면, 본 알고리즘의 입력은 컴포넌트 내부 입출력 연관관계 및 컴포넌트 간 입출력 연관관계 모두의 집합(RP), 컴포넌트 기반 소프트웨어 시스템의 모든 외부 입력 파라미터의 집합(CCin), 및 컴포넌트 기반 소프트웨어 시스템의 모든 외부 출력 파라미터의 집합(CCout)일 수 있다.4 illustrates an algorithm for generating an input / output association direction graph of a component-based
본 알고리즘은 먼저, IORG 의 V 및 E 를 초기화한다(line 1, 2). 이어서, CCin 의 각 원소 x 에 대하여, IORG 의 V 에 x 를 추가하고(line 4), x 에 연관된 V 및 E 를 생성하기 위해 x 를 인자로 하여 함수 GenerateIOReGraph()를 호출하고(line 5), 이 함수의 결과를 IORG에 추가한다(line 6).The algorithm first initializes V and E of IORG (
함수 GenerateIOReGraph()는 다음과 같이 구성될 수 있다. 컴포넌트 내부 입출력 연관관계의 집합(RPintra)이 공집합이 아닐 경우, 모든 컴포넌트 내부 입출력 연관관계의 집합(RPintra) 내의 입력 inp 에 연관된 intra-output 의 집합을 취한다(line 11,12). 또는, 컴포넌트 내부 입출력 연관관계의 집합(RPintra)이 공집합일 경우, 즉 단위 컴포넌트들의 내부 입출력 연관관계가 알려지지 않은 경우, 입력 inp를 포함하는 해당 단위 컴포넌트의 모든 출력 집합을 취한다(line 13,14,15). 각 intra-output rout 에 대하여, rout 및 inp 로부터 rout 으로의 에지(edge)를 추가한다(line 17,18). 이어서, 모든 컴포넌트 간 입출력 연관관계의 집합(RPintra) 내의 rout 에 연관된 inter-input 의 집합을 취한다(line 19). inter-input 의 집합이 공집합이거나, rout 이 CCout 의 원소인 경우, 연관된 입력 및 출력을 검색하지 않는다(line 20). 그렇지 않다면, 각 inter-input rin 에 대하여, rin 및 rout 으로부터 rin 으로의 에지를 추가하고(line 22,23), rin 을 인자로 하여 함수 GenerateIOReGraph()를 재귀적으로 호출한다(line 24).The function GenerateIOReGraph () can be constructed as follows. If a set of internal input and output components affinity (RP intra) is not the empty set and take the set of intra-output associated with the input inp in the set of all the components inside the input-output relationship (RP intra) (line 11,12) . Alternatively, if the set of component internal I / O associations (RP intra ) is empty, that is, if the internal I / O associations of the unit components are unknown, take all output sets of the corresponding unit component including input inp (
도 5는 일 실시예에 따른컴포넌트 기반 소프트웨어 시스템(100)의 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보 및 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보를 이용하여 생성된 입출력 연관관계 방향 그래프를 나타낸다. 도 5를 참조하면, 입출력 연관관계 방향 그래프는 7개의 입력 노드, 7개의 출력 노드 및 에지들로 구성된다. 입출력 연관관계 방향 그래프에 의해, 컴포넌트 기반 소프트웨어 시스템의 각 외부 출력 파라미터에 연관된 컴포넌트 기반 소프트웨어의 각 외부 입력 파라미터를 식별할 수 있다. 예를 들어, 외부 입력 파라미터 x2,1 및 x2,2 는 외부 출력 파라미터 y3 ,1 에 연관된다.5 illustrates an input / output association relationship graph generated by using input / output association information within a plurality of unit components and input / output association information between a plurality of unit components of the component-based
도 6은 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)의 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보만을 이용하여 생성된 입출력 연관관계 방향 그래프를 나타낸다. 도 6을 참조하면, 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보를 이용하지 않기 때문에 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계가 생성되며, 도 5에 따른 입출력 연관관계 방향 그래프와 유사하게 7개의 입력 노드, 7개의 출력 노드 및 에지들로 구성된다.FIG. 6 shows an I / O association direction graph generated using only input / output association information between a plurality of unit components of the component-based
다시 도 3을 참조하면, 단계 330에서, 프로세서(220)는 단위 컴포넌트들 각각의 입력 데이터에 기초하여 컴포넌트 기반 소프트웨어 시스템(100)의 전체 테스트 데이터 집합(예컨대, 제1 테스트 데이터 집합)을 생성할 수 있다. 전체 테스트 데이터 집합의 생성은 다음과 같이 나타낼 수 있다.
Referring again to FIG. 3, in
Tin = D(x1) × D(x2) × … × D(xp)
T in = D (x 1 ) x D (x 2 ) x × D (x p )
여기서, Tin 은 테스트 데이터 집합을 의미하고, xi 는 CCin 의 i번째 입력 파라미터를 의미하며, D(xi) 는 입력 파라미터 xi 에서 입력 가능한 데이터의 집합을 의미하고, p 는 CCin 의 크기를 의미할 수 있다. D(xi) 는 단위 컴포넌트들의 테스트 시에 블랙-박스 테스팅(black-box testing) 및 화이트-박스 테스팅(white-box testing) 기법을 이용하여 미리 생성된다. 예를 들어, 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)에서 D(x1,1) = { A1, A2 }, D(x1,2) = { B1, B2 }, D(x2,1) = { F1, F2 }, D(x2,2) = { G1, G2 }이다. 표 4는 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)의 Tin 을 나타낸다.Here, T in denotes a test data set, x i denotes an i-th input parameter of CC in , D (x i ) denotes a set of data that can be input in the input parameter x i , and p denotes CC in Quot; size " D (x i ) is generated in advance using black-box testing and white-box testing techniques in testing unit components. For example, in the component-based
단계 340에서, 프로세서(220)는 컴포넌트 기반 소프트웨어 시스템(100)의 입출력 연관관계 방향 그래프를 이용하여 컴포넌트 기반 소프트웨어 시스템(100)의 전체 테스트 데이터 집합으로부터 축소된 테스트 데이터 집합(예컨대, 제2 테스트 데이터 집합)을 생성할 수 있다. 여기서, 축소된 테스트 데이터 집합은 전체 테스트 데이터 집합의 부분집합이며, 이로부터 전체 테스트 데이터 집합의 입력에 대한 출력을 나타내는 전체 예상 결과 값을 도출해 낼 수 있도록 생성된다.In
축소된 테스트 데이터 집합은 출력 파라미터 각각에 대응하는 연관 입력 파라미터 집합들에 기초하여 생성될 수 있다. 본 명세서에서, Tred in 은 축소된 테스트 데이터 집합을 의미할 수 있고, R(yk)는 출력 파라미터 yk 에 대응하는 연관 입력 파라미터 집합을 의미할 수 있다. 출력 파라미터 yk 에 연관된 입력 파라미터들의 집합을 X(yk) 라고 할 때, 연관 입력 파라미터 집합 R(yk)는 다음과 같이 표현될 수 있다.The reduced set of test data may be generated based on the set of associated input parameters corresponding to each of the output parameters. In this specification, T red in may mean a reduced set of test data, and R (y k ) may refer to a set of associated input parameters corresponding to the output parameter y k . When the set of input parameters associated with the output parameter y k is X (y k ), the set of associated input parameters R (y k ) can be expressed as:
출력 파라미터 yk 의 예상 결과 값은 R(yk) 의 원소에 의하여 결정된다. R(yk) 는 컴포넌트 내부의 입출력 연관관계 및 컴포넌트 간의 입출력 연관관계에 따라 변경될 수 있다.The expected value of the output parameter y k is determined by the element of R (y k ). R (y k ) can be changed according to the input / output relationship within the component and the input / output association between the components.
도 3에 도시된 바와 같은 입출력 연관관계 방향 그래프를 이용하여, X(y1 ,1) = { x1,1, x1,2 }, X(y1 ,2) = { x1,2, x2,1 }, X(y3 ,1) = { x2,1, x2,2 } 및 X(y3 ,2) = { x2,2 } 가 결정된다. 표 5 내지 8은 각각 R(y1 ,1), R(y1 ,2), R(y3 ,1) 및 R(y3 ,2) 의 입력 테스트 데이터의 조합을 제시한다. 기호 "-"는 무관한 데이터를 의미한다.X (y 1 , 1 ) = {x 1,1 , x 1,2 }, X (y 1 , 2 ) = {x 1,2 , x 2,1}, x (y 3 , 1) = a {x 2,1, x 2,2}, and x (y 3, 2) = {x 2,2} are determined. Tables 5 to 8 present combinations of input test data for R (y 1 , 1 ), R (y 1 , 2 ), R (y 3 , 1 ) and R (y 3 , 2 ), respectively. The symbol "-" means irrelevant data.
Tin 의 부분집합이며, 각 R(yk) 의 합집합을 커버하는 Tred in 은 다음과 같이 표현될 수 있다.A subset of T in, T in red to cover a union of each R (k y) can be expressed as follows.
식 (6)Equation (6)
표 9를 참조하면, 표 4에 제시된 Tin 을 커버할 수 있는 Tred in 이 제시된다.Referring to Table 9, T red in which the T in shown in Table 4 can be covered .
단계 350에서, 출력부(230)는 축소된 테스트 데이터 집합의 입력에 대한 출력을 나타내는 축소된 예상 결과 값(예컨대, 제1 예상 결과 값)을 생성할 수 있다. 본 명세서에서, Tred out 은 축소된 예상 결과 값을 의미할 수 있고, Tout 은 전체 예상 결과 값을 의미할 수 있다.At
도 8은 일 실시예에 따른 축소된 예상 결과값 생성 알고리즘을 나타낸다. 도 8을 참조하면, 본 알고리즘의 입력은 축소된 테스트 데이터 집합(Tred in), 입출력 연관관계 방향 그래프(IORG), 및 컴포넌트 기반 소프트웨어 시스템 내의 모든 단위 컴포넌트들의 테스트 케이스의 집합(STC)일 수 있다.8 illustrates a reduced expected result value generation algorithm according to an embodiment. 8, the input of the algorithm may be a reduced test data set (T red in ), an I / O association direction graph (IORG), and a set of test cases (STC) of all the unit components in the component- have.
본 알고리즘은 먼저, Tred out 을 초기화한다(line 1). 이어서, IORG 내의 CCin 의 노드들 및 CCout 의 노드들을 취한다(line 2, 3). CI 는 CCin 의 노드들을 저장하는 CI.node 및 Tred in 의 원소를 저장하는 CI.data 로 구성된다. CO 는 CCout 의 노드들을 저장하는 CO.node 및 Tred in 의 원소에 대한 예상 결과 값를 저장하는 CO.data 로 구성된다. Tred in 의 각 원소 inTD 에 대하여, CI.data 에는 inTD 를 할당하고, CO.data 에는 NULL 을 할당한다(line 5, 6). 이어서, inTD 에 대한 예상 결과 값을 생성하기 위하여 CI 및 CO 를 인자로 함수 SearchExpectedResults()를 호출한다. 생성된 inTD 에 대한 예상 결과 값은 Tred out 에 추가될 수 있도록 CO.data 에 저장된다(line 9).The algorithm first initializes T red out (line 1). Next, we take the nodes of the CC in in the IORG and the nodes of the CC out (
도 9는 일 실시예에 따른 함수 SearchExpectedResults()의 명세를 나타낸다. 도 9를 참조하면, 본 함수의 입력은 IORG 내의 추적 노드(tracing node)들의 집합 및 CCout 의 노드들의 집합일 수 있다.Figure 9 illustrates the specification of a function SearchExpectedResults () according to one embodiment. 9, the input of this function may be a set of tracing nodes in the IORG and a set of nodes in the CC out .
본 알고리즘은 먼저, 추적 노드들을 연관된 자녀 노드들에 따라 그룹화한다(line 3). 즉, 동일한 그룹 내의 추적 노드들은 동일한 자녀 노드를 가진다. RNG 는 동일한 자녀 노드들 가지는 추적 노드들로 구성된 그룹들의 집합을 의미한다. 이어서, 다음 추적 노드들의 집합 nextN 을 초기화한다(line 4). RNG 의 각 원소 rn 에 대하여, rn 의 자녀 노드를 cN.node 에 할당하고(line 6), rn 및 cN.node 에 연관된 단위 컴포넌트들의 테스트 케이스들을 STC 에서 취한다(line 7). rn 의 모든 노드들이 입력 노드인 경우, rn.node 및 cN.node 에 연관된 테스트 케이스들을 취한다. 그렇지 않은 경우, cN.node 에만 연관된 테스트 케이스들을 취한다. RTC 는 단위 컴포넌트의 연관 테스트 케이스들을 의미한다. RTC 내에 rn.data 가 존재하는 경우, 예상 결과 값 생성은 실패한다(line 16). 그렇지 않은 경우, RTC 에서 cN.node 에 연관된 데이터를 취한다(line 9). cN.node 가 CO.node 내에 있는 경우, cN.data 는 CO.data 에 추가될 예상 결과 값이다(line 11). 이어서, cN 의 자녀 노드가 존재하는 경우 cN 을 nextN 에 추가한다. 마지막으로, nextN 이 비어있을 때까지 함수 SearchExpectedResults()를 재귀적으로 호출한다(line 19). 본 알고리즘의 시간 복잡도는 다음과 같다.The algorithm first groups the tracking nodes according to their associated child nodes (line 3). That is, the tracking nodes in the same group have the same child node. An RNG is a set of groups of tracking nodes with identical child nodes. Next, initialize the next set of tracking nodes nextN (line 4). For each element rn of the RNG, child nodes of rn are assigned to cN.node (line 6), and test cases of unit components associated with rn and cN.node are taken from the STC (line 7). If all nodes of rn are input nodes, take the test cases associated with rn.node and cN.node. Otherwise, take the test cases associated with cN.node only. RTC refers to association test cases of unit components. If rn.data is present in the RTC, the expected result generation fails (line 16). Otherwise, the RTC takes the data associated with cN.node (line 9). If cN.node is in CO.node, cN.data is the expected result to be added to CO.data (line 11). Then, if there is a child node of cN, add cN to nextN. Finally, recursively invoke the function SearchExpectedResults () until nextN is empty (line 19). The time complexity of this algorithm is as follows.
여기서, i 는 IORG 의 깊이(depth)를 의미하고, m 은 IORG 의 최대 깊이를 의미하고, RNG(i) 는 동일한 자녀 노드를 가지는 추적 노드들의 그룹들의 집합을 의미하고, RTC(rn) 은 rn 에 연관된 단위 컴포넌트들의 테스트 케이스들의 집합을 의미할 수 있다.Here, i denotes the depth of the IORG, m denotes the maximum depth of the IORG, RNG (i) denotes a set of groups of tracking nodes having the same child node, RTC (rn) denotes rn May refer to a set of test cases of unit components associated with the unit.
도 10은 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)의 Tred out 을 생성하는 과정을 나타낸다. 도 10을 참조하면, rn(cN) 은 동일한 자녀 노드 cN 을 가지는 추적 노드들의 그룹을 의미한다. 본 실시예에서는 표 1 내지 3에 제시된 STC, 도 4에 도시된 IORG 및 표 9에 제시된 Tred in 을 이용한다. CI.node = { x1,1, x1,2 , x2,1 , x2,2 } 이고, CO.node = { y1 ,1, y1 ,2 , y3 ,1 , y3 ,2 } 이다. Tred in 의 각 원소는 CI.data 에 할당된다. 표 9의 r1 이 CI.data 에 할당되면, CI.node 는 첫 번째 추적 노드들로 선택된다. 이어서, 추적 노드들은 도 10(a)에 도시된 바와 같이 자녀 노드 y1 ,1, y2 ,1, y2 ,2 및 y2 ,3 에 의해 그룹화된다. 자녀 노드 y1 , 2 의 부모 노드 x1,3 은 추적 노드가 아니기 때문에, 자녀 노드 y1 ,2 에 연관된 추적 노드들은 그룹화하지 않는다. 따라서, RNG 는 { rn(y1 ,1), rn(y2 ,1), rn(y2 ,2), rn(y2 ,3) } 이다. rn 이 rn(y1,1)일 때, rn.node 는 { x1,1, x1,2 } 이고, rn.data 는 { A1, B1 } 이다. rn(y1,1)의 모든 노드들이 입력 노드이고 rn(y1 ,1) 및 cN.node 가 ATC1 에 연관되기 때문에, rn(y1 ,1) 의 자녀 노드 y1 ,1 을 cN.node 에 할당하고, 이어서 표 1에 제시된 ATC1 을 RTC 에 할당한다. 그러면, cN.node 가 CO.node 내에 존재하여 cN.data 가 CO.data 에 추가될 수 있다. 이것은 외부 출력 y1 ,1에 대한 예상 결과 값이다. rn(y2,1), rn(y2 ,2) 및 rn(y2 ,3)에 대하여도 유사한 방식으로 처리된다. 따라서, CO.data = { D1 }, nextN.node = { y2 ,1, y2 ,2, y2 ,3 } 및 nextN.data = { C1, H1, J1 } 이 된다. FIG. 10 shows a process of generating a T red out of the component-based
이어서, nextN 을 인자로 함수 SearchExpectedResults()를 재귀적으로 호출한다. RNG 는 도 10(b)에 도시된 바와 같이 { rn(x1,3), rn(x3,1), rn(x3,2) } 이다. rn 이 rn(x1,3)일 때, rn.node 는 { y2 ,1 } 이고, rn.data 는 { C1 } 이다. rn(x1,3)의 모든 노드들이 출력 노드이고 cN.node 가 ATC1 에 연관되기 때문에, rn(x1,3) 의 자녀 노드 x1, 3 를 cN.node 에 할당하고, 이어서 표 1에 제시된 ATC1 을 RTC 에 할당한다. 앞에서 살펴본 바와 같이, rn 의 모든 노드들이 출력 노드인 경우, cN.node 에만 연관된 단위 컴포넌트의 테스트 케이스들을 RTC 에 할당한다. 이어서, rn.data 가 ATC1 의 ATC1 1 내에 존재하기 때문에 데이터 C1 을 cN.data 에 할당한다. cN.node 의 자녀 노드가 y2 , 1 이므로, cN 이 nextN 에 추가될 수 있다. 따라서, nextN.node = { x1,3, x3,1, x3,2 } 및 nextN.data = { C1, H1, J1 } 이 된다.Next, recursively call the function SearchExpectedResults () with the nextN as an argument. RNG is {rn (x 1,3 ), rn (x 3,1 ), rn (x 3,2 )} as shown in Fig. 10 (b). When rn is rn (x 1,3 ), rn.node is {y 2 , 1 } and rn.data is {C1}. Since all nodes of rn (x 1,3 ) are output nodes and cN.node is associated with ATC 1 , child nodes x 1, 3 of rn (x 1,3 ) are assigned to cN.node, allocates ATC 1 shown in the RTC. As we have seen, if all nodes of rn are output nodes, we assign the test cases of the unit component associated with cN.node to the RTC. Then, since rn.data is present within the ATC ATC 1 1 1 allocates the data C1 to cN.data. Since child node of cN.node is y 2 , 1 , cN can be added to nextN. Thus, nextN.node = {x 1,3, x 3,1 , x 3,2 } and nextN.data = {C1, H1, J1}.
마지막으로, nextN 을 인자로 함수 SearchExpectedResults()를 호출한다. RNG 는 도 10(c)에 도시된 바와 같이 { rn(y1 ,2), rn(y3 ,1), rn(y3 ,2) } 이다. 이 단계에서는, 자녀 노드 y1 , 2 의 부모 노드인 x1,1 및 x1,3 이 추적 노드이기 때문에, 자녀 노드 y1 ,2 에 연관된 추적 노드들을 그룹화한다. RNG 의 각 원소의 cN.node 가 CO.node 내에 있기 때문에, 모든 cN.data 는 외부 출력 y1 ,2, y3 ,1 및 y3 , 2 의 예상 결과 값이다. 따라서, CO.data = { D1, E1, K1, L1 } 및 nextN.node = Φ 이 된다.Finally, we call the function SearchExpectedResults () with nextN as the argument. RNG is the {rn (y 1, 2) , rn (
위 과정의 결과로서, 함수 SearchExpectedResults()는 CI.data 가 r1 일 때 CO.data = { D1, E1, K1, L1 } 을 리턴한다.As a result of the above procedure, a function SearchExpectedResults () returns the CO.data = {D1, E1, K1 , L1} CI.data when the r 1 day.
표 10을 참조하면, 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)에 도 8 및 도 9의 알고리즘을 적용한 결과가 제시된다. 표 10에서, 각 열은 IORG 의 깊이(depth), 연관 노드 그룹(RNG), 각 노드 그룹에 연관된 테스트 케이스들(RTC), 노드 그룹에 의존하여 변하는 외부 출력 노드(Rex) 및 Tred out 의 예상 결과 값 생성에서의 실패 횟수(number of failures)를 나타낸다. 외부 출력 y3 ,1 에 대한 하나의 예상 결과 값이 생성되지 않을 뿐이다. CI.data 가 표 9의 r4 일 때, 함수는 CO.data = { D4, E4, NULL, L2 } 를 리턴한다. 구체적으로, rn 이 깊이 3의 rn(x3,1)일 때, rn.node 는 { y2 ,2 } 이고, rn.data 는 { H4 } 이다. 자녀 노드 x3,1 을 cN.node 에 할당하고, 이어서 표 3에 제시된 ATC3 을 RTC 에 할당한다. ATC3 에 rn.data 가 없으므로, cN.node 에 연관된 모든 노드를 지운다. 즉, CI.data 가 표 9의 r4 일 때 y3 ,1 에 대한 예상 결과 값의 생성이 실패한다.Referring to Table 10, results of applying the algorithms of FIGS. 8 and 9 to the component-based
표 11을 참조하면, 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)의 Tred in 에 대한 Tred out 이 제시된다. NULL 은 예상 결과 값이 자동으로 생성되지 않은 경우를 의미한다. 상기 시간 복잡도 표현에 따라, 시간 복잡도는 다음과 같이 계산될 수 있다.
Referring to Table 11, for the red T in of the component-based
O(.) = 4 * ((8+4+4+4)+(8+6+6)+(8+6+6)) =240
O (.) = 4 * ((8 + 4 + 4 + 4) + (8 + 6 + 6) + (8 + 6 + 6)
여기서, |Tred in| = 4, m = 4, |RNG(1)| = 4, |RNG(2)| = 3, |RNG(3)| = 3, |ATC1| = 8, |ATC2| = 4, |ATC3| = 6 이다.= RNG (3) | = 3, | ATC 1 | = 8, | ATC 1 | = 4, | RNG (2) | = 3, | T red in | = 4, m = 2 | = 4, | ATC 3 | = 6.
표 11에서 r4 의 외부 출력 y3 ,1 에 대한 예상 결과 값 K9 은 수동으로 결정된 값일 수 있다.In Table 11. Estimated results for the external output y 3, r 1 of 4 K9 can be determined by a value manually.
도 11은 컴포넌트 기반 소프트웨어 시스템(100)의 복수의 단위 컴포넌트들 내부의 입출력 연관관계가 알려지지 않은 경우에 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)의 Tred out 을 생성하는 과정을 나타낸다. 도 11을 참조하면, 컴포넌트 기반 소프트웨어 시스템(100)의 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보만을 이용하여 생성된 입출력 연관관계 방향 그래프가 이용될 수 있다. 복수의 단위 컴포넌트들 내부의 입출력 연관관계 정보를 이용하지 않기 때문에 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계가 생성되며, 이를 통해 도 10을 참조하여 설명된 과정과 유사한 방식으로 Tred out 을 생성할 수 있다.11 illustrates a process of generating a T red out of the component-based
다시 도 3을 참조하면 단계 350에서, 출력부(230)는 축소된 예상 결과 값에 기초하여 전체 예상 결과 값을 생성하여 출력할 수 있다. Tred out 이 생성되면, Tred out 으로부터 Tout 이 확장될 수 있다. XD(yk) 는 Tin 내의 입력 테스트 데이터 X(yk) 의 집합을 의미할 수 있다. 먼저 Tin 내의 각 원소는 X(yk)에 따라 분리된다. 예를 들어, 표 4의 원소 t1 의 경우, 원소는 XD(y1 ,1) = { A1, B1 }, XD(y1 ,2) = { B1, F1 }, XD(y3 ,1) = { F1, G1 }, XD(y3 ,2) = { G1 } 와 같이 분리될 수 있다. 이어서, 각 XD(yk) 에 대하여 예상 결과 값이 Tred in 에 대한 Tred out 에서 검색된다. 표 12는 도 1에 도시된 컴포넌트 기반 소프트웨어 시스템(100)의 Tin 에 대한 Tout 을 제시한다.Referring back to FIG. 3, in
이하에서는 도 7을 참조하여, 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템(100)의 테스트를 위한 예상 결과 값 자동 생성 장치(200)의 동작에 대하여 구체적으로 살펴본다. 도 7에 도시된 복합 컴포넌트 테스트를 위한 예상 결과 값 자동 생성 장치의 동작 과정에는 도 3을 참조하여 설명된 내용이 그대로 적용될 수 있으므로, 도 3에 도시된 동작과의 차이점을 중심으로 기술한다.Hereinafter, the operation of the expected result value
단계 740에서, 프로세서(220)는 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부를 판단할 수 있다. 만약, 컴포넌트 기반 소프트웨어 시스템의 어느 하나의 출력이 입력 파라미터들 전부에 의존하여 달라진다면(즉, 일부 X(yk)가 CCin 과 동일하다면), Tred in = Tin 이기 때문에 Tred in 을 새로 생성할 필요가 없다. 그렇지 않은 경우, Tred in 는 Tin 보다 더 작은 집합일 수 있다. Tred in 의 가능한 크기는 다음과 같이 표현될 수 있다.
At
Max(|R(y1)|, … , |R(yq)|) ≤ |Tred in| ≤ |Tin|
Max (| R (y 1) |, ..., | R (y q) |) ≤ | T red in | ≤ | T in |
단계 750에서, 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라진다고 판단된 경우, 프로세서(220)는 Tin 과 동일한 Tred in 을 생성할 수 있다.In
단계 760에서, 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는다고 판단된 경우, 프로세서(220)는 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성할 수 있다. 연관 입력 파라미터 집합은 도 3의 단계 340에서와 유사한 방식으로 생성될 수 있다. In
단계 770에서, 프로세서(220)는 생성된 연관 입력 파라미터 집합들에 기초하여 Tin 보다 더 작은 Tred in 을 생성할 수 있다. Tred in 은 도 3의 단계 340에서와 유사한 방식으로 생성될 수 있다.At
도 12는 일 실시예에 따른 컴포넌트 기반 소프트웨어 시스템을 나타낸다. 도 12를 참조하면, 컴포넌트 기반 소프트웨어 시스템(1200)에는 컴포넌트 기반 소프트웨어 시스템(100)에 비하여 변경된 입출력 연관관계가 도시되어 있다. 이러한 경우, 도 12에 도시된 바와 같이, 변경되는 외부 출력에 연관된 입출력 연관관계만을 검색하여 예상 결과 값을 생성할 수 있다. 컴포넌트 기반 소프트웨어 시스템(1200)에는 컴포넌트 기반 소프트웨어 시스템(100)에 비하여 C2 의 출력 파라미터 y2,4 및 C3 의 입력 파라미터 x3,3 가 부가되고, 외부 출력 파라미터 y3 , 2 의 예상 결과 값이 변경될 수 있다. 따라서, 출력 파라미터 y3 ,2 에 연관된 노드들(즉, x2,2, y2,3, y2 ,4, x3,2 및 x3,3)만이 그룹화되고, Tred out 내의 y3 , 2 의 예상 결과 값을 생성하기 위하여 그 그룹들에 연관된 테스트 케이스들이 다시 검색된다. 마지막으로, 변경된 Tred out 이 다시 Tout 으로 확장될 수 있다.
12 illustrates a component-based software system in accordance with one embodiment. Referring to FIG. 12, the component-based
이하에서는, 본 발명의 실시예들에 따른 효과를 검증하기 위한 실험 데이터가 제시된다. 예상 결과 값의 수동 생성 비용을 Cer 이라 할 때, Cer 은 다음과 같이 표현될 수 있다.
Hereinafter, experimental data for verifying effects according to embodiments of the present invention is presented. Assuming that the cost of manually generating the expected value is C er , C er Can be expressed as follows.
Cer = Em / Et
C er = E m / E t
여기서, Em 은 수동으로 생성되는 예상 결과 값의 개수를 의미할 수 있고, Et 는 생성되는 모든 예상 결과 값의 총 개수를 의미할 수 있다. 수동으로 결정해야 하는 예상 결과 값이 늘어날수록 비용 Cer 은 증가한다. 본 발명에 따른 실시예들의 효과를 검증하기 위하여, 각각의 실시예에서 측정된 Cer 을 "P. J. Schroeder, P. Faherty, B. Korel, Generating expected results for automated black-box testing, in: Automated Software Engineering, 2002.Proceedings. ASE 2002. 17th IEEE International Conference on, IEEE, 139-148, 2002(이하, 'Schroeder et al.'이라 한다)"에 따른 Cer 과 비교하여 기재한다.
Where E m may refer to the number of expected result values generated manually, and E t may refer to the total number of all expected result values generated. The cost C er increases as the expected outcome value, which must be determined manually. In order to verify the effect of the embodiments according to the present invention, the measured C er in each example is referred to as "PJ Schroeder, P. Faherty, B. Korel, Generating expected results for automated black-box testing, in: Automated Software Engineering , 2002.Proceedings. ASE 2002. 17th IEEE International Conference on, IEEE, 139-148, 2002 ( hereinafter, 'Schroeder et al.' referred to) are shown in comparison to C according to the er ".
I. I.
실시예Example
1 One
본 실시예에 따라, CCout 의 외부 출력들 각각이 CCin 의 외부 입력들 중 일부에만 의존하여 달라지는 경우(즉, CCin 의 외부 입력들 전부에 의존하여 달라지지 않는 경우)의 본 발명의 효과가 검증될 수 있다. 본 실시예에서는 Tred in 이 Tin 보다 작을 수 있다.According to this embodiment, the effect of the invention of the external output of the CC out each case differ depending only on a part of the external input of the CC in (that is, does not vary in dependence on all of the external inputs of CC in) Can be verified. In the present embodiment, T red in may be smaller than T in .
본 실시예에서는 도 14에 도시된 바와 같은 컴포넌트 기반 소프트웨어 시스템(1400)을 이용한다. 컴포넌트 기반 소프트웨어 시스템(1400)은 장애물을 피하고, 로봇을 움직이고, 안내 메시지를 생성한다. 컴포넌트 기반 소프트웨어 시스템(1400)은 거리 센서 컴포넌트(Cdsc), 이동 컴포넌트(Cmc), 메시지 생성 컴포넌트(Csgc) 및 제어 컴포넌트(Ccc)를 포함한다.In this embodiment, a component-based
도 15를 참조하면, 컴포넌트 기반 소프트웨어 시스템(1200)의 입출력 연관관계 방향 그래프(IORG)가 도시된다. 컴포넌트 기반 소프트웨어 시스템(1400)의 입출력 연관관계 방향 그래프는 도 4에 나타난 알고리즘에 의해 생성된다. 도 15의 IORG에 따르면, 컴포넌트 기반 소프트웨어 시스템(1200)의 외부 출력 각각은 아래와 같이 외부 입력들 중 일부에만 의존하여 달라진다.
Referring to FIG. 15, there is shown an I / O association direction graph (IORG) of a component based
X(sgc_out1) = { dsc_in1, dsc_in2, dsc_in3, dsc_in7, sgc_in1 }X (sgc_out1) = {dsc_in1, dsc_in2, dsc_in3, dsc_in7, sgc_in1}
X(mc_out1) = { dsc_in4, dsc_in5, dsc_in6, dsc_in8 }
X (mc_out1) = {dsc_in4, dsc_in5, dsc_in6, dsc_in8}
실험의 수행을 위하여, 단위 컴포넌트들 각각의 테스트 케이스(즉, 입력 테스트 데이터 및 예상 결과 값)가 주어진다. 표 13 내지 16은 각각 거리 센서 컴포넌트(Cdsc), 제어 컴포넌트(Ccc), 메시지 생성 컴포넌트(Csgc) 및 이동 컴포넌트(Cmc)의 입력 파라미터 명세 및 테스트 케이스이다. For the performance of the experiment, the test cases of each of the unit components (i. E. Input test data and expected result values) are given. Tables 13 through 16 are input parameter specifications and test cases of the distance sensor component C dsc , the control component C cc , the message generation component C sgc , and the mobile component C mc , respectively.
각 단위 컴포넌트에 대하여, 다양한 스트렝스(strength)의 입력 테스트 데이터를 조합한다. 각 단위 컴포넌트의 입력 파라미터들의 개수로 최소 및 최대 스트렝스를 결정한다. 그리고, 각 단위 컴포넌트의 입력 테스트 데이터의 조합의 예상 결과 값을 생성한다. 표 17에는 단위 컴포넌트들 전부의 테스트 케이스들의 집합이 제시된다. t 는 ATC가 생성될 때의 스트렝스를 의미하고, 기호 "-"는 입력 파라미터들의 개수가 1 이기 때문에 조합하지 않음을 의미한다. 예를 들어, ATCmc 가 생성될 때, Cmc 가 하나의 입력 파라미터(mc_in1)만을 가지기 때문에 입력 테스트 데이터를 조합하지 않는다. 예를 들어, STC7 은 t = 8 로 생성된 ATCdsc, t = 3 으로 생성된 ATCcc, t = 3 으로 생성된 ATCsgc 및 ATCmc 로 구성된다.For each unit component, input test data of various strengths are combined. The minimum and maximum strengths are determined by the number of input parameters of each unit component. Then, an expected result value of the combination of the input test data of each unit component is generated. Table 17 shows the set of test cases for all of the unit components. t means the strength at the time of generation of the ATC, and the symbol "- " means that the number of input parameters is unity because the number of input parameters is one. For example, when ATC mc is generated, input test data is not combined because C mc has only one input parameter (mc_in1). For example, STC 7 consists of ATC dsc generated at t = 8, ATC cc generated at t = 3, ATC sgc generated at t = 3, and ATC mc .
이어서, 컴포넌트 기반 소프트웨어 시스템(1200)의 Tin 을 생성한다. 표 18 에는 컴포넌트 기반 소프트웨어 시스템(1200)의 외부 입력 파라미터들의 명세 및 그 입력 테스트 데이터가 제시된다. Next, a T in of the component-based
Tin 을 생성하기 위하여, 입력 테스트 데이터를 다음과 같이 조합한다.
To generate T in , the input test data is combined as follows.
Tin = D(dsc_in1) × D(dsc_in2) × D(dsc_in3) × D(dsc_in4) × D(dsc_in5) × D(dsc_in6) × D(dsc_in7) × D(dsc_in8) × D(sgc_in1), T in = D (dsc_in1) × D (dsc_in2) × D (dsc_in3) × D (dsc_in4) × D (dsc_in5) × D (dsc_in6) × D (dsc_in7) × D (dsc_in8) × D (sgc_in1),
|Tin| = 4 * 4 * 4 * 3 * 3 * 3 * 2 * 2 * 2 = 13824.
| T in | = 4 * 4 * 4 * 3 * 3 * 3 * 2 * 2 * 2 = 13824.
다음으로, 위 Tin 을 커버할 수 있는 Tred in 을 생성한다. 각 외부 출력(sgc_out, mc_out)에 대하여, 각 외부 출력에 연관된 입력 테스트 데이터의 조합의 집합을 생성한다.
Next, T red in which the upper T in can be covered . For each external output (sgc_out, mc_out), a set of combinations of input test data associated with each external output is generated.
R(sgc_out1) = D(dsc_in1) × D(dsc_in2) × D(dsc_in3) × D(dsc_in7) × D(sgc_in1),R (sgc_out1) = D (dsc_in1) D (dsc_in2) D (dsc_in3) D (dsc_in7) D (sgc_in1)
R(mc_out1) = D(dsc_in4) × D(dsc_in5) × D(dsc_in6) × D(dsc_in8),R (mc_out1) = D (dsc_in4) D (dsc_in5) D (dsc_in6) D (dsc_in8)
|R(sgc_out1)| = 4 * 4 * 4 * 2 = 256,| R (sgc_out1) | = 4 * 4 * 4 * 2 = 256,
|R(mc_out1)| = 3 * 3 * 3 * 2 = 54.
| R (mc_out1) | = 3 * 3 * 3 * 2 = 54.
따라서, Tred in 은 다음과 같이 생성된다.
Therefore, T red in Is generated as follows.
Tred in = R(sc_out1) ∪ R(mc_out1),T red in = R (sc_out1) ∪ R (mc_out1),
|Tred in| = max(R(sc_out1), R(mc_out1)) = 256.
| T red in | = max (R (sc_out1), R (mc_out1)) = 256.
Tout 및 Tred out 의 예상 결과 값의 총 개수는 다음과 같이 계산 될 수 있다.
The total number of expected outcome values of T out and T red out can be calculated as follows.
|Tout|= |Tin|*|CCout|= 13824 * 2 = 27648,| T out | = | T in | * | CC out | = 13824 * 2 = 27648,
|Tred out| = |Tred in|*|CCout|= 256 * 2 = 512.
| T red out | = | T red in | * | CC out | = 256 * 2 = 512.
이어서, 도 7 및 8에 나타난 알고리즘에 따라 Tred out 을 생성하고, Schroeder et al.에 개시된 것과 유사한 방식으로 Tred out 을 Tout 으로 확장한다.Then, according to the algorithm shown in Figs. 7 and 8 generate a T red out, and expand in a manner similar to that described in Schroeder et al. T red out to T out.
표 19는 Et = Tout 일 때의 예상 결과 값 수동 생성의 비용 Cer 을 나타낸다. Schroeder et al.의 비용은 단위 컴포넌트들 전부의 테스트 케이스들의 집합과 무관하게 0.018 이다. 즉, Tred out 의 예상 결과 값 512 개를 모두 수동으로 결정한 후, 이를 Tout 으로 자동으로 확장한다.Table 19 shows the cost C er of the manual generation of the expected result value at E t = T out . The cost of Schroeder et al. Is 0.018, regardless of the set of test cases for all of the component components. In other words, it will automatically expand to T out after all of the 512 expected results out of T red out manually decide to.
본 실시예에 따른 비용은 단위 컴포넌트들 전부의 테스트 케이스들의 집합에 따라 0.001 내지 0.015 의 범위 내이다. 테스트 케이스들의 집합을 이용하여 Tred out 의 예상 결과 값 512 개 중 95 내지 480 개를 자동으로 생성하기 때문에, 나머지 32 내지 417 개의 예상 결과 값만을 수동으로 결정한다.
The cost according to this embodiment is in the range of 0.001 to 0.015 depending on the set of test cases for all of the unit components. Using a set of test cases in the 95 to 480 of the 512 estimated result of the T red out because the auto-generated, and the remaining 32 to 417 expected results only manually determined.
IIII
. .
실시예Example
2 2
본 실시예에 따라, CCout 의 외부 출력이 CCin 의 외부 입력들 전부에 의존하여 달라지는 경우의 본 발명의 효과가 검증될 수 있다. 본 실시예에서는 Tred in 이 Tin 과 동일할 수 있다.According to the present embodiment, the effect of the present invention in the case where the external output of CC out varies depending on all the external inputs of CC in can be verified. In this embodiment, T red in may be equal to T in .
본 실시예에서는 도 16에 도시된 바와 같은 컴포넌트 기반 소프트웨어 시스템(1600)을 이용한다. 컴포넌트 기반 소프트웨어 시스템(1600)은 출발지로부터 목적지로 네비게이션을 수행하고, 장애물을 피하고, 로봇을 움직이고, 안내 메시지를 생성한다. 컴포넌트 기반 소프트웨어 시스템(1600)은 글로벌 맵 컴포넌트(Cgmc), 경로 계획 컴포넌트(Cppc), 장애물 회피 컴포넌트(Coac), 네비게이션 컴포넌트(Cnc), 로컬라이즈 컴포넌트(Clc), 범퍼 센서 컴포넌트(Cbas), 사용자 검출 컴포넌트(Cudc), 레이저 스캐너 컴포넌트(Clsc), 이동 컴포넌트(Cmc) 및 메시지 생성 컴포넌트(Csgc)를 포함한다.In this embodiment, a component based
도 17을 참조하면, 컴포넌트 기반 소프트웨어 시스템(1600)의 입출력 연관관계 방향 그래프(IORG)가 도시된다. 컴포넌트 기반 소프트웨어 시스템(1600)의 입출력 연관관계 방향 그래프는 도 4에 나타난 알고리즘에 의해 생성된다. 도 17의 IORG에 따르면, 컴포넌트 기반 소프트웨어 시스템(1600)의 외부 출력 각각은 아래와 같이 외부 입력들 전부에 의존하여 달라진다.
Referring to FIG. 17, an input / output affinity direction graph (IORG) of a component based
X(sgc_out1) = CCin,X (sgc_out1) = CC in ,
X(mc_out1) = { gmc_in1, lsc_in1, nc_in1, nc_in2, bsc_in1, udc_in1, udc_in2, udc_in3, udc_in4 }.
X (mc_out1) = {gmc_in1, lsc_in1, nc_in1, nc_in2, bsc_in1, udc_in1, udc_in2, udc_in3, udc_in4}.
실험의 수행을 위하여, 단위 컴포넌트들 각각의 테스트 케이스(즉, 입력 테스트 데이터 및 예상 결과 값)가 주어진다. 표 20 내지 29는 각각 글로벌 맵 컴포넌트(Cgmc), 레이저 스캐너 컴포넌트(Clsc), 범퍼 센서 컴포넌트(Cbas), 사용자 검출 컴포넌트(Cudc), 로컬라이즈 컴포넌트(Clc), 네비게이션 컴포넌트(Cnc), 장애물 회피 컴포넌트(Coac), 경로 계획 컴포넌트(Cppc), 메시지 생성 컴포넌트(Csgc) 및 이동 컴포넌트(Cmc)의 입력 파라미터 명세 및 테스트 케이스이다. For the performance of the experiment, the test cases of each of the unit components (i. E. Input test data and expected result values) are given. Tables 20 to 29 illustrate the global map component C gmc , the laser scanner component C lsc , the bumper sensor component C bass , the user detection component C dc , the localization component C lc , the navigation component C nc ), an obstacle avoidance component (C oac ), a path planning component (C ppc ), a message generating component (C sgc ) and a moving component (C mc ).
앞서 기재된 실시예와 마찬가지로, 각 단위 컴포넌트에 대하여 입력 테스트 데이터를 조합한다. 그리고, 각 단위 컴포넌트의 입력 테스트 데이터의 조합의 예상 결과 값을 생성한다. 표 30에는 단위 컴포넌트들 전부의 테스트 케이스들의 집합이 제시된다. As in the previously described embodiment, the input test data is combined for each unit component. Then, an expected result value of the combination of the input test data of each unit component is generated. Table 30 shows the set of test cases for all of the unit components.
이어서, 컴포넌트 기반 소프트웨어 시스템(1400)의 Tin 을 생성한다. 표 31 에는 컴포넌트 기반 소프트웨어 시스템(1400)의 외부 입력 파라미터들의 명세 및 그 입력 테스트 데이터가 제시된다. Next, a T in of the component-based
Tin 을 생성하기 위하여, 입력 테스트 데이터를 다음과 같이 조합한다.
To generate T in , the input test data is combined as follows.
Tin = D(gmc_in1) × D(lsc_in1) × D(nc_in1) × D(nc_in2) × D(bsc_in1) × D(udc_in1) × D(udc_in2) × D(udc_in3) × D(udc_in4) × D(sgc_in1), T in = D (gmc_in1) × D (lsc_in1) × D (nc_in1) × D (nc_in2) × D (bsc_in1) × D (udc_in1) × D (udc_in2) × D (udc_in3) × D (udc_in4) × D ( sgc_in1),
|Tin| = 1 * 6 * 2 * 2 * 2 * 4 * 4 * 4 * 2 * 2 = 12288.
| T in | = 1 * 6 * 2 * 2 * 2 * 4 * 4 * 4 * 2 * 2 = 12288.
다음으로, 위 Tin 을 커버할 수 있는 Tred in 을 생성한다. 각 외부 출력(sgc_out, mc_out)에 대하여, 각 외부 출력에 연관된 입력 테스트 데이터의 조합의 집합을 생성한다.
Next, T red in which the upper T in can be covered . For each external output (sgc_out, mc_out), a set of combinations of input test data associated with each external output is generated.
R(sgc_out1) = D(gmc_in1) × D(lsc_in1) × D(nc_in1) × D(nc_in2) × D(bsc_in1) × D(udc_in1) × D(udc_in2) × D(udc_in3) × D(udc_in4) × D(sgc_in1),D (udc_in1) D (udc_in2) D (udc_in3) D (udc_in4) D (gcc_in1) D (lsc_in1) D (nc_in1) D (nc_in2) D (bsc_in1) D (sgc_in1),
R(mc_out1) = D(gmc_in1) × D(lsc_in1) × D(nc_in1) × D(nc_in2) × D(bsc_in1) × D(udc_in1) × D(udc_in2) × D(udc_in3) × D(udc_in4),(Mc_out1) = D (gmc_in1) 占 D (lsc_in1) 占 D (nc_in1) 占 D (nc_in2) 占 D (bsc_in1) 占 D (udc_in1) 占 D (udc_in2) 占 D (udc_in3) 占 D
|R(sgc_out1)| = |Tin| = 12288,| R (sgc_out1) | = | T in | = 12288,
|R(mc_out1)| = 1 * 6 * 2 * 2 * 2 * 4 * 4 * 4 * 2 = 6144.
| R (mc_out1) | = 1 * 6 * 2 * 2 * 2 * 4 * 4 * 4 * 2 = 6144.
여기서, X(sgc_out1) = CCin 이기 때문에 R(sgc_out1) = Tin 이다. 따라서, Tred in 을 새로 생성하지 않으며, Tred in = Tin 이다. Tout 및 Tred out 의 예상 결과 값의 총 개수는 다음과 같이 계산 될 수 있다.
Here, since the X (sgc_out1) = CC in R (sgc_out1) = T in. Therefore, T red in is not newly generated, and T red in = T in . The total number of expected outcome values of T out and T red out can be calculated as follows.
|Tout|= |Tred out| = |Tin|*|CCout|= 12288 * 2 = 24576.
| T out | = | T red out | = | T in | * | CC out | = 12288 * 2 = 24576.
표 32는 Et = Tout 일 때의 예상 결과 값 수동 생성의 비용 Cer 을 나타낸다. Schroeder et al.의 비용은 단위 컴포넌트들 전부의 테스트 케이스들의 집합과 무관하게 1.0 이다. 즉, Tout 의 예상 결과 값 24,576 개를 모두 수동으로 결정한다.Table 32 shows the cost C er of the manual generation of the expected result value when E t = T out . The cost of Schroeder et al. Is 1.0 regardless of the set of test cases for all of the component components. That is, all the expected result values of T out are determined manually.
본 실시예에 따른 비용은 단위 컴포넌트들 전부의 테스트 케이스들의 집합에 따라 0.590 내지 0.998 의 범위 내이다. 테스트 케이스들의 집합을 이용하여 Tred out 의 예상 결과 값 24,576 개 중 35 내지 10,052 개를 자동으로 생성하기 때문에, 나머지 14,524 내지 24,541 개의 예상 결과 값만을 수동으로 결정한다.
The cost according to this embodiment is in the range of 0.590 to 0.998 depending on the set of test cases of all the unit components. Using a set of test cases for 35 to 10 052 pieces of the predicted result value T 24,576 pieces of red out because the auto-generated, the remaining 14 524 to 24 541 with only manual determination of expected results.
이상과 같은 실험 데이터에서 나타나듯, 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 및 테스트 케이스에 따라 정도의 차이는 있으나, 본 발명의 실시예에 따르는 경우 Schroeder et al.에 비하여 더 많은 예상 결과 값을 자동으로 생성할 수 있다. 이러한 차이는, Schroeder et al.에서는 Tred out 의 예상 결과 값을 항상 수동으로 생성하는 반면에 본 발명에서는 테스트 케이스 내에서의 검색을 통해 자동으로 생성할 수 있다는 점에 기인한다.As shown in the above experimental data, although there is a difference according to the input / output relationship and the test case of the component-based software system, according to the embodiment of the present invention, more expected results are automatically Can be generated. This difference, Schroeder et al. In due to its ability to automatically create the present invention, while generating the expected result of the T red out by always manually by searching in the test case.
이상과 같이 본 발명의 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. For example, it should be understood that the techniques described may be performed in a different order than the described methods, or that components of the described systems, structures, devices, circuits, and the like may be combined or combined in other ways than the described methods, Lt; / RTI > can be achieved, even if it is replaced or replaced by < RTI ID = 0.0 >
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (23)
상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 입력부;
상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계를 생성하고, 상기 가상 입출력 연관관계에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하고, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하고, 상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 프로세서; 및
상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 출력부;
를 포함하고,
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성되는 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.An apparatus for automatically generating an expected result value for testing a component-based software system,
An input unit for receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component-based software system;
Output association relationship corresponding to an input / output association relationship in the plurality of unit components, generates an input / output association direction graph of the component-based software system based on the virtual input / output association, Based software system based on the test data of each of the first test data sets and the second test data set, which is a subset of the first test data set, using the input / output association direction graph, Lt; / RTI > And
An output unit for generating and outputting a total expected result value based on the second test data set using the input / output relationship direction graph;
Lt; / RTI >
Wherein the second set of test data is generated based on a determination as to whether at least one output parameter of the component based software system depends on all of the input parameters of the component based software system Automated generation of expected results.
상기 입출력 연관관계 방향 그래프는 상기 가상 입출력 연관관계 정보 및 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 생성되는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.The method according to claim 1,
Wherein the input / output association relationship direction graph is generated based on the virtual input / output association information and input / output association information between the plurality of unit components.
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는 경우,
상기 프로세서는 상기 제2 테스트 데이터 집합으로 하여금 상기 제1 테스트 데이터 집합 전부를 포함하도록 하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.The method according to claim 1,
If, as a result of the determination, at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system,
Wherein the processor is configured to cause the second set of test data to include all of the first set of test data.
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는 경우,
상기 프로세서는, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성하고, 상기 연관 입력 파라미터 집합들에 기초하여 상기 제2 테스트 데이터 집합을 생성하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.The method according to claim 1,
If it is determined that each of the output parameters of the component-based software system does not depend on all of the input parameters of the component-based software system,
Wherein the processor is configured to generate associative input parameter sets corresponding to each of the output parameters of the component based software system and to generate the second set of test data based on the associative input parameter sets.
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 출력부는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하고, 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.The method according to claim 1,
Wherein the output generates a first expected result value that represents an output for the second set of test data and generates the overall expected result value from the first expected result value,
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 출력부는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.The method according to claim 6,
Wherein the output unit generates the first expected result value based on the test data and the expected result value of each of the plurality of unit components,
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 입력부;
상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하고, 상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계를 생성하고, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단 및 상기 가상 입출력 연관관계에 기초하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 프로세서; 및
상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 출력부;
를 포함하는 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.An apparatus for automatically generating an expected result value for testing a component-based software system,
An input unit for receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component-based software system;
Generating a first test data set for testing the component-based software system based on test data of each of the plurality of unit components, and generating a virtual input / output association relationship corresponding to the input / output association within the plurality of unit components Based software system; determining whether at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system; and determining, based on the virtual input / output association, A processor for generating a second set of test data; And
An output unit for generating and outputting a total expected result value based on the second set of test data;
And an expected result value automatic generation device for testing a component based software system.
상기 프로세서는 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보 및 상기 가상 입출력 연관관계에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하고, 상기 제2 테스트 데이터 집합 및 상기 전체 예상 결과 값은 각각 상기 입출력 연관관계 방향 그래프를 이용하여 생성되는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.11. The method of claim 10,
Wherein the processor generates an input / output association relationship graph of the component-based software system based on input / output association information between the plurality of unit components and the virtual input / output association, Are generated using the input / output association direction graph, respectively.
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 출력부는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하고, 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.11. The method of claim 10,
Wherein the output generates a first expected result value that represents an output for the second set of test data and generates the overall expected result value from the first expected result value,
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 출력부는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 장치.14. The method of claim 13,
Wherein the output unit generates the first expected result value based on the test data and the expected result value of each of the plurality of unit components,
An apparatus for automatically generating an expected result value for testing a component based software system.
상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 단계;
상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계를 생성하고, 상기 가상 입출력 연관관계에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하는 단계;
상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하는 단계;
상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 단계; 및
상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 단계
를 포함하고,
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성되는, 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.A method for automatically generating an expected result value for testing a component based software system,
Receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component-based software system;
Generating a virtual input / output association relationship corresponding to an input / output association relationship in the plurality of unit components, and generating an input / output association direction graph of the component based software system based on the virtual input / output association;
Generating a first set of test data for testing of the component based software system based on test data of each of the plurality of unit components;
Generating a second test data set that is a subset of the first test data set using the input / output association direction graph; And
Generating and outputting an overall expected result value based on the second test data set using the input / output relationship direction graph
Lt; / RTI >
Wherein the second set of test data is generated based on a determination as to whether at least one output parameter of the component based software system depends on all of the input parameters of the component based software system, A method for automatically generating an expected result value.
상기 입출력 연관관계 방향 그래프는 상기 가상 입출력 연관관계 정보 및 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 생성되는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.16. The method of claim 15,
Wherein the input / output association relationship direction graph is generated based on the virtual input / output association information and input / output association information between the plurality of unit components.
Automated generation of expected result values for testing of component - based software systems.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는 경우,
상기 제2 테스트 데이터 집합을 생성하는 단계는, 상기 제2 테스트 데이터 집합으로 하여금 상기 제1 테스트 데이터 집합 전부를 포함하도록 하는 단계를 포함하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.16. The method of claim 15,
If, as a result of the determination, at least one output parameter of the component-based software system depends on all of the input parameters of the component-based software system,
Wherein generating the second set of test data comprises allowing the second set of test data to include all of the first set of test data.
Automated generation of expected result values for testing of component - based software systems.
상기 판단 결과, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각이 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지지 않는 경우,
상기 제2 테스트 데이터 집합을 생성하는 단계는, 상기 컴포넌트 기반 소프트웨어 시스템의 출력 파라미터들 각각에 대응하는 연관 입력 파라미터 집합들을 생성하는 단계 및 상기 연관 입력 파라미터 집합들에 기초하여 상기 제2 테스트 데이터 집합을 생성하는 단계를 포함하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.16. The method of claim 15,
If it is determined that each of the output parameters of the component-based software system does not depend on all of the input parameters of the component-based software system,
Wherein generating the second set of test data comprises generating associative input parameter sets corresponding to each of the output parameters of the component based software system and generating the second set of test data based on the associative input parameter sets. ≪ / RTI >
Automated generation of expected result values for testing of component - based software systems.
전체 예상 결과 값을 생성하여 출력하는 단계는, 상기 제2 테스트 데이터 집합에 대한 출력을 나타내는 제1 예상 결과 값을 생성하는 단계 및 상기 제1 예상 결과 값으로부터 상기 전체 예상 결과 값을 생성하는 단계를 포함하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.16. The method of claim 15,
Generating and outputting an overall expected result value comprises generating a first expected result value representing an output for the second set of test data and generating the overall expected result value from the first expected result value, Including,
Automated generation of expected result values for testing of component - based software systems.
상기 제1 예상 결과 값을 생성하는 단계는, 상기 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값에 기초하여 상기 제1 예상 결과 값을 생성하는 단계를 포함하는 것인,
컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.21. The method of claim 20,
Wherein generating the first expected result value comprises generating the first expected result value based on test data and an expected result value of each of the plurality of unit components.
Automated generation of expected result values for testing of component - based software systems.
상기 컴포넌트 기반 소프트웨어 시스템을 구성하는 상호 연결된 복수의 단위 컴포넌트들 각각의 테스트 데이터 및 예상 결과 값을 입력받는 단계;
상기 복수의 단위 컴포넌트들 내부의 입출력 연관관계에 대응하는 가상 입출력 연관관계를 생성하고, 상기 가상 입출력 연관관계 및 상기 복수의 단위 컴포넌트들 간의 입출력 연관관계 정보에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 입출력 연관관계 방향 그래프를 생성하는 단계;
상기 복수의 단위 컴포넌트들 각각의 테스트 데이터에 기초하여 상기 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 제1 테스트 데이터 집합을 생성하는 단계;
상기 입출력 연관관계 방향 그래프를 이용하여 상기 제1 테스트 데이터 집합의 부분집합인 제2 테스트 데이터 집합을 생성하는 단계; 및
상기 입출력 연관관계 방향 그래프를 이용하여 상기 제2 테스트 데이터 집합에 기초하여 전체 예상 결과 값을 생성하여 출력하는 단계
를 포함하고,
상기 제2 테스트 데이터 집합은 상기 컴포넌트 기반 소프트웨어 시스템의 적어도 하나의 출력 파라미터가 상기 컴포넌트 기반 소프트웨어 시스템의 입력 파라미터들 전부에 의존하여 달라지는지 여부의 판단에 기초하여 생성되는, 컴포넌트 기반 소프트웨어 시스템의 테스트를 위한 예상 결과 값 자동 생성 방법.
A method for automatically generating an expected result value for testing a component based software system,
Receiving test data and expected result values of each of a plurality of interconnected unit components constituting the component-based software system;
Output associating relationship corresponding to an input / output associating relationship in the plurality of unit components, and generating an input / output associating relationship between the input / output associating relationship of the component-based software system and the input / Generating a relationship direction graph;
Generating a first set of test data for testing of the component based software system based on test data of each of the plurality of unit components;
Generating a second test data set that is a subset of the first test data set using the input / output association direction graph; And
Generating and outputting an overall expected result value based on the second test data set using the input / output relationship direction graph
Lt; / RTI >
Wherein the second set of test data is generated based on a determination as to whether at least one output parameter of the component based software system depends on all of the input parameters of the component based software system, A method for automatically generating an expected result value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140142546A KR101606283B1 (en) | 2014-10-21 | 2014-10-21 | Appratus for automatic generation of expected results for testing component-based software system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140142546A KR101606283B1 (en) | 2014-10-21 | 2014-10-21 | Appratus for automatic generation of expected results for testing component-based software system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101606283B1 true KR101606283B1 (en) | 2016-03-24 |
Family
ID=55651619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140142546A KR101606283B1 (en) | 2014-10-21 | 2014-10-21 | Appratus for automatic generation of expected results for testing component-based software system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101606283B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100960123B1 (en) | 2007-12-17 | 2010-05-27 | 한국전자통신연구원 | Method and device for test component on SDR middleware |
JP4787460B2 (en) | 2003-01-17 | 2011-10-05 | 日本電気株式会社 | System performance prediction method and method based on performance measurement of software components |
KR101089816B1 (en) | 2010-06-09 | 2011-12-08 | 강원대학교산학협력단 | Method and apparatus of generating test suitee for software component state testing |
KR101419646B1 (en) | 2013-02-19 | 2014-07-15 | 강원대학교산학협력단 | Method and appratus for automatic generation of expected results for testing composite component |
-
2014
- 2014-10-21 KR KR1020140142546A patent/KR101606283B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4787460B2 (en) | 2003-01-17 | 2011-10-05 | 日本電気株式会社 | System performance prediction method and method based on performance measurement of software components |
KR100960123B1 (en) | 2007-12-17 | 2010-05-27 | 한국전자통신연구원 | Method and device for test component on SDR middleware |
KR101089816B1 (en) | 2010-06-09 | 2011-12-08 | 강원대학교산학협력단 | Method and apparatus of generating test suitee for software component state testing |
KR101419646B1 (en) | 2013-02-19 | 2014-07-15 | 강원대학교산학협력단 | Method and appratus for automatic generation of expected results for testing composite component |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263116B2 (en) | Champion test case generation | |
Portugal et al. | Msp algorithm: multi-robot patrolling based on territory allocation using balanced graph partitioning | |
CN109543942A (en) | Data verification method, device, computer equipment and storage medium | |
Saukh et al. | On boundary recognition without location information in wireless sensor networks | |
JP4485330B2 (en) | Directed falification of circuits | |
Gupta et al. | Regular node deployment for $ k $-coverage in $ m $-connected wireless networks | |
Montijano et al. | Distributed data association in robotic networks with cameras and limited communications | |
JP6181595B2 (en) | Map network data automatic generation device, network data automatic generation method, and network data automatic generation program | |
CN108415846A (en) | A kind of method and apparatus generating minimal automation test use cases | |
US7913209B1 (en) | Determining a cycle basis of a directed graph | |
CN111880220A (en) | Seismic source positioning method, device, equipment and storage medium | |
US9041593B2 (en) | Target tracking apparatus, storage medium stored a target tracking program, target tracking system, and target tracking method | |
Dillencourt | Finding Hamiltonian cycles in Delaunay triangulations is NP-complete | |
Tapolcai et al. | On network topology augmentation for global connectivity under regional failures | |
KR101606283B1 (en) | Appratus for automatic generation of expected results for testing component-based software system | |
Zejnilović et al. | Sequential observer selection for source localization | |
CN109429194A (en) | Reference mode location determining method and device in mobile awareness network | |
CN109977455B (en) | Ant colony optimization path construction method suitable for three-dimensional space with terrain obstacles | |
US8291366B2 (en) | Routing system and method using a routing tree rip-up | |
KR101581615B1 (en) | Appratus and method of input/output relationship based adaptive combinatorial testing for software component based system | |
CN113176975B (en) | Method and device for processing monitoring data, storage medium and electronic equipment | |
US10503633B2 (en) | Symbolic execution of alternative branches | |
US11113268B2 (en) | Method and device for restoring missing operational data | |
Andreadakis | Analysis and synthesis of decision-making organizations | |
EP3985546A1 (en) | Method and apparatus for path routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190201 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200217 Year of fee payment: 5 |
|
R401 | Registration of restoration |