KR100937689B1 - Method of simulation supporting software testing based on user environment profiling - Google Patents
Method of simulation supporting software testing based on user environment profiling Download PDFInfo
- Publication number
- KR100937689B1 KR100937689B1 KR1020080004634A KR20080004634A KR100937689B1 KR 100937689 B1 KR100937689 B1 KR 100937689B1 KR 1020080004634 A KR1020080004634 A KR 1020080004634A KR 20080004634 A KR20080004634 A KR 20080004634A KR 100937689 B1 KR100937689 B1 KR 100937689B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- simulation
- user environment
- profiling
- test case
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법이 개시된다. 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법은 플로 차트 내에서 가능한 플로의 경우의 수와 스테이트 차트 내에서 가능한 상태전이의 경우의 수를 분석하여 테스트케이스를 작성하며, 생성된 테스트케이스를 formal analysis 알고리즘으로 검증하는 단계를 가진다. 또한 사용자 프로파일링을 설정할 수 있게 함으로써 테스트케이스 및 시뮬레이션의 매핑에 유연하게 적용되어 시뮬레이션용 프로그램코드를 작성할 수 있도록 한다. 시뮬레이션 기능은 각 테스트케이스가 변화되는 상태에 따라 테스트 대상 소프트웨어에 대한 스냅샷을 저장한다. 이러한 시뮬레이션의 결과로 도출된 스냅샷 정보는 테스팅에 사용되는 기본셋(base set)으로 이용할 수 있는 높은 신뢰성을 갖는다. 여러 단계의 테스팅 시뮬레이션을 통해 소프트웨어의 품질 보장 및 개발 시간을 단축할 수 있다.Based on user environment profiling, a simulation method is disclosed that supports testing of the software under test. Based on user environment profiling, the simulation method that supports testing of the software under test creates test cases by analyzing the number of possible flow cases in the flow chart and the number of possible state transitions in the state chart. Validate the generated test case with formal analysis algorithm. In addition, user profiling can be set up to be applied flexibly to the mapping of test cases and simulations, allowing the creation of program code for simulations. The simulation feature saves a snapshot of the software under test as each test case changes. The snapshot information resulting from the simulation has a high reliability that can be used as a base set used for testing. Several levels of testing simulation can reduce software quality and development time.
사용자 환경 프로파일링, 테스트케이스, 시뮬레이션 User environment profiling, test cases, simulation
Description
본 발명은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 관한 것으로, 더욱 상세하게는 테스트 대상 소프트웨어가 작동될 환경에 대하여 여러 가지 다양한 환경 프로파일을 만들고, 이를 참고하여 테스트 대상 프로그램을 테스트에 적합하도록 프로그램 코드를 만들어 시뮬레이션 하여 평가하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 관한 것이다.The present invention relates to a simulation method for supporting the testing of the software under test based on user environment profiling, and more particularly, various various environment profiles for the environment under which the software under test is to be operated. The present invention relates to a simulation method that supports the testing of the software under test based on user environment profiling, which generates and evaluates the program code to be suitable for the test.
시뮬레이션은 소프트웨어 개발 기법의 하나로 인간·컴퓨터 간 인터페이스에 대화형 그래픽 표시를 포함하여 시스템의 개발 및 생산성 향상을 도모하기 때문에 소프트웨어가 소비자에게 배포되기 전에 프로그램의 성능 검토가 가능한 장점을 가지고 있다. 이러한 시뮬레이션 기법은 다양한 환경 즉, 임베디드 시스템이나 대규모 시스템 등에 실재하여 그 기능을 테스트하기 이전에 모의 실험해 볼 수 있게 한 다. 시뮬레이션의 특화된 기능으로는 결정적인 순간에 프로그램의 수행의 중지될 수 있도록 하는 작동 중단점이나 명령 중단점등의 설정을 할 수도 있고 프로그램의 수행과정도 추적할 수 있게 한다.Simulation is one of the software development techniques that includes interactive graphic display on the human-computer interface to improve the development and productivity of the system. Therefore, it has the advantage that the performance of the program can be reviewed before the software is distributed to consumers. This simulation technique can be simulated in various environments, such as embedded systems or large systems, before testing its functionality. Specialized features of the simulation allow you to set operating breakpoints or instruction breakpoints that allow the execution of a program to stop at a critical moment, as well as to track the progress of the program.
1990년대 이후 급성장을 이룬 소프트웨어 테스팅은 소프트웨어 산업, IT 산업의 전반에 영향을 미치고 있다. 테스팅은 소프트웨어의 효과적인 개발 및 비본질적인 소프트웨어의 복잡도등을 낮출 수 있어 품질 경쟁력 향상의 중요한 수단이다. 최근 업계에서는 리콜 사례로 인한 제품 하자의 근본적 원인이 소프트웨어에 있다고 판단하여 소프트웨어 얼리 테스트(early test) 정책을 적용하고 있고 품질 관리팀을 이용해 소프트웨어 테스트에 투자하고 있으며, 또한 금융권, 정부기관 등도 소프트웨어 테스트에 많은 시간을 투자하고 있다.Software testing, which has grown rapidly since the 1990s, is affecting the overall software and IT industries. Testing is an important means of improving quality competitiveness by reducing the effective development of software and reducing the complexity of non-essential software. Recently, the industry believes that the root cause of product defects caused by recalls is software, and applies the software early test policy and invests in software testing using the quality control team. I invest a lot of time.
위에서 언급한 것처럼, 소프트웨어의 개발 및 생산성 향상을 위한 기법인 시뮬레이션과 소프트웨어 테스팅은 각각의 분야에서 발전해 왔으나, 이 두 가지의 콘셉트를 하나로 묶어서 소프트웨어 개발 생산성을 높이고자하는 인식이 점점 늘어나고 있으나 아직까지는 상기 시뮬레이션과 소프트웨어 테스팅은 서로 상보적으로 결합되어 있지 못한 실정이다.As mentioned above, simulation and software testing, which are techniques for software development and productivity improvement, have been developed in their respective fields, but there is a growing awareness that the two concepts can be combined to increase software development productivity. Simulation and software testing are not complementary to each other.
본 발명의 목적은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법이 가지는 특징적인 내부 작업 실행 단계 및 각 작업 단계의 특징을 제공함으로써 시뮬레이션과 소프트웨어 테스트의 장점을 결합하여 소프트웨어를 개발하는 경우에 개발될 소프트웨어의 품질을 보장하고, 개발 시간을 단축하는 것이 가능한 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 제공하는데 있다.An object of the present invention is to combine the advantages of simulation and software testing by providing the characteristic internal task execution steps and characteristics of each task step of the simulation method that supports the testing of the software under test based on user environment profiling. To develop the software to ensure the quality of the software to be developed, and to provide a simulation method that supports the testing of the software that can reduce the development time.
상기 목적을 달성하기 위한 본 발명의 일 형태는, 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 있어서, 상기 테스트 대상 소프트웨어에 대응되는 플로 차트 및 스테이트 차트를 이용하여 테스트케이스를 생성하는 테스트케이스 생성 단계, 상기 생성된 테스트케이스를 검증하여 검증된 테스트케이스를 생성하는 테스트케이스 검증 단계, 사용자가 원하는 테스트 환경에 대한 정보를 입력받아 사용자 환경 프로파일링 정보를 생성하는 사용자 환경 프로파일링 단계, 상기 사용자 환경 프로파일링 정보를 참고하여 상기 검증된 테스트케이스를 시뮬레이션이 가능한 상태의 시뮬레이션용 프로그램코드로 변환하는 매핑 단계 및 상기 시뮬레이션용 프로그램코드를 이용하여 실제 또는 가상의 테스트환경에서 시뮬레이션을 실행하는 시뮬레이션 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨 어의 테스트를 지원하는 시뮬레이션 방법을 제공한다.One aspect of the present invention for achieving the above object is a simulation method for supporting a test of a test target software based on user environment profiling, wherein the test is performed using a flow chart and a state chart corresponding to the test target software. A test case generation step of generating a case, a test case verification step of generating a verified test case by verifying the generated test case, and a user environment that receives user information about a desired test environment and generates user environment profiling information. A profiling step, a mapping step of converting the verified test case into simulation program code in a state that can be simulated with reference to the user environment profiling information, and a real or virtual test using the simulation program code. It provides a simulation method that supports testing of the software under test based on the user environment profiling, which includes the simulation step of executing the simulation in the test environment.
여기에서, 상기 테스트케이스 생성 단계는 상기 테스트 대상 소프트웨어의 플로 차트 및 스테이트 차트를 입력받는 입력 단계, 상기 플로 차트 내에서 가능한 플로의 경우의 수와 상기 스테이트 차트 내에서 가능한 상태전이의 경우의 수를 분석하는 분석 단계 및 상기 가능한 플로의 경우의 수와 가능한 상태전이의 경우의 수에 대응하여 테스트케이스를 작성하는 생성 단계를 포함하는 것을 특징으로 할 수 있다.The test case generating step may include an input step of receiving a flow chart and a state chart of the test target software, the number of possible flow cases in the flow chart and the number of possible state transitions in the state chart. And a generation step of creating a test case corresponding to the analysis step of analyzing and the number of possible flow cases and the number of possible state transition cases.
여기에서, 상기 테스트케이스 생성 단계는 상기 생성된 테스트케이스를 개별적으로 에디터를 이용하여 편집하는 편집 단계를 추가로 포함하는 것을 특징으로 할 수 있다.Here, the test case generation step may further include an editing step of editing the generated test cases individually using an editor.
여기에서, 상기 테스트케이스 검증 단계는 상기 테스트케이스를 구성하는 적어도 하나의 서브테스트케이스 중에서 중복되는 서브테스트케이스를 제거하는 중복제거 단계를 포함하는 것을 특징으로 할 수 있다.Here, the test case verification step may include a deduplication step of removing a duplicate subtest case among at least one subtest case constituting the test case.
여기에서, 상기 테스트케이스 검증 단계는 상기 테스트케이스를 구성하는 적어도 하나의 서브테스트케이스 중에서 도달 불가능한 상태로 귀결되는 서브테스트케이스를 제거하는 도달불가능제거 단계를 포함하는 것을 특징으로 할 수 있다.Here, the test case verifying step may include an unreachable removing step of removing a subtest case resulting in an unreachable state among at least one subtest case constituting the test case.
여기에서, 상기 사용자 환경 프로파일링 단계에서, 사용자가 원하는 테스트 환경에 대한 정보는 화면의 크기, 컬러, 메모리의 용량, 배터리의 지속시간 또는 데이터 파일 형식 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.Here, in the user environment profiling step, the information about the test environment desired by the user may include at least one of a screen size, a color, a memory capacity, a battery duration, or a data file format. .
여기에서, 상기 시뮬레이션 단계는 상기 시뮬레이션 실행에 따른 테스트 대 상 소프트웨어의 변화 상태를 상기 테스트 대상 소프트웨어의 사용자 인터페이스 화면의 스냅샷으로 스냅샷 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 할 수 있다.Here, the simulation step may include storing a change state of the test target software according to the simulation execution in a snapshot database as a snapshot of a user interface screen of the test target software.
여기에서, 상기 시뮬레이션 단계는 시뮬레이션 실행 후 테스트결과를 출력 및 저장하는 단계를 포함하는 것을 특징으로 할 수 있다.Here, the simulation step may be characterized in that it comprises the step of outputting and storing the test results after the simulation execution.
상기와 다른 목적을 달성하기 위해 본 발명은, 상기 테스트케이스 생성 단계, 테스트케이스 검증 단계, 사용자 환경 프로파일링 단계, 매핑 단계 및 시뮬레이션 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법이 실행되기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체를 제공한다.In order to achieve the object different from the above, the present invention, based on the user environment profiling characterized in that it comprises the test case generation step, test case verification step, user environment profiling step, mapping step and simulation step Provided is a computer readable recording medium having recorded thereon a program for executing a simulation method that supports testing of the target software.
상기와 같은 본 발명에 따른 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 이용하면, 다양한 사용자 환경에 대해서 독립적으로 설정이 가능하므로 하나의 사용자 환경 프로파일링에만 테스트 가능한 것이 아니라 다양한 사용자 환경 프로파일링에 적용하여 테스트 할 수 있으므로 확장성이 크다.Based on the user environment profiling according to the present invention as described above, using a simulation method that supports testing of the software under test, it is possible to set independently for various user environments, so that only one user environment profiling can be tested. Rather, it can be applied to various user environment profiling, so it is highly scalable.
본 발명에서 제시한 테스트케이스 생성을 위한 알고리즘은 테스트케이스에 대한 검증의 정확도를 높여주므로 테스트 시에 생길 수 있는 시나리오 오류 및 시뮬레이션 실패에 대해서 높은 수준의 신뢰성을 제공한다.The algorithm for generating test cases presented in the present invention increases the accuracy of verification for the test cases, thereby providing a high level of reliability against scenario errors and simulation failures that may occur during testing.
검증된 테스트케이스를 시뮬레이션이 가능한 상태의 시뮬레이션용 프로그램 코드로 변환하는 매핑 그리고 사용자 환경 프로파일링 정보를 이용하여 시뮬레이션용 프로그램코드를 만드는 방식은 각각의 매핑 정보를 분리하여 관리 및 제어하므로 시뮬레이션 제어에 MVC 모델의 형식을 적용한 것과 같은 효과를 낸다. 즉, 어플리케이션 제어 효율성을 높일 수 있다.The mapping method that converts the verified test case into the program code for simulation in the state that can be simulated and the program code for simulation using the user environment profiling information are separately managed and controlled for each mapping information. It has the same effect as applying the model form. That is, the application control efficiency can be improved.
본 발명은 상태 기반으로 실행되는 모델을 사용하기 때문에 시뮬레이션 실행에 따른 테스트 대상 소프트웨어의 변화 상태에 따른 테스트 대상 소프트웨어의 사용자 인터페이스 화면의 스냅샷을 저장하는 기능을 제공한다. 이 기능은 그래픽 사용자 인터페이스(GUI) 기반의 테스트 대상 소프트웨어의 테스팅 시에는 매우 효율적이다. 시뮬레이션 실행에 따라 사용자 인터페이스 화면이 변화하는 과정에 대한 스냅샷을 저장함으로써 사람이 판단하는 것 이외에도 컴퓨터가 이미지 인식 기술을 이용하여 작업의 성공, 실패 여부를 판별하게 할 수 있는 기본 데이터를 만들어 낼 수 있기 때문이다.The present invention provides a function of storing a snapshot of the user interface screen of the test target software according to the change state of the test target software according to the simulation execution since the model is executed based on the state. This feature is very efficient when testing software under test based on a graphical user interface (GUI). By storing a snapshot of how the user interface screen changes as the simulation runs, in addition to human judgment, it can generate basic data that allows the computer to determine the success or failure of a task using image recognition technology. Because there is.
이하 본 발명에 따른 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of a simulation method for supporting a test of software under test based on user environment profiling according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 설명하기 위한 순서도이다.1 is a flowchart illustrating a simulation method for supporting a test of software under test based on user environment profiling.
사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법은 테스트케이스 생성 단계(S110), 테스트케이스 검증 단 계(S120), 사용자 환경 프로파일링 단계(S130), 매핑 단계(S140) 및 시뮬레이션 단계(S150)를 포함할 수 있다.Based on the user environment profiling, the simulation method to support the test of the test target software includes test case generation step (S110), test case verification step (S120), user environment profiling step (S130), and mapping step (S140). And it may include a simulation step (S150).
테스트케이스 생성 단계(S110)는 테스트 대상 소프트웨어에 대응되는 플로 차트 및 스테이트 차트를 이용하여 테스트케이스를 생성하는 단계가 될 수 있으며, 상기 테스트 대상 소프트웨어의 플로 차트 및 스테이트 차트를 입력받는 입력 단계(S111), 상기 플로 차트 내에서 가능한 플로의 경우의 수와 상기 스테이트 차트 내에서 가능한 상태전이의 경우의 수를 분석하는 분석 단계(S112) 및 상기 가능한 플로의 경우의 수와 가능한 상태전이의 경우의 수에 대응하여 테스트케이스를 작성하는 생성 단계(S113)를 포함할 수 있다. 또한, 테스트케이스 생성 단계(S110)는 상기 생성된 테스트케이스를 개별적으로 에디터를 이용하여 편집하는 편집 단계(S114)를 추가로 포함할 수 있다.The test case generating step (S110) may be a step of generating a test case using a flow chart and a state chart corresponding to the test target software, and an input step of receiving a flow chart and a state chart of the test target software (S111). ), An analysis step (S112) of analyzing the number of possible flow cases in the flow chart and the number of possible state transitions in the state chart, and the number of possible flow cases and the number of possible state transitions. It may include a generation step (S113) for creating a test case corresponding to the. In addition, the test case generation step (S110) may further include an editing step (S114) of editing the generated test cases individually using an editor.
도 2는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 테스트케이스 생성 단계(S110)에서 인용되는 플로 차트의 예시도이다. 2 is an exemplary diagram of a flow chart cited in the test case generation step (S110) constituting a simulation method for supporting a test of the software under test based on user environment profiling.
도 2를 참조하면, 테스트케이스 생성 단계(S110)에 의하여 테스트케이스의 생성 대상이 되는 테스트 대상 프로그램의 플로 차트로부터 모든 경우의 수가 분석되는 과정이 예시될 수 있다.Referring to FIG. 2, a process of analyzing the number of all cases from a flowchart of a test target program to be generated by the test case generation step (S110) may be illustrated.
도 2는 메인화면으로 부터의 다른 화면으로의 분기를 표현하는 프로그램의 플로 차트로서, 메인화면에서 소리화면, 메시지화면 또는 동영상화면으로의 가능한 경로를 예시하고 있다. 따라서 도 2의 플로 차트로부터 도출되는 모든 경우의 수는 3가지가 된다.2 is a flow chart of a program expressing a branch from the main screen to another screen, illustrating a possible path from the main screen to a sound screen, a message screen or a video screen. Therefore, the number of all cases derived from the flowchart of FIG. 2 becomes three.
또한, 상기 도 2에서 예시된 테스트 대상 소프트웨어의 플로 차트와 함께, 테스트 대상 소프트웨어의 스테이트 차트 또한 테스트케이스 생성 단계(S110)에서 테스트 케이스를 생성하기 위하여 이용될 수 있다. In addition to the flow chart of the test target software illustrated in FIG. 2, the state chart of the test target software may also be used to generate a test case in the test case generation step S110.
도 3은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 테스트케이스 생성 단계에서 인용되는 스테이트 차트의 예시도이다. 3 is an exemplary diagram of a state chart cited in the test case generation step of configuring a simulation method for supporting a test of the software under test based on user environment profiling.
즉, 도 3은 테스트 대상 프로그램의 각 자원들의 스테이트의 상태 및 변화 상태를 표현한 것을 말한다.That is, FIG. 3 represents a state and a change state of states of respective resources of the test target program.
앞서 상술된 도 2에서 예시된 플로 차트에서는 플로 차트내의 모든 분기 조건(branch condition)을 가정하여 가능한 모든 경우의 수를 추출하는 것이 필요하며, 도 3에서 예시된 스테이트 차트에서는 테스트 대상 프로그램을 구성하는 모든 스테이트 간의 전이 조건(transition condition)을 감안하여 가능한 모든 전이 조건에 따른 모든 상태 전이 경우의 수가 도출되어야 한다.In the above-described flow chart illustrated in FIG. 2, it is necessary to extract all possible cases assuming all branch conditions in the flow chart. In the state chart illustrated in FIG. 3, the program to be tested is constructed. Given the transition conditions between all states, the number of all state transition cases for all possible transition conditions should be derived.
따라서 도 3에서 예시되는 스테이트 차트로부터 가능한 상태 전이의 경우의 수는 메인화면->소리화면, 메인화면->메시지화면, 또는 메인화면->동영상화면 일 수 있다.Accordingly, the number of possible state transitions from the state chart illustrated in FIG. 3 may be a main screen-> sound screen, a main screen-> message screen, or a main screen-> video screen.
최종적으로, 테스트 케이스 생성 단계(S110)에서는 도 2 및 도 3에서 예시되는 플로 차트와 스테이트 차트로부터 도출된 모든 플로의 경우의 수, 상태 전이의 경우의 수를 감안하여 테스트 케이스가 생성될 수 있다.Finally, in the test case generation step S110, a test case may be generated in consideration of the number of all flow cases and the number of state transition cases derived from the flowcharts and state charts illustrated in FIGS. 2 and 3. .
도 1을 다시 참조하면, 테스트케이스 검증 단계(S120)는 생성된 테스트케이스를 검증하여 검증된 테스트케이스를 생성하는 단계가 될 수 있으며, 상기 테스트케이스를 구성하는 적어도 하나의 서브테스트케이스 중에서 중복되는 서브테스트케이스를 제거하는 중복제거 단계(S121)를 포함하는 것을 특징으로 할 수 있다. 또한 테스트케이스 검증 단계(S120)는 상기 테스트케이스를 구성하는 적어도 하나의 서브테스트케이스 중에서 도달 불가능한 상태로 귀결되는 서브테스트케이스를 제거하는 도달불가능제거 단계(S122)를 포함할 수 있다.Referring back to FIG. 1, the test case verification step S120 may be a step of generating a verified test case by verifying the generated test case, and overlapping among at least one subtest case constituting the test case. It may be characterized in that it comprises a deduplication step (S121) for removing the sub test case. In addition, the test case verification step (S120) may include an unreachable removal step (S122) of removing a subtest case resulting in an unreachable state among at least one subtest case constituting the test case.
사용자 환경 프로파일링 단계(S130)는 사용자가 원하는 테스트 환경에 대한 정보를 입력받아 사용자 환경 프로파일링 정보를 생성하는 단계가 될 수 있다.The user environment profiling step (S130) may be a step of generating user environment profiling information by receiving information on a test environment desired by a user.
도 4는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 사용자 환경 프로파일링 단계(S130)에서 인용되는 사용자 환경 프로파일링 정보의 예시도이다. 해당 사용자 환경으로는 화면의 크기, 화면의 컬러, 메모리의 용량, 배터리의 지속시간, 데이터 파일 형식 등의 모든 정보가 프로파일링 정보가 될 수 있다.4 is an exemplary diagram of user environment profiling information cited in the user environment profiling step (S130) constituting a simulation method for supporting a test of the software under test based on user environment profiling. In the user environment, profiling information may include all information such as screen size, screen color, memory capacity, battery duration, and data file format.
사용자 환경 프로파일링 단계(S130)에서 입력된 사용자 환경 프로파일링 정보는 매핑 단계(S140)에서 검증된 테스트케이스가 시뮬레이션용 프로그램코드로 변환되는데 반영된다.The user environment profiling information input in the user environment profiling step S130 is reflected when the test case verified in the mapping step S140 is converted into a program code for simulation.
도 1을 다시 참조하면, 매핑 단계(S140)는 해당 사용자 환경에 대응되는 사용자 환경 프로파일링 정보를 참고하여 검증된 테스트케이스를 시뮬레이션이 가능한 상태의 시뮬레이션용 프로그램코드로 변환하는 단계가 될 수 있다.Referring back to FIG. 1, the mapping step S140 may be a step of converting a verified test case into simulation program code in a state capable of simulation by referring to user environment profiling information corresponding to a corresponding user environment.
시뮬레이션 단계(S150)는 시뮬레이션용 프로그램코드를 이용하여 실제 또는 가상의 테스트환경에서 시뮬레이션을 실행하여 테스트 할 수 있도록 하는 단계가 될 수 있고, 상기 시뮬레이션 실행에 따른 테스트 대상 소프트웨어의 변화 상태를 상기 테스트 대상 소프트웨어의 사용자 인터페이스 화면의 스냅샷으로 스냅샷 데이터베이스에 저장하는 스냅샷 데이터베이스 저장 단계(S152)를 포함할 수 있고, 더불어 시뮬레이션 실행 후 테스트결과를 출력 및 저장하는 테스트 결과 출력 및 저장 단계(S151)를 포함할 수 있다.The simulation step (S150) may be a step of performing a simulation in a real or virtual test environment by using the program code for simulation to test, and the change state of the test target software according to the simulation execution of the test target And a snapshot database storage step (S152) of storing the snapshot database as a snapshot of the user interface screen of the software, and outputting and storing the test result (S151) for outputting and storing test results after the simulation is executed. It may include.
도 1은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 설명하기 위한 순서도이다.1 is a flowchart illustrating a simulation method for supporting a test of software under test based on user environment profiling.
도 2는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 테스트케이스 생성 단계에서 인용되는 플로 차트의 예시도이다.FIG. 2 is an exemplary diagram of a flow chart cited in the test case generation step of constructing a simulation method for supporting a test of software under test based on user environment profiling.
도 3은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 테스트케이스 생성 단계에서 인용되는 스테이트 차트의 예시도이다.3 is an exemplary diagram of a state chart cited in the test case generation step of configuring a simulation method for supporting a test of the software under test based on user environment profiling.
도 4는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법을 구성하는 사용자 환경 프로파일링 단계에서 인용되는 사용자 환경 프로파일링 정보의 예시도이다.4 is an exemplary diagram of user environment profiling information cited in the user environment profiling step of constructing a simulation method for supporting a test of software under test based on user environment profiling.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080004634A KR100937689B1 (en) | 2008-01-15 | 2008-01-15 | Method of simulation supporting software testing based on user environment profiling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080004634A KR100937689B1 (en) | 2008-01-15 | 2008-01-15 | Method of simulation supporting software testing based on user environment profiling |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090078696A KR20090078696A (en) | 2009-07-20 |
KR100937689B1 true KR100937689B1 (en) | 2010-01-20 |
Family
ID=41336749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080004634A KR100937689B1 (en) | 2008-01-15 | 2008-01-15 | Method of simulation supporting software testing based on user environment profiling |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100937689B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419731A (en) * | 2011-12-08 | 2012-04-18 | 北京控制工程研究所 | Instrumentation and dynamic test coverage information extraction method of C-language embedded software |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567069B (en) * | 2010-12-07 | 2016-08-03 | 北京广利核系统工程有限公司 | C++Test is for the sofeware simulation method of Codewarrior |
KR101276573B1 (en) * | 2011-04-15 | 2013-06-18 | 주식회사 캠프넷 | Test apparatus for verification algorithm in digital signal process apparatus |
CN104932979A (en) * | 2015-07-01 | 2015-09-23 | 王沛 | Software fault locating method and device |
KR102087210B1 (en) * | 2018-02-01 | 2020-03-10 | 주식회사 한글과컴퓨터 | Method for producing test case through algorithm and extracting test case using pair-wise testing, and apparatus using the same |
KR102293274B1 (en) * | 2019-10-02 | 2021-08-24 | 국방과학연구소 | Method and apparatus for constructing test environment |
KR102279268B1 (en) * | 2020-01-09 | 2021-07-19 | 엘지전자 주식회사 | Apparatus and method for verifying electronic apparatus |
CN115774663A (en) * | 2022-09-15 | 2023-03-10 | 江苏瑞蓝自动化设备集团有限公司 | Optimization method, device, equipment and storage medium of LabVIEW test system |
CN117075891B (en) * | 2023-10-16 | 2024-02-02 | 深圳市楠菲微电子有限公司 | Method and device for associating configuration files for test cases |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040030005A (en) * | 2004-02-11 | 2004-04-08 | (주)한국지식웨어 | The method and implementation of conformance testing and interoperability testing tools for ebXML message |
KR20060098679A (en) * | 2005-03-03 | 2006-09-19 | 삼성전자주식회사 | A system for checking a system in communication system and system method thereof |
KR20070082222A (en) * | 2006-02-15 | 2007-08-21 | 삼성전자주식회사 | Api test method and apparatus of embedded software |
-
2008
- 2008-01-15 KR KR1020080004634A patent/KR100937689B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040030005A (en) * | 2004-02-11 | 2004-04-08 | (주)한국지식웨어 | The method and implementation of conformance testing and interoperability testing tools for ebXML message |
KR20060098679A (en) * | 2005-03-03 | 2006-09-19 | 삼성전자주식회사 | A system for checking a system in communication system and system method thereof |
KR20070082222A (en) * | 2006-02-15 | 2007-08-21 | 삼성전자주식회사 | Api test method and apparatus of embedded software |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419731A (en) * | 2011-12-08 | 2012-04-18 | 北京控制工程研究所 | Instrumentation and dynamic test coverage information extraction method of C-language embedded software |
Also Published As
Publication number | Publication date |
---|---|
KR20090078696A (en) | 2009-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100937689B1 (en) | Method of simulation supporting software testing based on user environment profiling | |
US7493522B2 (en) | Model independent input reduction | |
JP6220882B2 (en) | Self-test graphic component algorithm specifications | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
JP6607565B2 (en) | Integrated automated test case generation for safety critical software | |
US8756460B2 (en) | Test selection based on an N-wise combinations coverage | |
KR101122862B1 (en) | Test automation stack layering | |
JP5607741B2 (en) | Automatic modification of applications based on runtime behavior | |
CN109063829B (en) | Neural network construction method and device, computer equipment and storage medium | |
JP7320033B2 (en) | Quantum control pulse generation method, apparatus, electronic device, storage medium, and program | |
CN113835643B (en) | Data storage method and device, electronic equipment and readable storage medium | |
US20220358269A1 (en) | Simulation execution system, simulation execution method, and computer readable medium | |
CN103049374B (en) | Automatic testing method and device | |
CN112860587B (en) | UI automatic test method and device | |
JP2010286889A (en) | Communication controller | |
JP6959624B2 (en) | Security assessment system | |
JPWO2020157795A1 (en) | Test equipment, test methods and test programs | |
US20180225165A1 (en) | Configurable system wide tests | |
US9239893B2 (en) | Method and process computer for computation of the state variables of a hybrid differential-algebraic process model | |
JP2018142032A (en) | Service design support apparatus, method, and program | |
US7743244B2 (en) | Computer system model generation with tracking of actual computer system configuration | |
US20100293018A1 (en) | Test Model Abstraction For Testability in Product Line Engineering | |
US20170220450A1 (en) | Analytic method and analyzing apparatus | |
CN114429095B (en) | Fault simulation method and system of quantum circuit, storage medium and electronic device | |
KR20120009991A (en) | Apparatus and method for generating test suite |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130111 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |