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 PDF

Info

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
Application number
KR1020080004634A
Other languages
Korean (ko)
Other versions
KR20090078696A (en
Inventor
강교철
최윤석
맹주원
양진석
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020080004634A priority Critical patent/KR100937689B1/en
Publication of KR20090078696A publication Critical patent/KR20090078696A/en
Application granted granted Critical
Publication of KR100937689B1 publication Critical patent/KR100937689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; 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

사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법{METHOD OF SIMULATION SUPPORTING SOFTWARE TESTING BASED ON USER ENVIRONMENT PROFILING}Simulation method that supports testing of software under test based on user environment profiling

본 발명은 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 관한 것으로, 더욱 상세하게는 테스트 대상 소프트웨어가 작동될 환경에 대하여 여러 가지 다양한 환경 프로파일을 만들고, 이를 참고하여 테스트 대상 프로그램을 테스트에 적합하도록 프로그램 코드를 만들어 시뮬레이션 하여 평가하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 관한 것이다.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)

사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법에 있어서,A simulation method that supports testing of software under test based on user environment profiling, 상기 테스트 대상 소프트웨어에 대응되는 플로 차트 및 스테이트 차트를 이용하여 테스트케이스를 생성하는 테스트케이스 생성 단계;A test case generation step of generating a test case using a flow chart and a state chart corresponding to the test target software; 상기 생성된 테스트케이스를 검증하여 검증된 테스트케이스를 생성하는 테스트케이스 검증 단계;A test case verification step of generating a verified test case by verifying the generated test case; 사용자가 원하는 테스트 환경에 대한 정보를 입력받아 사용자 환경 프로파일링 정보를 생성하는 사용자 환경 프로파일링 단계;A user environment profiling step of receiving information on a test environment desired by a user and generating user environment profiling information; 상기 사용자 환경 프로파일링 정보를 참고하여 상기 검증된 테스트케이스를 시뮬레이션이 가능한 상태의 시뮬레이션용 프로그램코드로 변환하는 매핑 단계; 및A mapping step of converting the verified test case into simulation program code in a state capable of simulation by referring to the user environment profiling information; And 상기 시뮬레이션용 프로그램코드를 이용하여 실제 또는 가상의 테스트환경에서 시뮬레이션을 실행하는 시뮬레이션 단계를 포함하는데,It includes a simulation step of executing a simulation in a real or virtual test environment using the simulation program code, 상기 테스트케이스 생성 단계는The test case generation step 상기 테스트 대상 소프트웨어의 플로 차트 및 스테이트 차트를 입력받는 입력 단계;An input step of receiving a flow chart and a state chart of the test target software; 상기 플로 차트 내에서 가능한 플로의 경우의 수와 상기 스테이트 차트 내에서 가능한 상태전이의 경우의 수를 분석하는 분석 단계; 및An analysis step of analyzing the number of possible flow cases in the flow chart and the number of possible state transition cases in the state chart; And 상기 가능한 플로의 경우의 수와 가능한 상태전이의 경우의 수에 대응하여 테스트케이스를 작성하는 생성 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법. And a generation step of creating a test case in response to the number of possible flow cases and the number of possible state transition cases. . 삭제delete 제1항에 있어서,The method of claim 1, 상기 테스트케이스 생성 단계는The test case generation step 상기 생성된 테스트케이스를 개별적으로 에디터를 이용하여 편집하는 편집 단계를 추가로 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.And a editing step of editing the generated test cases individually using an editor. The simulation method of supporting a test of the test target software based on user environment profiling. 제1항에 있어서,The method of claim 1, 상기 테스트케이스 검증 단계는 상기 테스트케이스를 구성하는 적어도 하나 의 서브테스트케이스 중에서 중복되는 서브테스트케이스를 제거하는 중복제거 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.The test case verification step includes a deduplication step of removing a duplicate subtest case among at least one subtest case constituting the test case, and testing the software under test based on user environment profiling. Simulation method to support. 제1항에 있어서,The method of claim 1, 상기 테스트케이스 검증 단계는 상기 테스트케이스를 구성하는 적어도 하나의 서브테스트케이스 중에서 도달 불가능한 상태로 귀결되는 서브테스트케이스를 제거하는 도달불가능제거 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.The test case verifying step includes an unreachable removing step of removing a subtest case resulting in an unreachable state among at least one subtest case constituting the test case. Simulation method that supports testing of the software under test. 제1항에 있어서,The method of claim 1, 상기 사용자 환경 프로파일링 단계에서, 사용자가 원하는 테스트 환경에 대한 정보는 화면의 크기, 화면의 컬러, 메모리의 용량, 배터리의 지속시간 또는 데이터 파일 형식 중 적어도 하나를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.In the user environment profiling step, the information about the test environment desired by the user includes at least one of a screen size, a screen color, a memory capacity, a battery duration, or a data file format. Simulation method that supports testing of the software under test based on ring. 제1항에 있어서,The method of claim 1, 상기 시뮬레이션 단계는 상기 시뮬레이션 실행에 따른 테스트 대상 소프트웨어의 변화 상태를 상기 테스트 대상 소프트웨어의 사용자 인터페이스 화면의 스냅샷으로 스냅샷 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.The simulation step may be based on user environment profiling, wherein the state of change of the software under test according to the simulation is executed is stored in a snapshot database as a snapshot of the user interface screen of the software under test. Simulation method that supports testing of the software under test. 제1항에 있어서,The method of claim 1, 상기 시뮬레이션 단계는 시뮬레이션 실행 후 테스트결과를 출력 및 저장하는 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법.The simulation step is a simulation method for supporting the test of the software under test, based on the user environment profiling, characterized in that the step of outputting and storing the test results after the simulation execution. 제1항에 기재된,The method of claim 1, 상기 테스트케이스 생성 단계, 테스트케이스 검증 단계, 사용자 환경 프로파일링 단계, 매핑 단계 및 시뮬레이션 단계를 포함하는 것을 특징으로 하는 사용자 환경 프로파일링에 기반을 두어 테스트 대상 소프트웨어의 테스트를 지원하는 시뮬레이션 방법이 실행되기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.Based on the user environment profiling, which includes the test case generation step, the test case verification step, the user environment profiling step, the mapping step, and the simulation step, a simulation method for supporting the test of the test target software is executed. A computer-readable recording medium having recorded thereon a program.
KR1020080004634A 2008-01-15 2008-01-15 Method of simulation supporting software testing based on user environment profiling KR100937689B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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