KR100967525B1 - Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system. - Google Patents

Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system. Download PDF

Info

Publication number
KR100967525B1
KR100967525B1 KR1020080053442A KR20080053442A KR100967525B1 KR 100967525 B1 KR100967525 B1 KR 100967525B1 KR 1020080053442 A KR1020080053442 A KR 1020080053442A KR 20080053442 A KR20080053442 A KR 20080053442A KR 100967525 B1 KR100967525 B1 KR 100967525B1
Authority
KR
South Korea
Prior art keywords
value
data
load
simulator
test
Prior art date
Application number
KR1020080053442A
Other languages
Korean (ko)
Other versions
KR20090127453A (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 KR1020080053442A priority Critical patent/KR100967525B1/en
Publication of KR20090127453A publication Critical patent/KR20090127453A/en
Application granted granted Critical
Publication of KR100967525B1 publication Critical patent/KR100967525B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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

Abstract

본 발명은 부하테스트, 성능테스트, 스트레스 테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템이 데이터베이스 시스템, 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템과 연동할 경우, 연동된 시스템들에게 부하를 발생시키지 않고, 오직 상기 테스트 대상 시스템에게만 부하를 발생시키면서 테스트를 수행할 수 있는 시스템 및 방법에 관한 것으로,The present invention, when performing a variety of tests, including load test, performance test, stress test, functional test, when the test target system is interlocked with a database system, an external system or a separate system that performs a specific logic, interlocked system The present invention relates to a system and a method for performing a test while generating a load only on the system under test, without generating a load on them.

더욱 상세하게는 자바로 구현된 테스트 대상 시스템이 데이터베이스 시스템 또는 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템과 연동을 하여 클라이언트 프로그램에게 결과를 전달하는 경우에, 상기 연동 시스템들과 통신을 담당하는 자바 클래스의 매소드를 BCI(Byte Code Instrumentation) 프로그램을 이용하여 원래의 매소드를 수정(instrument) 하여 상기 원래의 매소드 대신에 사용자가 기설정한 코드가 실행되게 하여, 기설정한 응답데이터를 반환하게 함으로써, 상기 연동하는 데이터베이스 시스템, 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템에게 부하를 발생시키지 않으면서, 성능테스트, 부하테스트, 기능테스트를 포함하는 각종 테스트를 수행할 수 있는 시스템 및 방법에 관한 것이다.In more detail, when a test target system implemented in Java transmits a result to a client program by interworking with a database system or an external system or a separate system that executes specific logic, the Java in charge of communicating with the interworking systems By modifying the original method using a BCI (Byte Code Instrumentation) program, the user's code is executed instead of the original method, and the preset response data is returned. The present invention relates to a system and method capable of performing various tests including a performance test, a load test, and a function test without generating a load on the interworking database system, an external system, or a separate system that performs specific logic.

이를 위하여 본 발명은, BCI(Byte Code Instrumentation) 프로그램과 시뮬레이터 매니저(Simulator Manager)와 상기 시뮬레이터 매니저에게 사용자 설정정보를 전달하기 위하여 사용하는 JSP(Java Server Page) 프로그램 또는 Servlet 프로그램과 외부 시스템과의 연동을 담당하는 수정된 매소드의 처리를 담당하는 시뮬레이터 핸들러(Simulator Handler)를 포함하는 것을 특징으로 한다. To this end, the present invention, the BCI (Byte Code Instrumentation) program, the Simulator Manager (Simulator Manager) and the JSP (Java Server Page) program or Servlet program used to deliver the user setting information to the simulator manager and interworking with the external system It characterized in that it comprises a simulator handler (Simulator Handler) responsible for the processing of the modified method responsible for the.

상세하게는, BCI 프로그램은 상기 연동 시스템들과의 통신을 담당하는 사용자가 미리 지정한 클래스의 매소드를 수정(Instrument)하는 수단을 포함하고, 시뮬레이터 매니저는 JSP(또는 Servlet)으로부터 사용자가 지정한 대상 클래스 및 매소드의 명칭, 처리 시간, 매소드 반환 변수 타입, 기본 매소드 반환값, 매소드 입력값과 입력값에 대한 매소드 반환값, 상기 매소드의 원래 코드의 수행 여부, 상기 외부시스템과 연동을 담당하는 매소드의 최대 초당 수행 건수, 상기 초당 최대 수행 건수를 넘었을 경우에 초당 최대 수행 건수를 주기적으로 검사하여 초당 최대 수행 건수 보다 크지 않았음을 검사할 때 사용하는 검사주기, 입력 데이터의 파라미터 타입, 입력데이터의 값에 따라서 반환값을 선택하여 반환할 수 있는 입출력 데이터 파일과 이 입출력 데이터파일을 읽어올 수 있는 수단을 포함하며, 시뮬레이터 핸들러는 시뮬레이터 매니저에서 설정된 조건에 따라서 상기 수정(instrument)된 매소드를 처리할 수 있는 수단을 포함하는 것을 특징으로 한다.Specifically, the BCI program includes a means for modifying a method of a class previously designated by a user in charge of communicating with the interworking systems, and the simulator manager includes a target class designated by a user from a JSP (or Servlet) and a user; The name of the method, the processing time, the method return variable type, the default method return value, the method input value and the method return value for the input value, whether or not the method's original code has been executed, and the maximum number of methods responsible for interworking with the external system. In case of exceeding the maximum number of executions per second, if the number of executions exceeds the maximum number of executions per second, the inspection interval, parameter type of input data, input data value Therefore, I / O data file and this I / O data that can be returned by selecting return value And means that can read the work simulator handler in accordance with the terms set in the simulation manager, characterized in that it comprises means capable of processing the modified maesodeu (instrument).

성능테스트, 부하테스트, 기능테스트, 테스트, 시뮬레이터, 매소드, Java, ASP Performance Test, Load Test, Function Test, Test, Simulator, Method, Java, ASP

Description

성능, 부하, 기능테스트에서 목표한 시스템에만 부하를 발생시키기 위한 시스템 및 방법 {Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system.}Systems and methods for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system. }

본 발명은 부하테스트, 성능테스트, 스트레스 테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템이 데이터베이스 시스템, 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템과 연동할 경우, 연동된 시스템들에게 부하를 발생시키지 않고, 오직 상기 테스트 대상 시스템에게만 부하를 발생시키면서 테스트를 수행할 수 있는 시스템 및 방법에 관한 것으로,The present invention, when performing a variety of tests, including load test, performance test, stress test, functional test, when the test target system is interlocked with a database system, an external system or a separate system that performs a specific logic, interlocked system The present invention relates to a system and a method for performing a test while generating a load only on the system under test, without generating a load on them.

더욱 상세하게는 자바로 구현된 테스트 대상 시스템이 데이터베이스 시스템 또는 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템과 연동을 하여 클라이언트 프로그램에게 결과를 전달하는 경우에, 상기 연동 시스템들과 통신을 담당하는 자바 클래스의 매소드를 BCI(Byte Code Instrumentation) 프로그램을 이용하여 원래의 매소드를 수정(instrument) 하여 상기 원래의 매소드 대신에 사용자가 기설정한 코드가 실행되게 하여, 기설정한 응답데이터를 반환하게 함으로써, 상기 연동하는 데이터베이스 시스템, 외부 시스템 또는 특정 로직을 수행하는 별도의 시스템 에게 부하를 발생시키지 않으면서, 성능테스트, 부하테스트, 기능테스트를 포함하는 각종 테스트를 수행할 수 있는 시스템 및 방법에 관한 것이다.In more detail, when a test target system implemented in Java transmits a result to a client program by interworking with a database system or an external system or a separate system that executes specific logic, the Java in charge of communicating with the interworking systems By modifying the original method using a BCI (Byte Code Instrumentation) program, the user's code is executed instead of the original method, and the preset response data is returned. The present invention relates to a system and method capable of performing various tests including a performance test, a load test, and a functional test without generating a load on the interworking database system, an external system, or a separate system that performs specific logic.

상기와 같이, 테스트 대상 시스템이 데이터베이스 시스템 또는 특정 로직을 처리하는 시스템 또는 외부 시스템과 연동을 하여 전체 프로세스를 수행하는 경우에 상기 연동된 시스템들에게는 부하를 발생시키지 않고, 오로지 클라이언트 프로그램과 직접 통신을 하는 시스템에게만 부하를 발생하는 방법과 시스템이 필요하다. As described above, when the system under test performs the entire process by interworking with a database system, a system processing specific logic, or an external system, only the direct communication with the client program is performed without generating a load on the interlocked systems. There is a need for a method and a system that generates a load only for the system that is doing the job.

데이터베이스 시스템과 연동을 하는 경우를 예로 들어 좀더 자세히 설명하면, 테스트 대상 시스템이 자바로 구축된 웹애플리케이션으로 이루어 지고, 상기 웹애플리케이션은 클라이언트의 요청을 처리하기 위하여 상기 연동된 데이터베이스와 통신을 하는 클래스의 매소드를 호출하여 클라이언트에게 결과를 전달하는 경우에, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 상기 자바로 구축된 웹애플리케이션 시스템에 수행할 때, 연동된 데이터베이스 시스템에 데이터의 수정이 발생하면 안되거나, 연동된 데이터베이스 시스템이 또 다른 시스템과 연동되어 있어, 상기 데이터베이스 시스템이 부하를 받게되면 상기 다른 연동된 시스템의 운영이 어려운 경우에 상기 연동된 데이터베이스 시스템에 부하를 발생시키지 않고 상기 테스트 대상 시스템인 자바로 구현된 시스템에만 부하를 발생시키는 시스템과 방법이 필요하다.For example, in the case of interworking with a database system, the test target system is composed of a web application built in Java, and the web application of the class communicating with the interlocked database to process a client's request. When a method is called and a result is delivered to a client, when various tests including a load test, a performance test, and a functional test are performed on the web application system built in Java, data modification occurs in the linked database system. If the interlocked database system is linked with another system, and the database system is under load, when the other interlocked system is difficult to operate, the interlocked database system is not generated. The system and method for generating a load only to the system implemented by a Java agent target system is needed.

또한, ERP 시스템, CRM 시스템, 미들웨어 시스템을 포함하는 특정 로직을 처리하는 시스템과 연동을 하는 경우를 예로 들어 좀더 자세히 설명하면, 테스트 대 상 시스템이 자바로 구축된 웹애플리케이션으로 이루어 지고, 상기 웹애플리케이션은 클라이언트의 요청을 처리하기 위하여 상기 연동된 시스템들과 통신을 하는 클래스의 매소드를 호출하여 클라이언트에게 결과를 전달하는 경우에, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 상기 자바로 구축된 웹애플리케이션 시스템에 수행할 때, 연동된 시스템들의 데이터 수정이 발생하면 안되거나, 연동된 시스템들이 또 다른 시스템과 연동되어 있어, 상기 연동된 시스템들이 부하를 받게되면 상기 다른 연동된 시스템의 운영이 어려운 경우에 상기 연동된 시스템들에게 부하를 발생시키지 않고 상기 테스트 대상 시스템인 자바로 구현된 시스템에만 부하를 발생시키는 시스템과 방법이 필요하다.In addition, in more detail, taking an example of interworking with a system that processes a specific logic including an ERP system, a CRM system, and a middleware system, the test target system is composed of a web application built in Java, and the web application. In order to process the client's request, the method of the class communicating with the interlocked systems to deliver the results to the client, the various tests including load test, performance test, functional test to build in the Java When performing on the linked web application system, data modification of the linked systems should not occur, or the linked systems are linked with another system, and if the linked systems are under load, the operation of the other linked system is stopped. In case of difficulty, load is generated on the linked systems There is a need for a system and method for generating a load only on a system implemented in Java, which is the system under test.

또한, 외부 시스템과 연동을 하는 경우를 예로 들어 좀더 자세히 설명하면, 테스트 대상 시스템이 자바로 구축된 웹애플리케이션으로 이루어 지고, 상기 웹애플리케이션은 클라이언트의 요청을 처리하기 위하여 상기 연동된 외부 시스템과 통신을 하는 클래스의 매소드를 호출하여 클라이언트에게 결과를 전달하는 경우에, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 상기 자바로 구축된 웹애플리케이션 시스템에 수행할 때, 연동된 외부 시스템의 데이터 수정이 발생하면 안되거나, 연동된 외부 시스템이 또 다른 시스템과 연동되어 있어, 상기 연동된 외부 시스템이 부하를 받게되면 상기 다른 연동된 시스템의 운영이 어려운 경우에 상기 연동된 외부 시스템에게 부하를 발생시키지 않고 상기 테스트 대상 시스템인 자바로 구현된 시스템에만 부하를 발생시키는 시스템과 방법이 필요하다.In addition, in more detail, taking an example of interworking with an external system, the test target system is composed of a web application built in Java, and the web application communicates with the interworking external system to process a client request. When calling a method of a class to deliver a result to a client, when performing various tests including a load test, a performance test, and a functional test to the web application system built in Java, the data of the linked external system is modified. This should not occur, or if the interlocked external system is linked with another system, if the linked external system receives a load, it may not generate a load on the interlocked external system when the operation of the other interlocked system is difficult. Implemented in Java, the system under test Only systems need a system and method of generating load.

전술한 바와 같이 테스트 대상 시스템이 다른 시스템들과 연동이 되어 있고, 연동된 시스템들에게는 부하를 발생시키면 안되는 경우에, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 수 없거나, 프로그램의 소스를 수정하여 제한된 테스트 만을 수행하는 경우가 대부분이다. 이러한 경우에 상기 연동된 시스템들에게는 부하를 발생시키지 않으면서, 테스트 대상시스템 에게만 부하를 발생시키기 위한 방법 및 시스템이 필요하다.As described above, when the system under test is interlocked with other systems, and the interlocked systems should not generate a load, various tests including a load test, a performance test, and a functional test cannot be performed, or a program In most cases, only a limited test is performed by modifying the source. In this case, there is a need for a method and system for generating a load only on the system under test without generating a load on the interlocked systems.

Java BCI(Byte Code Instrumentation) 프로그램으로는 Apache BCEL, JBoss Javassist, Object Web의 ASM 등이 있다.Java Byte Code Instrumentation (BCI) programs include Apache BCEL, JBoss Javassist, and Object Web ASM.

본 발명은 상기한 문제점을 해결하기 위하여 안출 된 것으로서, 본 발명의 목적은 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템이 다른 시스템들과 연동 되어 있는 경우, 상기 연동 된 시스템들에게는 부하를 발생시키지 않으면서 오직 테스트 대상 시스템 에게만 부하를 발생시키기 위한 시스템 및 방법을 제공하는 것이다. The present invention has been made to solve the above problems, the object of the present invention when performing a variety of tests, including load test, performance test, functional test, when the test target system is linked with other systems, The interlocked systems provide a system and a method for generating a load only to the system under test without generating a load.

상기의 목적들을 달성하기 위하여 본 발명은, BCI(Byte Code Instrumentation) 프로그램과 시뮬레이터 매니저(Simulator Manager)와 상기 시뮬레이터 매니저에게 사용자 설정정보를 전달하기 위하여 사용하는 JSP(Java Server Page) 프로그램 또는 Servlet 프로그램과 외부 시스템과의 연동을 담당하는 수정된매소드의 처리를 담당하는 시뮬레이터 핸들러(Simulator Handler)를 포함하는 것을 특징으로 한다. In order to achieve the above object, the present invention, a byte code instrumentation (BCI) program, a simulator manager (Simulator Manager) and a JSP (Java Server Page) program or Servlet program used to deliver user configuration information to the simulator manager and It is characterized in that it comprises a simulator handler (Simulator Handler) in charge of the processing of the modified method in charge of interworking with the external system.

상세하게는, BCI 프로그램은 상기 연동 시스템들과의 통신을 담당하는 사용자가 미리 지정한 클래스의 매소드를 수정(Instrument)하는 수단을 포함하고, 시뮬레이터 매니저는 JSP(또는 Servlet)으로부터 사용자가 지정한 대상 클래스 및 매소드 명칭, 프로세스 시간, 매소드 반환 변수 타입, 기본 매소드 반환값, 매소드 입력값과 입력값에 대한 매소드 반환값, 상기 매소드의 원래의 코드에 대한 수행 여부, 상기 외부시스템과 연동을 담당하는 클래스의 매소드의 최대 초당 수행 건수, 상기 초당 최대 수행 건수를 넘었을 경우에 초당 최대 수행 건수를 주기적으로 검사하여 초당 최대 수행 건수 보다 크지 않았음을 검사할 때 사용하는 검사주기, 입력 데이터의 파라미터 타입, 입력데이터의 값에 따라서 반환값을 선택하여 반환 할 수 있는 데이터 파일과 이 데이터파일을 읽어올 수 있는 수단을 포함하며, 시뮬레이터 핸들러는 시뮬레이터 매니저에서 설정된 조건에 따라서 상기 수정(instrument)된 매소드를 처리할 수 있는 수단을 포함하는 것을 특징으로 한다.Specifically, the BCI program includes a means for modifying a method of a class previously designated by a user in charge of communicating with the interworking systems, and the simulator manager includes a target class designated by a user from a JSP (or Servlet) and a user; Method name, process time, method return variable type, default method return value, method input value and method return value for input value, whether or not to perform the original code of the method, method of the class in charge of interworking with the external system The maximum number of executions per second, the inspection cycle used to periodically check the maximum number of executions per second when the maximum number of executions per second is not greater than the maximum number of executions per second, parameter type of input data, input data The data file that can be returned by selecting the return value according to the value of And means for reading the data file, wherein the simulator handler includes means for processing the instrumented method according to a condition set in the simulator manager.

이상에서 상술한 바와 같이 본 발명에 의하면, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 연동된 시스템들에게는 부하를 발생시키지 않고 오직 테스트 대상 시스템에게만 부하를 발생시킴으로써, 연동된 시스템에게는 정상 운영이 가능 하게 하며, 또한 연동된 시스템들의 중요 데이터를 수정시키지 않고 각종 테스트를 수행할수 있다. 또한 BCI프로그램(50)을 사용하는 경우에는 테스트 대상 시스템의 프로그램의 소스(source)를 변경하지 않고 상기 테스트들을 수행하기 위한 방법과 시스템을 제공한다.As described above, according to the present invention, when performing various tests including a load test, a performance test and a functional test, the load is generated only to the test target system without generating a load to the linked systems. The system can be operated normally, and various tests can be performed without modifying important data of interlocked systems. In addition, when using the BCI program 50 provides a method and system for performing the tests without changing the source of the program of the system under test.

본 발명의 바람직한 실시 예를 첨부 도면에 의거 상세히 설명하면 다음과 같 다. 첨부된 도1은 본 발명에 따른 자바가상머신, 시뮬레이터 매니저, 시뮬레이터 핸들러, JSP(Servlet) 프로그램, 입출력(I/O) 데이터 파일, 설정정보, BCI 프로그램, instrument 정보파일, Instrument 대상 클래스 (A.class), Instrument된 대상 클래스의 매소드와 웹브라우저를 이용하여, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템과 연동된 시스템들에게는 부하를 발생 시키지 않고 오로지 상기 테스트 대상 시스템에게만 부하를 발생시킬 수 있는 시스템의 개괄적 구성을 도시한 블록도이다Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a Java virtual machine, a simulator manager, a simulator handler, a JSP (Servlet) program, an input / output (I / O) data file, configuration information, a BCI program, an instrument information file, and an instrument target class (A. class), using methods of instrumented target class and web browser, when performing various tests including load test, performance test, and functional test, the system linked with the system under test does not generate a load. This is a block diagram showing the general configuration of a system that can generate a load only on the system under test.

도1에 도시된 바와 같이, 본 발명에 의한 연동된 시스템에게는 부하를 발생 시키지 않고 오로지 테스트 대상 시스템에게만 부하를 발생시키는 시스템의 전체 구성은 자바가상머신(10)과 시뮬레이터 핸들러(20)와 시뮬레이터 매니저(30)와 입출력(I/O) 데이터파일(31)과 설정정보(32)와 사용자로부터 상기 입출력(I/O) 데이터파일명을 포함한 설정정보(32)를 웹브라우저(70)를 이용하여, 시뮬레이터 매니저(30)에게 전달하는 역할을 하는 JSP(Servlet)프로그램(40)과 연동 시스템(80)들 즉, 데이터베이스 시스템(81), 특정 로직을 처리하는 시스템(82), 외부 연동 시스템(83)과 연동을 담당하는 특정 클래스의 매소드를 Instrument하는 BCI프로그램(50)과 상기 BCI프로그램(50)이 사용하는 Instrument 대상인 특정 클래스와 특정 매소드에 대한 정보 파일(51)과 상기 BCI프로그램(50)의 Instrument대상 클래스 파일(52)과 상기 BCI프로그램(50)이 Instrument한 매소드(53)로 이루어진다. As shown in FIG. 1, the overall configuration of the system that generates a load only on the system under test without generating a load on the interlocked system according to the present invention includes a Java virtual machine 10, a simulator handler 20, and a simulator manager. 30, the input / output (I / O) data file 31 and the setting information 32, and setting information 32 including the name of the input / output (I / O) data file from the user using the web browser 70, JSP (Servlet) program 40 and interworking systems 80 that serve to deliver to the simulator manager 30, that is, the database system 81, a system for processing a specific logic 82, external interworking system 83 The BCI program 50 for instrumenting a method of a specific class in charge of interworking with the information, the information file 51 for a specific class and a specific method targeted by the instrument used by the BCI program 50, and the Instru of the BCI program 50 The ment target class file 52 and the method 53 in which the BCI program 50 is instrumented.

상기 자바가상머신(10)은 J2EE 표준을 지원하며, 상기 JSP(Serlvet) 프로그램(40)은 J2EE 표준을 지원하며, 사용자가 설정하는 조건들을 상기 시뮬레이터 매니저(30)에게 전달하는 수단을 포함하고, 상기 시뮬레이터 매니저(30)는 상기 JSP(Servlet) 프로그램(40)으로부터 사용자 설정 정보를 전달 받아서 상기 설정정보(32)에 저장 및 조회하는 수단과 상기 사용자 설정 정보(32) 중에서 입출력(I/O) 데이터파일(31)에 대한 조회 수단을 포함하고, 상기 시뮬레이터 핸들러(20)는 상기 시뮬레이터 매니저(30)를 이용하여 사용자가 설정한 설정정보(32) 및 입출력(I/O)데이터파일(31)을 조회하는 수단과 상기 사용자가 설정한 정보(32)에 따라서 처리하는 수단을 포함하고, 상기 BCI프로그램(50)은 자바 클래스에 대한 Instrument 수단과, 상기 Instruemt 정보파일(51)에 따라서 대상 클래스의 매소드(52)를 instrument할 수단을 포함한다. The Java virtual machine 10 supports the J2EE standard, the JSP (Serlvet) program 40 supports the J2EE standard, and includes means for conveying conditions set by the user to the simulator manager 30, The simulator manager 30 receives user setting information from the JSP (Servlet) program 40 and stores and stores the user setting information in the setting information 32 and input / output (I / O) among the user setting information 32. A query means for the data file 31, wherein the simulator handler 20 uses the simulator manager 30 to set setting information 32 and input / output (I / O) data files 31 set by the user. Means for retrieving the data, and means for processing according to the information 32 set by the user, wherein the BCI program 50 includes the instrument means for the Java class and the target class according to the Instruemt information file 51.And it means to instrument the sword 52.

도1을 이용하여 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템과 연동된 시스템들에게는 부하를 발생시키지 않고, 오직 테스트 대상 시스템에게만 부하를 발생시키는 방법을 자세히 설명하면, 사용자는 Instrument 정보파일(51)에 instrument 대상 클래스에 대한 정보를 기술하면 BCI프로그램(50)은 ① 상기 Instrument 정보파일(51)을 참조하여 ② Instrument 대상 클래스(52)를 자바가상머신에 로딩(loading)할때 ③ 상기 Instrument 대상 클래스(52)의 매소드를 수정(instrument)하여 자바가상머신(10)에 로딩한다. ④ 사용자는 웹브라우저(70)를 포함하는 HTTP 통신을 지원하는 프로그램을 이용하여 사용자 설정정보를 JSP(Servlet)프로그램(40)에게 전달한다. ⑤ JSP(Servlet)(40)프로그램은 상기 전달 받은 사용자 설정정보를 시뮬레이터메니저(30)에게 전달한다. ⑥ 시뮬레이터 매니저(30)는 상기 전달받은 설정 정보를 설정정보(32) 데이터 구조에 저장한다. ⑦ 한편, 부하를 발생시키는 클라이언트 프로그램(60)은 웹애플리케이션(61)을 요청하여Instrument 된 클래스의 매소드(53)를 수행하게 한다. ⑧ 상기 호출받은 매소드(53)는 instrument 되기 이전의 원래의 코드를 실행하지 않고, 시뮬레이터 핸들러(20)를 이용하여 ⑨ 시뮬레이터 매니저(30)와 사용자가 기설정한 설정정보(32)에 따라서 수행을 하며, ⑩ 특히, 상기 매소드(53)의 처리 방식이 입출력(I/O) 데이터 파일(31)에 따라서 처리하도록 설정된 경우, 입출력(I/O)데이터 파일(31)을 참조하여 처리한다. ⑪ 웹애플리케이션(61)은 상기 요청된 매소드(53)의 처리결과를 받아서 부하를 생성한 클라이언트 프로그램(60)에게 결과를 전달한다. ⑫ 이때, instrument 된 매소드의 원래의 매소드에서 요청했던 연동 시스템과의 통신은 상기 설정정보(32)에 따라서 처리한다.When performing various tests including a load test, a performance test, and a functional test using FIG. 1, a method of generating a load only on the test target system without generating a load on the systems connected to the test target system in detail. In other words, when the user describes the information on the instrument target class in the instrument information file 51, the BCI program 50 may refer to the instrument information file 51 and the instrument class 52 to the Java virtual machine. When loading ③ The method of the Instrument target class 52 is modified to load the Java virtual machine 10. ④ The user transfers user setting information to the JSP (Servlet) program 40 by using a program that supports HTTP communication including a web browser 70. ⑤ The JSP (Servlet) 40 program delivers the received user setting information to the simulator manager 30. ⑥ The simulator manager 30 stores the received setting information in the setting information 32 data structure. ⑦ Meanwhile, the client program 60 generating the load requests the web application 61 to perform the method 53 of the instrumented class. ⑧ The called method 53 does not execute the original code before being instrumented, but uses the simulator handler 20 to perform the execution according to the simulator manager 30 and setting information 32 preset by the user. In particular, when the processing method of the method 53 is set to process according to the input / output (I / O) data file 31, the processing is referred to with reference to the input / output (I / O) data file 31. The web application 61 receives the processing result of the requested method 53 and delivers the result to the client program 60 that generates the load. ⑫ At this time, communication with the interworking system requested in the original method of the instrumented method is processed according to the setting information 32.

도2를 이용하여, 사용자가 웹브라우저(70)와 JSP(Servlet)프로그램(40)을 이용하여 시뮬레이터 매니저(30)에게 설정정보(32)를 설정하는 방법을 자세히 설명하면, 사용자가 JSP(Servlet)프로그램(40)에게 전달하는 query string의 내역을 자세히 설명하면 다음과 같다.Referring to FIG. 2, a method in which the user sets the setting information 32 to the simulator manager 30 using the web browser 70 and the JSP (Servlet) program 40 will be described in detail. The details of the query string delivered to the program 40 are as follows.

method_name(321)에 instrument대상 클래스와 매소드 이름을 전달한다. 예를들면 com.strbus 패키지의 Manager클래스의 doTest 매소드를 설정하는 경우에 com.strobus.Manager.doTest라고 설정하고, ASP의 경우에는 프로그램명.매소드명으로 전달한다. i_type(322)에 상기 매소드의 파라미터 타입을 전달하여 대상 매소드 의 입력 파라미터 타입을 설정한다. 즉, 상기 입력 파라미터 타입은 string, int, long, byte, float, char, void를 포함하는 자바의 기본타입과 상기 기본타입의 배열을 지원한다. 여기서 배열의 차원은 []의 개수로 설정하며, 예를 들면 int[][][]이면 정수타입의 3차원 배열을 의미한다. o_type(323)에 상기 대상 매소드의 반환 타입을 설정하며 내용은 상기 전술한 i_type(322)과 동일한 방법으로 설정한다. io_mehthod(324)에 상기 매소드의 처리 방식 중 입력데이터에 대한 반환데이터의 선택방법을 기생성된 입출력(I/O)데이터 파일(31)에 따라서 처리할 것인지, JSP(Servlet)프로그램(40)으로 설정한 값들을 이용하여 처리할 것인지 방법을 설정한다. 설정 값은 file 또는 value의 값으로 설정하며, file인 경우에 입출력(I/O) 데이터파일(31)에 따라서 처리하고, value인 경우에 후술할 i_vlaue(325)와 o_value(326)와 o_value_default(327)에 따라서 처리한다. o_value_default(327)에 기본 반환 값을 설정하며, i_value(325)에 입력 값에 만족하는 입력 파라미터 값이 입력되었을때는 o_value(326)에 설정된 값을 반환한다. i_vlaue(325)와 o_value(326)와 o_value_default(327)의 사용은 상기 전술한 io_method의 값이 value로 설정된 경우에만 사용된다. i_vlaue(325)와 o_value(326)의 설정 값에 대한 처리방식을 예를 들어 자세히 설명하면, i_value=*가 설정되고 o_value=1이 설정된 경우에 상기 매소드(53)를 호출할 때 입력 값에 관계없이 반환 값을 모두 1로 하라는 설정이고, o_value_default=-1이고, i_value=1가 설정되고 o_value=2가 설정된 경우에 상기 매소드(53)를 호출할 때 입력 값이 1인 경우만 2로 반환하고 나머지 모든 경우에 대해서는 -1을 반환하라는 설정이다. io_data_file(328)은 상기 전술한 io_method(324)에 file로 설정된 경우에 사용되며, 여기에 설정된 파일명을 시뮬레이터 매니저(30)가 읽어와서 시뮬레이터 핸들러(20)에게 전달하여 설정정보(32)에 따라서 처리한다. process_time(329)에 설정된 값에 따라서 상기 매소드(53)의 처리 시간이 결정된다. 시뮬레이터 핸들러(20)는 상기 설정된 처리시간이 흐르면 상기 설정된 반환값을 반환한다. max_tps(32A)에는 상기 매소드(53)의 최대 초당 처리건수가 설정되며, 시뮬레이터 핸들러(20)는 상기 매소드(53)의 초당 처리건수가 max_tps보다 커지게 되면 lookup_unit_time(32B)에 설정된 시간을 주기로 하여 주기적으로 상기 매소드(53)의 초당 처리 건수를 검사하여 max_tps보다 적어진 경우에 처리하도록 한다. process_origin(32C)에 y 또는 n값을 설정하며, 시뮬레이터 핸들러(20)는 이 값이 y인 경우에는 상기 매소드(53)의 원래 코드를 실행한 후에 사용자가 설정한 설정정보(32)에 따라서 처리하며, n 인 경우에는 상기 매소드(53)의 원래의 코드는 실행하지 않고 사용자가 설정한 설정정보(32)에 따라서 처리한다.Pass the instrument target class and method name to method_name (321). For example, to set the doTest method of the Manager class in the com.strbus package, set com.strobus.Manager.doTest, and in the case of ASP, pass it as the program name and method name. The parameter type of the method is transmitted to i_type 322 to set the input parameter type of the target method. That is, the input parameter type supports Java primitive types including string, int, long, byte, float, char, and void, and an array of primitive types. Here, the dimension of the array is set by the number of []. For example, int [] [] [] means a three-dimensional array of integer types. The return type of the target method is set in o_type 323 and the contents are set in the same manner as in the aforementioned i_type 322. io_mehthod (324) to process the selection method of the return data for the input data of the method in accordance with the pre-generated input / output (I / O) data file 31, JSP (Servlet) program (40) Set whether to process using the set values. The setting value is set to the value of file or value, and in the case of file, it is processed according to the input / output (I / O) data file 31, and in case of value, i_vlaue 325, o_value (326) and o_value_default ( 327). A default return value is set in o_value_default (327). When an input parameter value satisfying the input value is input in i_value (325), the value set in o_value (326) is returned. The use of i_vlaue 325, o_value 326 and o_value_default 327 is used only when the above-mentioned value of io_method is set to value. For example, the processing of the set values of the i_vlaue 325 and the o_value 326 will be described in detail. When i_value = * is set and o_value = 1 is set, the method 53 is related to the input value when the method 53 is called. If the return value is set to 1, o_value_default = -1, i_value = 1 is set, and o_value = 2 is set, when the method 53 is called, it returns 2 only if the input value is 1. In all other cases, the setting returns -1. The io_data_file 328 is used when the above-described io_method 324 is set to file. The file name set by the io_data_file 328 is read by the simulator manager 30 and transferred to the simulator handler 20 to be processed according to the setting information 32. do. The processing time of the method 53 is determined according to the value set in the process_time 329. The simulator handler 20 returns the set return value when the set processing time passes. The max_tps 32A is set to the maximum number of processes per second of the method 53, and the simulator handler 20 performs the time set in the lookup_unit_time 32B when the number of processes per second of the method 53 becomes larger than max_tps. Periodically, the number of processes per second of the method 53 is checked to process when the number is less than max_tps. A value of y or n is set in process_origin 32C, and if this value is y, the simulator handler 20 executes the process according to the setting information 32 set by the user after executing the original code of the method 53. In the case of n, the original code of the method 53 is not executed but is processed according to the setting information 32 set by the user.

도3을 이용하여, 상기 시뮬레이터 핸들러(20)가 상기 설정정보(32) 중에서 io_method(324)의 값이 file로 설정된 경우에 io_data_file(328)에 저장된 입력 값과 반환 값의 정보에 따라서 처리하는 방법을 자세히 설명하면,3, when the simulator handler 20 processes the value of the input value and the return value stored in the io_data_file 328 when the value of the io_method 324 is set to file among the setting information 32. In more detail,

입출력(I/O) 데이터 파일(31)은 탭(tab)문자 또는 콤마(comma)문자를 구분자로 사용하는 파일이며, 첫 번째 행(311)에는 입력파라미터와 반환 파라미터를 구분하는 값들을 저장한다. 상세하게는 입력파라미터가 k개 존재하는 경우에 I1,I2,I3, … , Ik와 같이 설정하며 출력 파라미터는 O 한 개로 설정한다. 두 번째 행(312)의 경우를 설명하면, 입력 데이터 값에 관계 없이 모든 반환데이터를 1로 하라는 설정이다. 3번째 행(313)의 경우를 설명하면, 1번째 입력 파라미터 값이 1, 2 번째 입력 파라미터 값이 2, k 번째 입력 파라미터 값이 3인 경우에 ‘가’를 반환하라는 설정이다. 4번째 행(314)의 경우를 설명하면, 1번째 입력 파라미터 값이 4, 2 번째 입력 파라미터 값이 5, k 번째 입력 파라미터 값이 6인 경우에 ‘A’를 반환하라는 설정이다. 도3의 경우 3번째(313), 4번째(314) 행의 입력 파라미터 값을 만족하지 않는 나머지 모든 경우는 2번째(312) 행의 조건에 따라서 처리하라는 설정이다.Input / output (I / O) data file 31 is a file using a tab character or a comma character as a delimiter, and the first line 311 stores values distinguishing input parameters and return parameters. . Specifically, when there are k input parameters, I1, I2, I3,... , Ik and set it as one output parameter. In the case of the second row 312, it is set to set all return data to 1 regardless of the input data value. In the case of the third row 313, when the first input parameter value is 1, the second input parameter value is 2, and the kth input parameter value is 3, the setting returns 'a'. Referring to the case of the fourth row 314, the setting returns 'A' when the first input parameter value is 4, the second input parameter value is 5, and the kth input parameter value is 6. In the case of Fig. 3, all other cases that do not satisfy the input parameter values of the third (313) and fourth (314) rows are set to be processed according to the conditions of the second (312) rows.

상기 입력 파라미터와 반환 파라미터의 값이 배열의 경우, 데이터 값을 설정하는 방법에 대하여 상세히 설명하면 배열이 아닌 경우는 상기 전술한 바와 같고 배열의 경우는 괄호’{}’ 문자와 콤마(comma)문자를 이용하여 설정한다. int[]로 표현되는 정수 1차원 배열을 예로 들어 설명하면 {1,2,3}로 사용하여 int[3]을 표현하고, int[][]로 표현되는 정수 2차원 배열은 {{1,2,3},{1,2,3}}으로 사용하여 int[2][3]을 표현한다. 나머지 타입들도 동일한 방법으로 배열을 표현한다.In the case where the values of the input parameter and the return parameter are arrays, a method of setting data values is described in detail as described above in the case of non-arrays, and in the case of arrays, the parenthesis '{}' character and the comma character. Use to set. For example, an integer one-dimensional array represented by int [] is used as {1,2,3} to represent int [3], and an integer two-dimensional array represented by int [] [] is represented by {{1, 2,3}, {1,2,3}} to represent int [2] [3]. The other types represent arrays in the same way.

이와 같은 방법을 이용하여, 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트에서 연동된 시스템들에게는 부하를 발생시키지 않으면서, 테스트 대상 시스템 에게만 부하를 발생시킬 수 있다. 또한 max_tps(31A)를 이용하여 연동된 시스템들의 최대 성능을 시뮬레이트(simulate)할 수 있게 하여 더욱 실제 상황에 근접한 각종 테스트를 수행할 수 있다.Using this method, loads can be generated only on the system under test without generating loads on the interlocked systems in various tests including load tests, performance tests, and functional tests. In addition, the max_tps 31A can be used to simulate the maximum performance of the interlocked systems so that various tests closer to the actual situation can be performed.

본 발명은 전술한 실시 예에만 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 적용하여 실시할 수가 있다. 예를 들면 상기 자바가상머 신(10) 뿐만 아니라 컴파일된 코드(Byte Code 또는 의사 바이트 코드)를 사용하며 이 코드를 수정하여 특정 매소드의 수행 코드를 변경할 수 있는 수단이 있다면, 자바가상머신 이외의 바이트 코드 기반의 시스템에도 적용할 수 있으며, 또한 ASP(마이크로소프트의 Active Server Page)와 같이 스크립트(script)기반의 언어로 이루어진 경우에도 BCI프로그램(50) 을 사용하지 않고 사용자가 직접 해당 프로그램(52)을 직접 수정하고, 사용자가 설정정보(32)를 시뮬레이터 매니저(30)에게 전달할 때 ASP를 이용하여 전달하게 하여 동일하게 적용이 가능하다. 또한, 연동 시스템의 통신 프로토콜에 관계없이 적용이 가능하다.The present invention is not limited to the above-described embodiments, but can be applied in various ways within the scope of the technical idea of the present invention. For example, if the Java virtual machine 10, as well as the compiled code (Byte Code or pseudo byte code) is used and there is a means to modify the code to change the execution code of a particular method, other than the Java virtual machine It can be applied to byte code-based systems, and even in script-based languages such as ASP (Microsoft's Active Server Page), users can use the program directly without using BCI program 50. ) Directly, and when the user delivers the setting information 32 to the simulator manager 30, it is possible to apply the same by using the ASP. In addition, it is possible to apply regardless of the communication protocol of the interlocking system.

도1은 본 발명에 따른 BCI 프로그램, 시뮬레이터 매니저, 시뮬레이터 핸들러, JSP(또는 Servlet), 입출력(I/O) 데이터파일, 설정정보를 이용하여, 연동된 데이터베이스 시스템, 외부 시스템, 특정 로직을 수행하는 별도의 시스템에는 부하를 주지 않고, 오직 대상 자바 시스템에만 부하를 발생시킬 수 있는 시스템의 개괄적 구성을 도시한 블록도이다.1 is a diagram illustrating a linked database system, an external system, and specific logic using a BCI program, a simulator manager, a simulator handler, a JSP (or servlet), an input / output (I / O) data file, and configuration information according to the present invention. It is a block diagram showing a general configuration of a system that can generate a load only on a target Java system without putting a load on a separate system.

< 도면의 주요 부분에 대한 부호의 설명 > <Description of Symbols for Main Parts of Drawings>

10. 자바가상머신(자바 Virtual Machine)10. Java Virtual Machine

20. 시뮬레이터 핸들러(Simulator Handler)20. Simulator Handler

30. 시뮬레이터 매니저(Simulator Manager)30. Simulator Manager

31. 입출력(I/O) 데이터파일 32. 설정 정보31 I / O Data File 32. Configuration Information

40. JSP(또는 Servlet)프로그램 또는 ASP 프로그램40. JSP (or Servlet) program or ASP program

50. BCI(Byte Code Instrumentation) 프로그램50. Byte Code Instrumentation Program

51. Instrument 정보파일 51.Instrument Information File

52. Instrument 대상 클래스52. Instrument target class

53.수정(Instrument)된 매소드53.Instrumented Methods

60. 클라이언트 프로그램60. Client Program

61. 웹애플리케이션61. Web Applications

70. 웹브라우저70. Web browser

80. 연동시스템80. Interlock system

81. 데이터베이스 시스템81. Database system

82. 특정 로직을 처리하는 시스템82. Systems Handling Specific Logic

83. 외부 시스템83. External Systems

도2는 본 발명에 따른 시뮬레이터 매니저가 사용자로부터 JSP(또는 Servlet) 프로그램을 이용하여 전달받는 설정 정보에 대하여 설명한 그림이다.2 is a diagram illustrating configuration information received by a simulator manager from a user using a JSP (or servlet) program according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

32. 사용자 설정 데이터 정보(JSP, Servlet 또는 ASP로 전달받는다)32. User configuration data information (received by JSP, Servlet or ASP)

321. Instrument 대상 클래스 및 매소드의 이름321. Name of Instrument target class and method

322. Instrumet 대상 매소드의 입력 파라미터 타입322. Input Parameter Types of Instrumet Target Methods

323. Instrument 대상 매소드의 반환 데이터 타입323. Return Data Types of Instrument Target Methods

324. Instrument 대상 매소드의 입력값에 대한 반환값을 선택하는 정책324. Policies to Select Return Values for Inputs to Instrument Target Methods

325. Instrument 대상 매소드의 입력값325. Input Value of Instrument Target Method

326. Instrument 대상 매소드의 반환값326. Return Values of Instrument Target Methods

327. Instrument 대상 매소드의 기본 반환값327. Default Return Value of Instrument Target Method

328. Instrument 대상 매소드의 입출력(I/O)정책이 파일인 경우 사용할 입출력(I/O) 데이터 파일이름328. I / O data file name to be used when I / O policy of instrument target method is file

329. Instrument 된 매소드의 가상 처리 시간329. Virtual Processing Time for Instrumented Methods

32A. Instrument 된 매소드의 최대 초당 처리 건수32A. Maximum number of operations per second for instrumented methods

32B. Instrument 된 매소드의 max_tps를 검사할 때 사용하는 주기32B. The cycle to use when checking max_tps on instrumented methods

32C. Instrument 대상 매소드의 원래 코드 실행 여부32C. Whether to run the original code of the Instrument target method

도3은 본 발명에 따른 시뮬레이터 핸들러가 Instrumented 매소드를 처리할 때 사용하는 매소드의 입력, 반환 데이터 정보 파일을 표현한 그림이다.FIG. 3 is a diagram representing input and return data information files of methods used by a simulator handler in processing an instrumented method according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

31. 입출력(I/O) 데이터파일 (아래행의 조건이 윗행의 조건에 우선한다)31. I / O data file (lower line conditions take precedence over upper line conditions)

311. 입력, 반환 파라미터 구분행 (I1:1번째 입력파라미터, O:반환)311.Separation line for input and return parameters (I1: 1th input parameter, O: return)

312. 입력값의 값에 관계없이 동일한 반환값 설정312. Setting the same return value regardless of the value of the input

313. 입력값에 대한 반환값 설정313. Set return value for input value

314. 입력값에 대한 반환값 설정314. Set return value for input

Claims (4)

부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템과 연동된 시스템들에게는 부하를 생성하지 않고, 오직 테스트 대상 시스템에게만 부하를 생성하는 방법으로서,When performing various tests including a load test, a performance test, and a functional test, a method of generating a load only on the test target system without generating a load on the systems connected to the test target system, BCI프로그램을 이용하여, 기설정된 Instrument 정보를 이용하여 연동 시스템들과 통신하는 대상 클래스의 매소드를 수정(instrument)하여 사용자가 기설정한 코드가 수행되도록 하는 단계와,Using a BCI program, modifying a method of a target class that communicates with interworking systems using predetermined instrument information so that a user preset code is executed; 웹브라우저와 JSP(또는 Servlet)프로그램을 이용하여 사용자 설정 정보를 시뮬레이터 매니저에게 전달하는 단계와,Delivering user setting information to a simulator manager using a web browser and a JSP (or Servlet) program; 상기 시뮬레이터 매니저가 전달받은 설정정보를 저장하는 단계와,Storing setting information received by the simulator manager; 클라이언트 프로그램을 이용하여, 테스트 대상 시스템의 웹애플리케이션에게 상기 각종 테스트를 수행하는 단계와,Using the client program, performing the various tests on the web application of the system under test; 상기 웹애플리케이션이 연동시스템과의 통신을 위하여 상기 instrument된 클래스의 매소드를 호출하는 단계와,The web application invoking a method of the instrumented class for communication with a coordinated system; 상기 instrument된 클래스의 매소드가 원래의 코드를 수행하지 않고, 대신 수정(instrument)된 코드를 수행하는 단계와,The method of the instrumented class does not execute the original code, but instead executes the modified code; 상기 수정(instrument)된 코드를 수행할 때, 시뮬레이터 핸들러를 이용하여 상기 설정된 설정정보에 따라서 처리하는 단계와,When executing the modified code, processing the simulator according to the set configuration information using a simulator handler; 상기 설정된 설정정보에 따라서 처리할 때When processing according to the set setting information (가) 상기 수정된 매소드의 처리시간을 보장하는 단계와,(A) ensuring the processing time of the modified method; (나) 상기 수정된 매소드의 초당 최대 처리건수를 보장하는 단계와,(B) ensuring a maximum number of treatments per second of the modified method; (다) 상기 수정된 매소드의 초당 최대 처리건수를 검사하는데 사용하는 주기 시간을 사용하는 단계와,(C) using the cycle time used to examine the maximum number of treatments per second of the modified method; (라) 상기 수정된 매소드의 데이터를 반환할 때, 설정값과 별도의 입출력(I/O)데이터파일의 내용에 따라서 반환하는 방법중에 선택하여 처리하는 단계와,(D) selecting and processing a method for returning the modified method data according to a setting value and the contents of an input / output (I / O) data file separate from the method; (마) 상기 수정된 매소드의 데이터를 반환할 때 설정값에 따라서 반환하도록 설정된 경우, 반환 데이터의 기본값, 특정 입력값에 대한 및 반환 데이터 값을 처리하는 단계와,(E) if it is set to return according to a setting value when returning the data of the modified method, processing the default value of return data, a specific input value, and a return data value; (바) 상기 수정된 매소드의 데이터를 반환할 때 별도의 입출력(I/O) 데이터 파일에 설정된 값에 따라서 반환하도록 설정된 경우, 상기 별도의 입출력(I/O) 데이터 파일을 읽어와서 설정된 값에 따라서 반환 데이터 값을 처리하는 단계와,(F) When the data of the modified method is set to return according to the value set in the separate I / O data file, the separate I / O data file is read to the set value. Therefore, processing the return data value (사) 상기 수정된 매소드의 수정(instrument)되기 전 원래의 코드에 대한 실행여부에 따라서 처리하는 단계와,(G) processing according to the execution of the original code before the modified method is instrumented, 상기 수정된 매소드가 (가)내지 (사)의 각 단계에 따라서 처리된 데이터를 상기 웹애플리케이션에게 반환하여 최종응답 데이터가 부하를 발생시킨 상기 클라이언트 프로그램에게 전달되는 단계를 Returning the processed data to the web application according to each step of (a) to (g) so that the final response data is delivered to the client program generating the load. 포함하는 것을 특징으로 하는, 연동된 시스템들에게는 부하를 발생시키지 않고, 오직 테스트 대상 시스템 에게만 부하를 발생시키는 방법A method of generating a load only on a system under test without generating a load on interlocked systems 부하테스트, 성능테스트, 기능테스트를 포함하는 각종 테스트를 수행할 때, 테스트 대상 시스템과 연동된 시스템들에게는 부하를 생성하지 않고, 오직 테스트 대상 시스템에게만 부하를 생성하는 방법으로서,When performing various tests including a load test, a performance test, and a functional test, a method of generating a load only on the test target system without generating a load on the systems connected to the test target system, 테스트 대상 시스템이 ASP(마이크로소프트 Active Server Page)로 개발된 경우, 연동 시스템들과 통신하는 ASP 프로그램의 매소드를 직접 수정하여, 상기 매소드의 원래의 코드 대신에 사용자가 기설정한 코드가 수행되도록 하는 단계와,If the system under test is developed as a Microsoft Active Server Page (ASP), the method of the ASP program communicating with the interworking systems is directly modified so that the user-defined code is executed instead of the original code of the method. Steps, 웹브라우저와 ASP프로그램을 이용하여 사용자 설정 정보를 시뮬레이터 매니저에게 전달하는 단계와,Delivering user setting information to a simulator manager using a web browser and an ASP program; 상기 시뮬레이터 매니저는 전달받은 설정정보를 저장하는 단계와,The simulator manager storing the received setting information; 클라이언트 프로그램을 이용하여, 테스트 대상 시스템의 웹애플리케이션(ASP)에게 상기 각종 테스트를 수행하는 단계와,Performing the various tests on a web application (ASP) of a system under test using a client program, 상기 웹애플리케이션이 연동시스템과의 통신을 위하여 상기 수정된 ASP 프로그램의 매소드를 호출하는 단계와,Calling, by the web application, a method of the modified ASP program for communication with a coordinated system; 상기 수정된 ASP 프로그램의 매소드가 원래의 코드를 수행하지 않고, 대신 수정된 코드를 수행하는 단계와,The method of the modified ASP program does not execute the original code, but instead executes the modified code, 상기 수정된 코드를 수행할 때, 시뮬레이터 핸들러를 이용하여 상기 설정된 설정정보에 따라서 처리하는 단계와,Processing the modified code according to the set configuration information using a simulator handler; 상기 설정된 설정정보에 따라서 처리할 때When processing according to the set setting information (가) 상기 수정된 매소드의 처리시간을 보장하는 단계와,(A) ensuring the processing time of the modified method; (나) 상기 수정된 매소드의 초당 최대 처리건수를 보장하는 단계와,(B) ensuring a maximum number of treatments per second of the modified method; (다) 상기 수정된 매소드의 초당 최대 처리건수를 검사하는데 사용하는 주기 시간을 사용하는 단계와,(C) using the cycle time used to examine the maximum number of treatments per second of the modified method; (라) 상기 수정된 매소드의 데이터를 반환할 때, 설정값과 별도의 입출력(I/O)데이터파일의 내용에 따라서 반환하는 방법중에 선택하여 처리하는 단계와,(D) selecting and processing a method for returning the modified method data according to a setting value and the contents of an input / output (I / O) data file separate from the method; (마) 상기 수정된 매소드의 데이터를 반환할 때 설정값에 따라서 반환하도록 설정된 경우, 반환 데이터의 기본값, 특정 입력값에 대한 및 반환 데이터 값을 처리하는 단계와,(E) if it is set to return according to a setting value when returning the data of the modified method, processing the default value of return data, a specific input value, and a return data value; (바) 상기 수정된 매소드의 데이터를 반환할 때 별도의 입출력(I/O) 데이터 파일에 설정된 값에 따라서 반환하도록 설정된 경우, 상기 별도의 입출력(I/O) 데이터 파일을 읽어와서 설정된 값에 따라서 반환 데이터 값을 처리하는 단계와,(F) When the data of the modified method is set to return according to the value set in the separate I / O data file, the separate I / O data file is read to the set value. Therefore, processing the return data value 상기 수정된 매소드가 (가)내지 (바)의 각 단계에 따라서 처리된 데이터를 상기 웹애플리케이션(ASP)에게 반환하여 최종응답 데이터가 부하를 발생시킨 상기 클라이언트 프로그램에게 전달되는 단계를 The modified method returns data processed according to each step of (a) to (bar) to the web application (ASP) so that the final response data is delivered to the client program generating the load. 포함하는 것을 특징으로 하는, 연동된 시스템들에게는 부하를 발생시키지 않고, 오직 테스트 대상 시스템 에게만 부하를 발생시키는 방법A method of generating a load only on a system under test without generating a load on interlocked systems 시뮬레이터 핸들러(20)와 시뮬레이터 매니저(30)와 JSP(Servlet)프로그램(40) 과 BCI프로그램(50)을 포함하고,Including a simulator handler 20, a simulator manager 30, a JSP (Servlet) program 40, and a BCI program 50, 상기 BCI프로그램(50)은 사용자가 기설정한 Instrument 정보파일(51)의 내용에 따라서 instrument 대상 클래스(52)를 로딩(loading)하여, 대상 매소드를 수정(instrument)하여 상기 매소드의 원래의 코드 대신에 기설정된 코드를 수행할 수 있게 하는 수단을 포함하고,The BCI program 50 loads the instrument target class 52 according to the contents of the Instrument information file 51 set by the user, and modifies the target method to replace the original code of the method. Means for enabling the execution of predetermined code in 상기 JSP(Servlet)프로그램(40)은 사용자로부터 설정정보(32)를 상기 시뮬레이터 매니저(30)에게 전달하는 수단을 포함하고,The JSP (Servlet) program 40 includes means for transferring setting information 32 from the user to the simulator manager 30, 상기 시뮬레이터 매니저(30)는 The simulator manager 30 (가) 상기 JSP(Servlet)프로그램(40)으로부터 사용자 설정정보(32)를 전달 받아서 저장하는 수단을 포함하고(A) means for receiving and storing the user setting information 32 from the JSP (Servlet) program 40, (나) 상기 시뮬레이터 핸들러가 설정정보(32)를 이용하여 수정(instrument)된 매소드를 처리할 때, 입출력(I/O) 데이터파일(31)을 읽어서 해독할 수 있는 수단을 포함하고,(B) means for reading and decoding the input / output (I / O) data file 31 when the simulator handler processes the instrumented method using the setting information 32, 상기 시뮬레이터 핸들러(20)는 웹애플리케이션(61)이 클라이언트 프로그램(60)으로부터 부하를 받아서 수정된 매소드(53)를 요청하였을 때, 상기 설정정보(32)에 따라서, 상기 시뮬레이터 매니저(30)를 이용하여The simulator handler 20 uses the simulator manager 30 according to the configuration information 32 when the web application 61 receives a load from the client program 60 and requests a modified method 53. So (가) 상기 수정된 매소드의 처리시간을 보장하는 수단과,(A) means for ensuring the processing time of the modified method; (나) 상기 수정된 매소드의 초당 최대 처리건수를 보장하는 수단과,(B) means for ensuring the maximum number of treatments per second of the modified method; (다) 상기 수정된 매소드의 초당 최대 처리건수를 검사하는데 사용하는 주기 시간을 사용하는 수단과,(C) means for using the cycle time used to examine the maximum number of treatments per second of the modified method; (라) 상기 수정된 매소드의 데이터를 반환할 때, 설정값과 별도의 입출력(I/O)데이터파일의 내용에 따라서 반환하는 방법중에 선택하여 처리하는 수단과,(D) means for processing by selecting from among methods for returning according to the setting value and the contents of an input / output (I / O) data file when returning the modified method data; (마) 상기 수정된 매소드의 데이터를 반환할 때 설정값에 따라서 반환하도록 설정된 경우, 반환 데이터의 기본값, 특정 입력값에 대한 및 반환 데이터 값을 처리하는 수단과,(E) a means for processing the default value of the return data, a specific input value, and a return data value when the modified method is set to return according to a setting value when returning the data of the modified method; (바) 상기 수정된 매소드의 데이터를 반환할 때 별도의 입출력(I/O) 데이터 파일에 설정된 값에 따라서 반환하도록 설정된 경우, 상기 별도의 입출력(I/O) 데이터 파일을 읽어와서 설정된 값에 따라서 반환 데이터 값을 처리하는 수단과,(F) When the data of the modified method is set to return according to the value set in the separate I / O data file, the separate I / O data file is read to the set value. Thus means for handling the return data value, (사) 상기 수정된 매소드의 수정(instrument)되기 전 원래의 코드에 대한 실행여부에 따라서 처리하는 수단을(G) a means for processing in accordance with the execution of the original code prior to instrumentation of the modified method; 포함하는 것을 특징으로 하는, 연동된 시스템들에게는 부하를 발생시키지 않고, 오직 테스트 대상 시스템 에게만 부하를 발생시키는 수 있는 시스템A system capable of generating a load only on the system under test, without generating a load on interlocked systems, including 시뮬레이터 핸들러(20)와 시뮬레이터 매니저(30)와 ASP프로그램(40)을 포함 하고,Including a simulator handler 20, a simulator manager 30, and an ASP program 40, 상기 ASP프로그램(40)은 사용자로부터 설정정보(32)를 상기 시뮬레이터 매니저(30)에게 전달하는 수단을 포함하고,The ASP program 40 includes means for transferring setting information 32 from the user to the simulator manager 30, 상기 시뮬레이터 매니저(30)는 The simulator manager 30 (가) 상기 ASP프로그램(40)으로부터 사용자 설정정보(32)를 전달 받아서 저장하는 수단을 포함하고(A) means for receiving and storing the user setting information 32 from the ASP program 40, (나) 상기 시뮬레이터 핸들러가 설정정보(32)를 이용하여 사용자가 직접 수정한 매소드를 처리할 때, 입출력(I/O)데이터파일(31)을 읽어서 해독할 수 있는 수단을 포함하고,(B) means for reading and decoding the input / output (I / O) data file 31 when the simulator handler processes the method directly modified by the user using the setting information 32, 상기 시뮬레이터 핸들러(20)는 웹애플리케이션(61)이 클라이언트 프로그램(60)으로부터 부하를 받아서 수정된 매소드(53)를 요청하였을 때, 상기 설정정보(32)에 따라서, 상기 시뮬레이터 매니저(30)를 이용하여The simulator handler 20 uses the simulator manager 30 according to the configuration information 32 when the web application 61 receives a load from the client program 60 and requests a modified method 53. So (가) 상기 수정된 매소드의 처리시간을 보장하는 수단과,(A) means for ensuring the processing time of the modified method; (나) 상기 수정된 매소드의 초당 최대 처리건수를 보장하는 수단과,(B) means for ensuring the maximum number of treatments per second of the modified method; (다) 상기 수정된 매소드의 초당 최대 처리건수를 검사하는데 사용하는 주기 시간을 사용하는 수단과,(C) means for using the cycle time used to examine the maximum number of treatments per second of the modified method; (라) 상기 수정된 매소드의 데이터를 반환할 때, 설정값과 별도의 입출력(I/O)데이터파일의 내용에 따라서 반환하는 방법중에 선택하여 처리하는 수단과,(D) means for processing by selecting from among methods for returning according to the setting value and the contents of an input / output (I / O) data file when returning the modified method data; (마) 상기 수정된 매소드의 데이터를 반환할 때 설정값에 따라서 반환하도록 설정된 경우, 반환 데이터의 기본값, 특정 입력값에 대한 및 반환 데이터 값을 처리하는 수단과,(E) a means for processing the default value of the return data, a specific input value, and a return data value when the modified method is set to return according to a setting value when returning the data of the modified method; (바) 상기 수정된 매소드의 데이터를 반환할 때 별도의 입출력(I/O) 데이터 파일에 설정된 값에 따라서 반환하도록 설정된 경우, 상기 별도의 입출력(I/O) 데이터 파일을 읽어와서 설정된 값에 따라서 반환 데이터 값을 처리하는 수단을(F) When the data of the modified method is set to return according to the value set in the separate I / O data file, the separate I / O data file is read to the set value. Therefore, the means of handling the return data value 포함하는 것을 특징으로 하는 Characterized in that it comprises 연동된 시스템들에게는 부하를 발생시키지 않고, 오직 테스트 대상 시스템에게만 부하를 발생시키는 수 있는 시스템A system that can generate a load only on the system under test without generating a load on interlocked systems.
KR1020080053442A 2008-06-09 2008-06-09 Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system. KR100967525B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080053442A KR100967525B1 (en) 2008-06-09 2008-06-09 Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080053442A KR100967525B1 (en) 2008-06-09 2008-06-09 Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system.

Publications (2)

Publication Number Publication Date
KR20090127453A KR20090127453A (en) 2009-12-14
KR100967525B1 true KR100967525B1 (en) 2010-07-07

Family

ID=41688123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080053442A KR100967525B1 (en) 2008-06-09 2008-06-09 Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system.

Country Status (1)

Country Link
KR (1) KR100967525B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180126852A (en) 2017-05-18 2018-11-28 뱅크웨어글로벌 주식회사 Management method for java methods based on bytecode, development system and method for java software using the same
US10212036B2 (en) 2014-12-29 2019-02-19 Lg Cns Co., Ltd. Performance testing method, performance testing apparatus performing the same and storage medium storing the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050137842A1 (en) 2003-12-17 2005-06-23 David Bingham Sequential coordination of test execution and dynamic data
KR20050078397A (en) * 2004-01-29 2005-08-05 삼성전자주식회사 Method for reducing load in getting and setting information of object and processor therefor
KR20070093233A (en) * 2006-03-13 2007-09-18 주식회사 진두아이에스 Method for monitering fault and performance of database, and system for implementing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050137842A1 (en) 2003-12-17 2005-06-23 David Bingham Sequential coordination of test execution and dynamic data
KR20050078397A (en) * 2004-01-29 2005-08-05 삼성전자주식회사 Method for reducing load in getting and setting information of object and processor therefor
KR20070093233A (en) * 2006-03-13 2007-09-18 주식회사 진두아이에스 Method for monitering fault and performance of database, and system for implementing the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10212036B2 (en) 2014-12-29 2019-02-19 Lg Cns Co., Ltd. Performance testing method, performance testing apparatus performing the same and storage medium storing the same
KR20180126852A (en) 2017-05-18 2018-11-28 뱅크웨어글로벌 주식회사 Management method for java methods based on bytecode, development system and method for java software using the same

Also Published As

Publication number Publication date
KR20090127453A (en) 2009-12-14

Similar Documents

Publication Publication Date Title
US10587641B2 (en) Point-wise protection of application using runtime agent and dynamic security analysis
KR101354743B1 (en) Software system with controlled access to objects
JP5801953B2 (en) Application security inspection
US9465718B2 (en) Filter generation for load testing managed environments
CN106598549A (en) Intelligent agreement system based on block chain and implementation method
US20040243882A1 (en) System and method for fault injection and monitoring
Pacheco Microservice Patterns and Best Practices: Explore patterns like CQRS and event sourcing to create scalable, maintainable, and testable microservices
US20150074647A1 (en) Testing system for an integrated software system
US20150379273A1 (en) Application security testing
US10362089B1 (en) Methods and systems for dynamically generating and reusing dynamic web content
US20040138847A1 (en) Stress testing at low cost through parallel execution of unit tests
US20090089320A1 (en) Capturing application state information for simulation in managed environments
US20160259712A1 (en) System and method for determination of code coverage for software applications in a network environment
CN106843901B (en) Page rendering and verification method and device
CN112163195A (en) Novel virtual machine software protection method based on stack hiding
US20060195732A1 (en) Method and system for executing test cases for a device under verification
KR100967525B1 (en) Method and system for generating load only to the targeted system, not to the connected ones when doing performance, load, functional tests on the targeted system.
CN111797020A (en) Mock data method and device based on dynamic bytecode
CN113779578B (en) Intelligent confusion method and system for mobile terminal application
CN113220584A (en) Page testing method and device, computer equipment and readable storage medium
CN107273745A (en) A kind of dynamic analysing method of the malicious code of dynamic link library form
CN112559336B (en) Method, device and system for self-adaptively debugging heterogeneous computing chip and main board chip
JP5251653B2 (en) Operation check device, system, method and program for test rule for black box test
Morgado et al. Towards Web Application Security by Automated Code Correction.
JP5978368B2 (en) Application security inspection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130509

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140611

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160525

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 9