KR20190074072A - Message based communicating method of test server and test server communicating based on message - Google Patents

Message based communicating method of test server and test server communicating based on message Download PDF

Info

Publication number
KR20190074072A
KR20190074072A KR1020170175446A KR20170175446A KR20190074072A KR 20190074072 A KR20190074072 A KR 20190074072A KR 1020170175446 A KR1020170175446 A KR 1020170175446A KR 20170175446 A KR20170175446 A KR 20170175446A KR 20190074072 A KR20190074072 A KR 20190074072A
Authority
KR
South Korea
Prior art keywords
information
test
test case
server
code coverage
Prior art date
Application number
KR1020170175446A
Other languages
Korean (ko)
Other versions
KR102088431B1 (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 KR1020170175446A priority Critical patent/KR102088431B1/en
Publication of KR20190074072A publication Critical patent/KR20190074072A/en
Application granted granted Critical
Publication of KR102088431B1 publication Critical patent/KR102088431B1/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/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

According to one embodiment of the present invention, provided is a communication method of a test server based on a message communicating with a developer terminal and a customer server, which comprises the steps of: receiving at least one test case from the developer terminal; generating a request message corresponding to a selected test case of the at least one test case; transmitting first information related to the selected test case to the customer server; transmitting the request message to the customer server; receiving a response message corresponding to the request message from the customer server; and transmitting second information related to the selected test case to the customer server.

Description

테스트 서버의 전문 기반 통신 방법 및 전문 기반으로 통신하는 테스트 서버{MESSAGE BASED COMMUNICATING METHOD OF TEST SERVER AND TEST SERVER COMMUNICATING BASED ON MESSAGE}TECHNICAL FIELD [0001] The present invention relates to a test server, and more particularly,

본 발명은 테스트 서버의 전문 기반 통신 방법 및 전문 기반으로 통신하는 테스트 서버에 관한 것으로, 보다 구체적으로 선택된 테스트 케이스에 대한 전문 기반 통신에 기초하여 코드 커버리지 측정 결과를 획득함으로써, 테스트 케이스의 누락이나 중복을 막도록 하여 반복 테스트 수행을 효과적으로 수행하는, 테스트 서버의 전문 기반 통신 방법 및 전문 기반으로 통신하는 테스트 서버에 관한 것이다.The present invention relates to a professional-based communication method of a test server and a test server communicating with a professional base. More specifically, by obtaining a code coverage measurement result based on expert-based communication for a selected test case, And a test server for communicating with a professional base. [0002] The present invention relates to a test server,

예를 들어 상품코드와 금액에 따른 처리를 하는 다음과 같은 소스코드가 있다고 가정하자.For example, suppose you have the following source code that processes according to the product code and amount.

If ((상품코드 == ‘보통예금’) and (금액 > 100))If ((item code == 'ordinary deposit') and (amount> 100))

{ 1번 처리 }{Process number 1}

If ((상품코드 == ‘정기예금’) and (금액 == 100))If ((item code == 'time deposit') and (amount == 100))

{ 2번 처리 }{Process 2}

If ((상품코드 == ‘담보대출’) and (금액 < 100))If ((Product Code == 'Mortgage Loan') and (Amount <100))

{ 3번 처리 }{Process 3 times}

위의 코드는 3가지 조건(상품코드가 ‘보통예금’이고 금액이 100보다 큰 경우, 상품코드가 ‘정기예금’이고 금액이 100인 경우, 상품코드가 ‘담보대출’이고 금액이 100보다 작은 경우)을 만족시키는 각각의 경우에 대한 1번, 2번, 3번 처리를 하는 코드를 수행하게 된다. 이 때, 사용자가 소스 코드만을 보고 테스트케이스를 작성하는 것이 아니므로, 실제로 상품코드가 ‘보통예금’, ‘정기예금’, ‘정기적금’, ‘담보대출’, ‘신용대출’ 등 5가지 상품인 경우와 금액이 0, 10, 50, 100, 500, 1000 등 6가지 금액의 경우처럼 다양한 조건을 입력하여 수행할 수 있으며, 특별히 소스 코드를 확인하며 테스트 케이스를 작성한 경우가 아니라면 각각의 경우를 조합한 경우의 수는 모두 5*6=30가지의 경우의 수가 발생한다. 위의 소프트웨어를 개발하는 품질 기준으로 소스 코드의 라인 커버리지를 100% 만족해야 한다고 품질 기준을 정했다고 가정하면, 실제 30가지를 모두 수행하는 경우와 3가지 조건(상품코드가 ‘보통예금’이고 금액이 100보다 큰 경우, 상품코드가 ‘정기예금’이고 금액이 100인 경우, 상품코드가 ‘담보대출’이고 금액이 100보다 작은 경우)을 수행하는 경우는 동일하게 라인 커버리지 100%를 만족시킨다. 이에 따라서, 30가지의 테스트 케이스를 만들어서 수행할 필요 없이 위의 소스 코드의 라인 커버리지 조건을 만족시키는 3가지의 테스트 케이스만을 수행할 수 있도록 하면 효율적이나, 아직까지는 모든 테스트 케이스에 대한 커버리지 측정을 반복 수행하는 문제점이 있다.The code above is for three conditions: the commodity code is 'ordinary deposit', the amount is greater than 100, the commodity code is 'time deposit', the amount is 100, the commodity code is 'mortgage loan' 2), and (3) for each case that satisfies the condition (1), (2), and (3). In this case, since the user does not create the test case by looking at only the source code, the product code actually includes five items such as 'ordinary deposit', 'periodic deposit', 'regular gold', 'secured loan' You can do this by entering various conditions, such as 6, such as 0, 10, 50, 100, 500, and 1000, and check the source code, The number of combinations is 5 * 6 = 30 cases. Assuming that the quality criteria for developing the above software should satisfy 100% of the line coverage of the source code, assuming that you have performed all 30 cases and the three conditions (product code is 'ordinary deposit' and amount Is 100, the product code is 'fixed deposit', the amount is 100, the product code is 'secured loan', and the amount is smaller than 100). Therefore, it is efficient to perform only 3 test cases satisfying the line coverage condition of the above code without having to create and execute 30 test cases. However, until now, the coverage measurement for all test cases is repeated There is a problem to be performed.

본 발명은 전술한 문제를 해결하기 위해 도출된 것으로, 모든 테스트 케이스가 아닌 변경된 코드 커버리지에 대응하는 테스트 케이스만 우선적으로 선별하여 테스트 수행을 하도록 함을 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to preferentially select test cases corresponding to changed code coverage rather than all test cases to perform test.

또한, 선별된 테스트 케이스에 대해서 테스트 수행을 하되, 해당 테스트 케이스가 소스 코드의 어떤 모듈의 어떤 라인들을 실행하는지 확인할 수 있도록 함으로써, 수행 대상이 되는 테스트 케이스의 누락이나 중복을 막도록 함을 목적으로 한다.It is also possible to test a selected test case so that the test case can identify which lines of a module of the source code are executed, thereby preventing miss or duplication of a test case to be performed do.

그리고, 테스트 결과 이외에 선별된 테스트 케이스에 대한 코드 커버리지 측정 결과도 함께 출력되도록 함으로서, 사용자가 테스트 수행 결과를 용이하게 확인할 수 있도록 함을 목적으로 한다.In addition, the present invention is intended to allow the user to easily check the test execution result by outputting the code coverage measurement results for the selected test cases in addition to the test results.

본 발명의 일 실시예에 따라 개발자 단말 및 고객 서버와 통신하는 테스트 서버의 전문 기반 통신 방법은, 상기 개발자 단말로부터 적어도 하나의 테스트 케이스를 수신하는 단계, 상기 적어도 하나의 테스트 케이스 중 선택된 테스트 케이스에 대응하는 요청 전문(message)을 생성하는 단계, 상기 선택된 테스트 케이스 관련 제1정보를 상기 고객 서버에 전송하는 단계, 상기 요청 전문을 상기 고객 서버에 전송하는 단계, 상기 고객 서버로부터 상기 요청 전문에 대응하는 응답 전문을 수신하는 단계 및 상기 선택된 테스트 케이스 관련 제2정보를 상기 고객 서버에 전송하는 단계를 포함할 수 있다. According to an embodiment of the present invention, a professional-based communication method of a test server communicating with a developer terminal and a client server includes receiving at least one test case from the developer terminal, The method comprising the steps of: generating a corresponding request message; transmitting the selected test case-related first information to the client server; transmitting the request telegram to the client server; And transmitting the selected test case-related second information to the customer server.

본 발명의 다른 실시예에 따라 개발자 단말 및 고객 서버와 전문 기반으로 통신하는 테스트 서버는, 상기 개발자 단말로부터 적어도 하나의 테스트 케이스를 수신하는 테스트케이스 수신부, 상기 적어도 하나의 테스트 케이스 중 선택된 테스트 케이스에 대응하는 요청 전문(message)을 생성하는 전문생성부, 상기 테스트 케이스 수신부로부터 선택된 테스트 케이스 관련 제1정보 및 제2정보를 수신하여, 상기 고객 서버에 전송하는 코드 커버리지 처리부 및 상기 요청 전문을 상기 고객 서버에 전송하고, 상기 고객 서버로부터 상기 요청 전문에 대응하는 응답 전문을 수신하는 전문송수신부를 포함할 수 있다.According to another embodiment of the present invention, a test server communicating with a developer terminal and a customer server on a professional basis includes a test case receiving unit receiving at least one test case from the developer terminal, A code generation unit for receiving the first information and the second information related to the test case selected from the test case receiving unit and transmitting the received first information and the second information to the client server, And a professional transceiver unit for transmitting the request message to the server and receiving a response message corresponding to the request message from the client server.

본 발명의 또 다른 실시예에 따른 컴퓨터 판독 가능한 기록 매체는 전술한 방법을 실행하기 위한 컴퓨터 프로그램을 기록할 수 있다.A computer-readable recording medium according to another embodiment of the present invention can record a computer program for executing the above-described method.

본 발명의 실시예에 따르면, 모든 테스트 케이스가 아닌 변경된 코드 커버리지에 대응하는 테스트 케이스만 우선적으로 선별하여 테스트 수행을 할 수 있다. According to the embodiment of the present invention, only the test cases corresponding to the changed code coverage, not all the test cases, can be preferentially selected and tested.

또한, 선별된 테스트 케이스에 대해서 테스트 수행을 하되, 해당 테스트 케이스가 소스 코드의 어떤 모듈의 어떤 라인들을 실행하는지 확인할 수 있도록 함으로써, 수행 대상이 되는 테스트 케이스의 누락이나 중복을 막을 수 있게 된다.In addition, test execution is performed on the selected test cases, and it is possible to check which lines of a certain module of the source code the corresponding test cases are executed, thereby preventing miss or duplication of the test cases to be performed.

그리고, 테스트 결과 이외에 선별된 테스트 케이스에 대한 코드 커버리지 측정 결과도 함께 출력되도록 함으로서, 사용자가 테스트 수행 결과를 용이하게 확인할 수 있게 된다.In addition to the test results, the code coverage measurement results for the selected test cases are also output, so that the user can easily confirm the test execution results.

도 1은 본 발명의 실시예에 따른 전문 기반 통신 시스템 및 테스트 서버에 대한 구성도
도 2는 본 발명의 실시예에 따른 테스트 서버의 전문 기반 통신 방법을 나타낸 순서도
도 3 내지 도 7은 본 발명의 실시예에 따른 테스트 서버의 전문 기반 통신 방법을 나타내기 위해 참조되는 도면
1 is a block diagram illustrating a professional-based communication system and a test server according to an exemplary embodiment of the present invention;
FIG. 2 is a flow chart illustrating a professional-based communication method of a test server according to an embodiment of the present invention.
3 to 7 are diagrams for explaining a professional-based communication method of a test server according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 전문 기반으로 통신하는 테스트 서버 및 테스트 서버의 전문 기반 통신 방법을 기술하고자 한다. Hereinafter, a professional-based communication method of a test server and a test server for communicating with a professional base according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 전문 기반 통신 시스템을 도시하는 것으로, 본 발명의 실시예에 따른 전문 기반 통신 시스템은 개발자 단말(100), 테스트 서버(200), 및 고객 서버(300)를 포함할 수 있다.FIG. 1 illustrates a professional-based communication system according to an embodiment of the present invention. The professional-based communication system according to an embodiment of the present invention includes a developer terminal 100, a test server 200, and a customer server 300 .

개발자 단말(100, 예> 소프트웨어 개발 또는 테스트 업무 PC)은 테스트 서버(200)와 통신하여 생성된 테스트 케이스에 대한 실행 결과를 확인할 수 있다.The developer terminal 100 (e.g., a software development or test work PC) communicates with the test server 200 to confirm the execution result of the test case generated.

테스트 서버(200)는 개발자 단말(100) 및 고객 서버(300)와 통신하여 테스트 케이스를 처리하고, 코드 커버리지를 처리할 수 있다.The test server 200 can communicate with the developer terminal 100 and the customer server 300 to process test cases and process code coverage.

고객 서버(300, 예> 은행 서버)는 테스트 서버(200)와 통신하여 테스트 케이스에 대한 코드 커버리지 측정 결과를 전송하도록 한다. The customer server 300 (e.g., a bank server) communicates with the test server 200 to transmit a code coverage measurement result for the test case.

본 발명의 실시예에 따라 개발자 단말(100) 및 테스트 서버(200)를 별개의 장치로 구현하였으나, 이는 일 실시예에 불과하고, 개발자 단말(100) 및 테스트 서버(200)는 하나의 장치로서 구현될 수 있다. 그리고, 본 발명의 실시예로서 대표적으로 고객 서버가 은행인 경우를 가정하였으며, 이에 따라, 전문 기반으로 테스트 서버(200)와 고객 서버(300) 사이에서 통신하는 경우를 가정하였다. 전문이란, 정보 송수신 수단 중 하나로서, 기업, 특히 은행 등과 같은 금융기관의 내부 정보교환에서 많이 이용된다. 은행 전문은 영업점의 단말기와 은행의 메인 서버 사이, 인터넷 뱅킹 시 사용자 단말기와 은행의 메인 서버 사이에 은행 업무에 대한 요청, 처리 결과 등을 송수하기 위한 정보 전달 수단을 의미한다.The developer terminal 100 and the test server 200 are implemented as separate devices according to the embodiment of the present invention. However, the developer terminal 100 and the test server 200 are only one embodiment, Can be implemented. As an embodiment of the present invention, it is assumed that a customer server is a bank. Thus, it is assumed that a test server 200 and a customer server 300 communicate with each other on a specialized basis. Professional is one of the information transmission and reception means, and is widely used in the internal information exchange of companies, especially financial institutions such as banks. A bank specialization means an information delivery means for sending a request for banking service, a processing result, and the like between a terminal of a branch office and a main server of a bank or between a user terminal and a main server of a bank in Internet banking.

개발자 단말(100)은 테스트 케이스 생성부(110), 테스트 케이스 실행부(120), 및 테스트 결과 확인부(130)를 포함할 수 있다.The developer terminal 100 may include a test case generation unit 110, a test case execution unit 120, and a test result confirmation unit 130.

테스트 케이스 생성부(110)는 해당 인터페이스에서 모니터링되어야 할 입력 데이터에 대응하는 정상/실패 기준 결정, 예상 출력 결정 등을 포함하는 테스트 케이스를 생성한다. 그리고, 테스트 케이스를 이뮬레이터에서 자동 실행할 수 있도록 테스트 스크립트로 변환한다. 테스트 스크립트는 인터페이스 위치에 브레이크하는 스크립트 명령, 테스트 타겟 실행을 자동화하는 스크립트 명령, 테스트 심볼의 통과/실패 기준의 실제 값을 모니터링하는 스크립트 명령, 예상 출력과 모니터링된 실제 값을 비교하여 테스트 결과의 통과/실패를 판정하는 스크립트 명령, 및 테스트 결과 분석을 위해 테스트 수행 결과를 로그로 저장하는 스크립트 명령으로 구성될 수 있다. 테스트 케이스는 이뮬레이터를 자동으로 실행시킬 수 있도록 하는 스크립트 언어로 포맷(Format)되어 이뮬레이터의 디버깅과 모니터링 기능을 활용할 수 있도록 한다.The test case generation unit 110 generates a test case including a normal / failure criterion determination, an expected output determination, and the like corresponding to the input data to be monitored at the interface. The test case is converted into a test script so that it can be automatically executed by the emulator. The test script includes a script command that breaks into an interface location, a script command that automates the execution of the test target, a script command that monitors the actual value of the pass / fail criteria of the test symbol, / Script command for determining a failure, and a script command for storing a test execution result as a log for analysis of a test result. Test cases are formatted in a scripting language that allows the emulator to run automatically, allowing you to take advantage of the emulator's debugging and monitoring capabilities.

테스트 케이스는 테스트할 소스코드에 대하여 적어도 하나 이상 생성될 수 있다. At least one test case can be generated for the source code to be tested.

테스트 케이스 실행부(120)는 테스트해야 할 테스트 케이스를 GUI 버튼으로 연결하고, 테스트 수행한 결과, 테스트 로그 형태의 결과를 저장한다.The test case execution unit 120 connects a test case to be tested with a GUI button, and stores the result of the test execution in the form of a test log.

테스트 결과 확인부(130)는 테스트 로그의 통과/실패 정보로부터 결함이 발생한 위치와 원인을 분석한다. 즉, 결함 정보를 출력한다. 그리고, 테스트 로그의 성능 측정 값으로부터 성능의 최대(max), 최소(min), 및 평균(average)를 계산한다. 즉, 테스트 결과 확인부(130)는 개발자 단말(100), 테스트 서버(200) 또는 고객 서버(300)의 성능을 리포트 한다. 본 발명의 실시예에 따라, 도 4에 도시한 바와 같이, 테스트 결과 확인부(130)는 테스트 케이스 실행 결과(410)와 함께 해당 테이스 케이스에 대한 커버리지 측정 결과(420)를 확인할 수 있다. The test result confirming unit 130 analyzes the location and cause of the defect from the pass / fail information of the test log. That is, defect information is output. Then, the maximum (max), minimum (min), and average (average) of the performance are calculated from the performance measurement values of the test log. That is, the test result confirmation unit 130 reports the performance of the developer terminal 100, the test server 200, or the customer server 300. According to the embodiment of the present invention, as shown in FIG. 4, the test result confirmation unit 130 can confirm the test case execution result 410 and the coverage measurement result 420 for the corresponding case.

테스트 서버(200)는 테스트 케이스 처리부(210) 및 코드 커버리지 처리부(220)를 포함할 수 있고, 테스트 케이스 처리부(210)는 테스트 케이스 수신부(211), 전문 생성부(212), 전문 송수신부(132)를 포함할 수 있다. The test server 200 may include a test case processing unit 210 and a code coverage processing unit 220. The test case processing unit 210 includes a test case receiving unit 211, a specialty generating unit 212, 132 &lt; / RTI &gt;

본 발명의 실시예에 따라, 테스트 케이스 수신부(211)는 테스트 케이스 생성부(110)로부터 생성된 테스트 케이스를 수신하고, 전문 생성부(212)는 선택된 테스트 케이스에 대한 전문을 생성하며, 전문 송수신부(213)는 생성된 전문을 이용하여 고객 서버(300)와 통신할 수 있다. 코드 커버리지 처리부(220)는 고객 서버(300)에서 수행된 코드 커버리지 측정 결과를 수신하여, 테스트 결과 확인부(130)로 전송할 수 있다.According to the embodiment of the present invention, the test case receiving unit 211 receives the test cases generated from the test case generating unit 110, the specialty generating unit 212 generates the specialty for the selected test cases, Unit 213 can communicate with the customer server 300 using the created advertisement. The code coverage processing unit 220 may receive the code coverage measurement result performed by the customer server 300 and may transmit the result of the code coverage measurement to the test result confirmation unit 130.

고객 서버(300)는 코드 리딩부(310), 탐침 삽입부(320), 전문 송수신부(330), 및 커버리지 측정부(340)를 포함할 수 있다.The customer server 300 may include a code reading unit 310, a probe insertion unit 320, a special transceiver unit 330, and a coverage measurement unit 340.

코드 리딩부(310)는 테스트 케이스가 구동되기 위한 소스코드를 리딩한다.The code reading unit 310 reads the source code for driving the test case.

탐침 삽입부(320)는 소스코드에 탐침(probe)을 삽입하고, 탐침이 삽입된 소스코드를 컴파일하여 실행 파일을 생성하며, 실행 파일을 이용하여 커버리지 측정부(340)에 의해 코드 커버리지가 측정되도록 한다. 소스코드에 탐침을 삽입하는 단계는, 추상 구문 트리(abstract syntax tree, AST)를 생성하는 단계, 제어 흐름 그래프(Control Flow Graph, CFG)를 생성하는 단계 및 탐침을 삽입하는 단계를 포함할 수 있다. 추상 구문 트리를 생성하는 단계는, 소스코드로부터 추상 구문 트리를 생성할 수 있다. 추상 구문 트리는, 파서(parser)를 이용하여 생성할 수 있다. 여기서, 파서는 예를 들어 C/C++ 파서일 수 있다. 소스 코드를 C/C++ 파서로 입력시키면 C/C++ 파서는 추상 구문 트리를 생성할 수 있다. 제어 흐름 그래프를 생성하는 단계는 앞서 생성된 추상 구문 트리를 해석하여 제어 흐름 그래프를 생성한다. 탐침을 삽입하는 단계는, 앞서 생성된 추상 구문 트리와 제어 흐름 그래프를 이용하여 탐침을 삽입하는 단계이다. 구체적인 탐침 삽입 방법을 이하에서 구체적으로 설명하도록 한다. 탐침은 추상 구문 트리와 제어 흐름 그래프를 이용하여 삽입한다. 구체적으로, 제어 흐름 그래프를 참조하여 탐침을 삽입하고, 추상 구문 트리 내의 분기문의 조건의 개수를 판별하여 탐침을 삽입할 수 있다. 제어 흐름 그래프를 참조하여 탐침을 삽입하는 방법과 추상 구문 트리 내의 분기문의 조건의 개수를 판별하여 탐침을 삽입하는 방법은 각자 병렬적으로 수행될 수 있다. 이하에서 각각 나눠서 설명하도록 한다. 제어 흐름 그래프를 참조하여 탐침을 삽입하는 방법은, 제어 흐름 그래프에서 탐침의 삽입 위치를 결정한 후, 탐침을 삽입할 수 있다. 제어 흐름 그래프에서 탐침의 삽입 위치를 결정하는 방법은, 제어 흐름 그래프에서 기저 경로(basis path)들을 검색한 후, 각 기저 경로당 하나의 탐침을 삽입하는 것으로 결정될 수 있다. 여기서, 기저 경로란, 분기문의 한 가지(branch)에서 다음 분기문을 만나기 전까지의 경로를 의미하는데, 기저 경로는 더 이상 나눌 수 없는 최소의 수행 흐름이다.The probe insertion unit 320 inserts a probe into the source code, compiles the source code into which the probe is inserted, generates an executable file, and the code coverage is measured by the coverage measurement unit 340 using the executable file . The step of inserting the probe into the source code may include generating an abstract syntax tree (AST), creating a control flow graph (CFG), and inserting a probe . The step of creating an abstract syntax tree may generate an abstract syntax tree from the source code. An abstract syntax tree can be created using a parser. Here, the parser may be, for example, a C / C ++ parser. By entering the source code into a C / C ++ parser, the C / C ++ parser can generate an abstract syntax tree. The step of generating the control flow graph generates the control flow graph by interpreting the abstract syntax tree generated previously. The step of inserting the probe is a step of inserting the probe using the abstract syntax tree and the control flow graph generated previously. A specific probe insertion method will be described in detail below. Probe is inserted using abstract syntax tree and control flow graph. Specifically, the probe can be inserted with reference to the control flow graph, and the probe can be inserted by determining the number of conditions of the branch statement in the abstract syntax tree. The method of inserting the probe by referring to the control flow graph and the method of inserting the probe by discriminating the number of the condition of the branch statement in the abstract syntax tree can be performed in parallel. The following will be separately described below. The method of inserting the probe with reference to the control flow graph can insert the probe after determining the insertion position of the probe in the control flow graph. The method of determining the insertion position of the probe in the control flow graph can be determined by inserting one probe per each basis path after searching the basis paths in the control flow graph. Here, the base path means a path from one branch of the branch query to the next branch, and the base path is the minimum execution flow that can not be further divided.

전문 송수신부(330)는 테스트 서버(200)와 통신하기 위한 전문을 송수신한다. 본 발명의 실시예에서 전문 송수신부(330)는 테스트 서버(200)로부터 요청 전문을 수신하여 고객 서버(300)에서 코드 커버리지 측정을 시작하도록 하고, 테스트 서버(200)로 응답 전문을 송신하여 고객 서버(300)에서 코드 커버리지 측정을 완료하도록 한다.The special transmission / reception unit 330 transmits / receives a message to communicate with the test server 200. In the embodiment of the present invention, the specialist transceiver 330 receives the request telegram from the test server 200 and starts the code coverage measurement in the customer server 300, transmits the telegram of the response to the test server 200, Thereby allowing the server 300 to complete the code coverage measurement.

커버리지 측정부(340)는 테스트 케이스의 코드 커버리지를 측정하여 코드 커버리지 달성 정보를 실시간 기록한다. 또한, 변경된 코드를 확인하여 코드 커버리지 측정 툴을 사용함으로서 코드 커버리지를 측정할 수 있다.The coverage measurement unit 340 measures the code coverage of the test case and records code coverage achievement information in real time. In addition, code coverage can be measured by checking the changed code and using the code coverage measurement tool.

변경된 코드는 변경된 라인 및 변경된 함수 중 적어도 하나로 구성될 수 있다. 이러한 변경된 코드 정보 및 도 5와 같은 변경된 코드를 통한 코드 커버리지 측정 결과는 별도의 메모리(미도시)에 저장될 수 있다. 예를 들어, 변경 함수 커버리지 정보는 소스 코드에 포함되는 전체 변경 함수 중 실제 실행된 변경 함수의 개수 정보를 의미할 수 있다. 또한, 변경 라인 커버리지 정보는 변경 함수에 포함되는 코딩 라인들 중에 실제 실행된 라인들에 관한 정보를 의미할 수 있다. 즉, 테스트가 수행되는 경우, 테스트 대상이 되는 소스코드 전부가 실행되지 않을 수 있어, 변경 커버리지 정보를 통해 변경 정보 중 실제 실행된 부분에 대한 정보를 확인할 수 있다. The changed code can be composed of at least one of the changed line and the changed function. The changed code information and the code coverage measurement result through the changed code as shown in FIG. 5 may be stored in a separate memory (not shown). For example, the change function coverage information may mean the number of change functions actually executed among the entire change functions included in the source code. In addition, the changed line coverage information may mean information about actually executed lines among the coding lines included in the changing function. That is, when the test is performed, not all of the source code to be tested may be executed, and information on the actually executed part of the change information can be confirmed through the change coverage information.

예를 들어, 도 6a는 변경 부분을 포함하는 소스코드로서, void calculateEmptyBlock 함수가 변경 함수임을 예시한다. 도 6a에서 테스트 수행으로 변경 함수인 void calculateEmptyBlock 함수가 모두 실행되어, 도 6b와 같이 변경 함수 정보(변경 함수 커버리지)는 100%를 나타낼 수 있다. 도 6b는 본 발명의 실시예에 따른 커버리지 정보에 대한 예시로, 도 6a의 변경 함수에 포함되는 코딩 라인(149 내지 166)의 전체 개수 중에 실제 실행된 라인들을 변경 라인 정보(변경 라인 커버리지)로 72.73%로 나타낼 수 있다. 좀더 구체적으로, 변경 함수에 포함되는 코딩 라인(149 내지 166) 은 테스트 대상이 되는 영역과 테스트 대상이 되지 않는 empty 영역을 포함하며, 코딩 라인 17 개중에 empty 영역인 6개를 제외한 11개가 테스트 대상이 되고, 이중 비실행 라인 3개를 제외한 실제 실행된 라인인 8개에 대한 비율인 72.73%가 도출될 수 있다.For example, FIG. 6A illustrates that the void calculateEmptyBlock function is a change function, as source code including a change portion. In FIG. 6A, the function "void calculateEmptyBlock", which is a change function, is executed in the test execution, and the change function information (change function coverage) can represent 100% as shown in FIG. 6B. FIG. 6B is an example of coverage information according to an embodiment of the present invention. Referring to FIG. 6B, the actually executed lines among the total number of the coding lines 149 to 166 included in the modification function of FIG. 72.73%. More specifically, the coding lines 149 to 166 included in the modification function include an area to be tested and an empty area that is not to be tested, and 11 of the coding lines 17, except for the empty area 6, , And 72.73% of the eight actually executed lines excluding three non-execution lines can be derived.

코드 커버리지 처리부(220)는 고객 서버(300)로부터 코드 커버리지 측정 결과를 수신하여 해당 결과를 표시할 수 있다. 그리고, 하나 이상의 개발자 단말(100)로 코드 커버리지 측정 결과를 전송할 수 있다. The code coverage processing unit 220 can receive the code coverage measurement result from the customer server 300 and display the result of the code coverage measurement. Then, the result of code coverage measurement may be transmitted to one or more developer terminals 100.

커버리지 측정부(340)는 코드 커버리지 처리부(220)를 통해 이메일 생성 및 송신을 요청하도록 구성될 수 있다. 예를 들어, 코드 커버리지 처리부(220)는 변경된 코드 보고 및 변경된 코드 커버리지 측정을 포함하는 이메일을 전송할 수 있다. 한 실시예에 따라, 커버리지 측정부(340)는 코드 커버리지 처리부(220)로부터 상태 보고를 수신할 수 있다. 예를 들어, 커버리지 측정부(340)는 요청된 이메일이 코드 커버리지 처리부(220)에 의해 전송된 경우에 코드 커버리지 처리부(220)로부터 "OK" 상태를 수신할 수 있으며, 반면, 요청된 이메일이 코드 커버리지 처리부(220)에 의해 전송될 수 없는 경우에 "NOT OK" 상태를 수신할 수 있다. 그리고 이러한 상태 보고 정보는 메모리에 저장될 수 있다. The coverage measurement unit 340 may be configured to request email creation and transmission via the code coverage processing unit 220. [ For example, the code coverage processing unit 220 may send an e-mail including a changed code report and a modified code coverage measurement. According to one embodiment, the coverage measurement unit 340 may receive a status report from the code coverage processing unit 220. [ For example, the coverage measurement unit 340 may receive an "OK" status from the code coverage processing unit 220 when the requested email is sent by the code coverage processing unit 220, Quot; NOT OK "state when it can not be transmitted by the code coverage processing unit 220. [ Such status report information may be stored in memory.

지금까지는 본 발명의 실시예에 따른 전문 기반 통신 시스템에 대하여 기술하였고, 하기에서는 전문 기반 통신 시스템을 구성하는 테스트 서버(200)의 전문 기반 통신 방법에 대해 기술하고자 한다.The professional-based communication system according to the embodiment of the present invention has been described so far. In the following, a professional-based communication method of the test server 200 constituting the professional-based communication system will be described.

일반적으로, 도 3과 같이, 고객 서버(300)의 '입금' 코드가 수정되었다면, 개발자 단말(100)에서 생성된 모든 테스트 케이스(TC001 내지 TC999)에 대해 일일이 테스트를 수행하여 반복적인 코드 커버리지를 측정해야 하는 문제점이 있었다. 즉, 소스 코드 개발과정에서 수정된 소스코드에 대해 모든 테스트 케이스를 반복적으로 수행하므로, 많은 시간과 노력을 요하게 되는 문제점이 있었다.Generally, if the 'deposit' code of the customer server 300 is modified as shown in FIG. 3, the test case (TC001 to TC999) generated in the developer terminal 100 is tested one by one to perform repetitive code coverage There was a problem to be measured. That is, since all the test cases are repeatedly performed on the modified source code in the source code development process, there is a problem that it takes much time and effort.

본 발명은 전술한 문제점을 해결하기 위해 도출된 것으로, 하기 목적을 달성하고자 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems and aims at achieving the following objects.

(1) 도 4와 같이, 모든 테스트 케이스가 아닌 변경된 코드 커버리지에 대응하는 테스트 케이스만 우선적으로 선별하여 테스트 수행을 하도록 한다.(1) As shown in FIG. 4, only the test cases corresponding to the changed code coverage, not all the test cases, are preferentially selected and tested.

(2) 선별된 테스트 케이스에 대해서 테스트 수행을 하되, 해당 테스트 케이스가 소스 코드의 어떤 모듈의 어떤 라인들을 실행하는지 확인할 수 있도록 함으로써, 수행 대상이 되는 테스트 케이스의 누락이나 중복을 막도록 한다.(2) Test the selected test cases so that they can check which lines of a module in the source code are executed, thereby preventing omission or duplication of the test cases to be performed.

(3) 또한, 도 4와 같이, 개발자 단말(100)에 테스트 결과(410) 이외에 선별된 테스트 케이스에 대한 코드 커버리지 측정 결과(420)도 함께 출력되도록 한다.(3) In addition, as shown in FIG. 4, the developer terminal 100 also outputs a code coverage measurement result 420 for a selected test case in addition to the test result 410.

전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 테스트 서버(200)의 전문 기반 통신 방법에 따르면, 도 2에 도시한 바와 같이, 테스트 케이스 수신부(211)는 개발자 단말(100)로부터 생성된 적어도 하나의 테스트 케이스를 수신하여 저장할 수 있다(S1). 이러한 테스트 케이스는 먼저 테스트 수행되어 각각에 대응하는 코드 커버리지 정보와 함께 미리 데이터베이스로 저장될 수 있다. 예를 들어, 도 4에 도시한 바와 같이, TC001 내지 TC999의 테스트 케이스가 먼저 테스트 수행되어 각각에 대응하는 코드 커버리지 정보(미도시)와 함께 미리 데이터베이스로 저장될 수 있다. 전문 생성부(212)는 저장된 테스트 케이스 중 선택된 케이스에 대응하는 요청 전문을 생성할 수 있다(S2). 예를 들어, 도 4에 도시한 바와 같이, TC005가 선택된 테스트 케이스 일 수 있다. 여기서 선택된 테스트 케이스는 수정 혹은 변경된 코드에 따른 변경 코드 커버리지 정보에 대응하는 것일 수 있다. 즉, 미리 데이터베이스로 저장된 테스트 케이스 및 테스트 케이스에 각각 대응하는 코드 커버리지 정보를 확인하여, 이 중 변경된 코드 커버리지 정보에 해당하는 테스트 케이스를 우선적으로 선택하여 요청 전문을 생성할 수 있다. 2, a test case receiving unit 211 receives a test case 200 from a developer terminal 100 and transmits the generated test case 200 to the test server 200. In this case, At least one test case may be received and stored (S1). These test cases may be tested first and stored in advance in a database with code coverage information corresponding to each test case. For example, as shown in FIG. 4, test cases of TC001 to TC999 may be tested first and stored in advance in a database together with code coverage information (not shown) corresponding to each test case. The specialized generator 212 may generate a request message corresponding to the selected one of the stored test cases (S2). For example, TC005 may be the selected test case, as shown in Fig. The test case selected here may correspond to the changed code coverage information according to the modified or changed code. That is, the code coverage information corresponding to the test cases and the test cases stored in advance in the database can be checked, and the request case corresponding to the changed code coverage information can be preferentially selected to generate the request special.

전문 송수신부(213)는 도 7과 같은 생성된 요청 전문을 고객 서버(300)에 전송할 수 있다(S4). 더불어, 테스트 케이스 수신부(211)로부터 선택된 테스트 케이스 관련 제1정보를 고객 서버(300)에 전송할 수 있다(S3). 본 발명에서 제1정보는 선택된 테스트 케이스의 아이디 및 실행 시작 시점 정보를 포함할 수 있다. 즉, 테스트 케이스 관련 모든 정보를 전송하는 것이 아닌, 일부 참조 정보만 전송함으로서, 테스트 서버(200)와 고객 서버(300)간 통신이 보다 빨리 수행될 수 있다. 테스트 케이스 관련 제1정보는 테스트 케이스 실행부(120)에 의해 테스트 케이스가 실행될 때, 이러한 테스트 케이스 실행 명령을 테스트 서버(200)가 참조함으로써, 추출될 수 있다. The special transmission / reception unit 213 may transmit the generated request message as shown in FIG. 7 to the customer server 300 (S4). In addition, the first test case related information selected from the test case receiving unit 211 may be transmitted to the customer server 300 (S3). In the present invention, the first information may include the ID of the selected test case and execution start time information. That is, not only all the test case related information but some reference information is transmitted, so that the communication between the test server 200 and the customer server 300 can be performed more quickly. The first test case related information can be extracted by the test server 200 when the test case is executed by the test case executing unit 120, by referring to the test case execution command.

선택된 테스트 케이스 관련 제 1 정보 및 요청 전문이 고객 서버(300)에 전송되면, 커버리지 측정부(340)에 의해 변경된 코드에 대응하는 코드 커버리지 측정이 시작될 수 있다. 예를 들어, 도 4에 도시한 바와 같이, TC005에 대해 변경된 코드를 포함하는 '입금' 부분에 대한 코드 커버리지 측정이 시작될 수 있다. 여기서 코드 커버리지 측정은 전술한 바와 같이, 변경 라인 단위, 또는 변경 함수 단위로 수행될 수 있다. The code coverage measurement corresponding to the changed code by the coverage measurement unit 340 can be started when the first test case related information and the request specialty are transmitted to the customer server 300. [ For example, as shown in FIG. 4, the code coverage measurement for the 'deposit' portion, including the changed code for TC005, may be initiated. Here, the code coverage measurement may be performed on a change line basis or a change function basis, as described above.

커버리지 측정부(340)에 의해 코드 커버리지 측정이 수행되는 도중, 전문 송수신부(213)가 고객 서버(300)로부터 요청 전문에 대응하는 도 7과 같은 응답 전문을 수신할 수 있다(S5). 응답 전문을 수신한 테스트 서버(200)는 상기 선택된 테스트 케이스 관련 제2정보를 고객 서버(300)에 전송할 수 있다(S6). 즉, 본 발명에서 제2정보는 선택된 테스트 케이스의 아이디 및 실행 종료 시점 정보를 포함할 수 있다. 즉, 테스트 케이스 관련 모든 정보를 전송하는 것이 아닌, 일부 참조 정보만 전송함으로서, 테스트 서버(200)와 고객 서버(300)간 통신이 보다 빨리 수행될 수 있다.During the code coverage measurement by the coverage measurement unit 340, the expert transmission / reception unit 213 may receive the response message as shown in FIG. 7 corresponding to the request telegram from the customer server 300 (S5). The test server 200 receiving the response message can transmit the selected test case-related second information to the customer server 300 (S6). That is, in the present invention, the second information may include the ID of the selected test case and the execution end time information. That is, not only all the test case related information but some reference information is transmitted, so that the communication between the test server 200 and the customer server 300 can be performed more quickly.

선택된 테스트 케이스 관련 제2정보가 고객 서버(300)에 전송되면, 커버리지 측정부(340)에 의해 변경된 코드에 대응하는 코드 커버리지 측정이 완료될 수 있다. 즉, 제1정보를 기초로 코드 커버리지 측정이 시작되고, 제2정보를 기초로 코드 커버리지 측정이 완료될 수 있는 것이다.When the second information related to the selected test case is transmitted to the customer server 300, the code coverage measurement corresponding to the changed code by the coverage measuring unit 340 can be completed. That is, the code coverage measurement is started based on the first information, and the code coverage measurement can be completed based on the second information.

커버리지 측정부(340)에 의해 코드 커버리지 측정이 완료되면, 코드 커버리지 처리부(220)는 커버리지 측정부(340)로부터 코드 커버리지 측정 결과를 수신할 수 있다(S7). 그리고, 커버리지 처리부(220)는 코드 커버리지 측정 결과를 개발자 단말(100)로 전송하여(S8), 개발자 단말(100)에 테스트 결과(410)와 함께 선택된 테스트 케이스에 대한 코드 커버리지 측정 결과(420)도 함께 출력되도록 할 수 있다. 도 4에는 TC0005가 선택된 테스트 케이스로 해당 테스트 케이스에 대한 테스트 결과(TC005:정상,410)와 함께 코드 커버리지 측정 결과(420)가 출력될 수 있다. When the code coverage measurement is completed by the coverage measurement unit 340, the code coverage processing unit 220 may receive the code coverage measurement result from the coverage measurement unit 340 (S7). The coverage processing unit 220 transmits the code coverage measurement result to the developer terminal 100 in step S8 and sends the code coverage measurement result 420 for the selected test case together with the test result 410 to the developer terminal 100. [ Can also be output together. In FIG. 4, a code coverage measurement result 420 may be output together with a test result (TC005: normal, 410) for the corresponding test case with the test case selected by TC0005.

본 발명의 일 실시예에 따라 테스트 서버(200)는 테이스 케이스 처리부(210)와 코드 커버리지 처리부(220)를 포함할 수 있고, 테스트 서버(200)내부에서 테스트 케이스 처리부(210)에 의해 선택된 테스트 케이스 관련 제1정보 및 제2정보를 우선 코드 커버리지 처리부(220)로 전송하고, 코드 커버리지 처리부(220)에 의해 제1정보 및 제2정보를 고객 서버(300)로 전송할 수 있다. 즉, 테스트 케이스 처리부(210)와 코드 커버리지 처리부(220)가 테스트 서버(200)안에서 별개의 장치로 구현되는 경우, 제1정보 및 제2정보가 고객 서버(300)로 바로 전송되는 것이 아닌, 코드 커버리지 처리부(220)를 경유하여 고객 서버(300)로 전송될 수 있다.The test server 200 may include a test case processing unit 210 and a code coverage processing unit 220 and may be selected by the test case processing unit 210 in the test server 200 according to an embodiment of the present invention. The test case related first information and second information may be first transmitted to the code coverage processing unit 220 and the code coverage processing unit 220 may transmit the first information and the second information to the client server 300. [ That is, when the test case processing unit 210 and the code coverage processing unit 220 are implemented as separate devices in the test server 200, the first information and the second information are not directly transmitted to the customer server 300, And can be transmitted to the customer server 300 via the code coverage processing unit 220.

이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The embodiments described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination.

상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software.

컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical recording media such as CD-ROM and DVD, magneto-optical media such as a floptical disk, optical media), and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for performing the process according to the present invention, and vice versa.

본 명세서의 양상들은 전체적으로 하드웨어, 전체적으로 소프트웨어 (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함 함) 또는 컴퓨터 판독 가능 프로그램 코드가 구현 된 하나 이상의 컴퓨터 판독 가능 매체에 구현 된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.Aspects of the present disclosure may take the form of a whole, hardware, a computer program product embodied in one or more computer readable media having software (including firmware, resident software, microcode, etc.) or computer readable program code embodied throughout .

이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.The features, structures, effects and the like described in the embodiments are included in one embodiment of the present invention and are not necessarily limited to only one embodiment. Furthermore, the features, structures, effects and the like illustrated in the embodiments can be combined and modified by other persons skilled in the art to which the embodiments belong. Therefore, it should be understood that the present invention is not limited to these combinations and modifications.

또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of illustration, It can be seen that various modifications and applications are possible. For example, each component specifically shown in the embodiments can be modified and implemented. It is to be understood that all changes and modifications that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

Claims (14)

개발자 단말 및 고객 서버와 통신하는 테스트 서버의 전문 기반 통신 방법에 있어서,
상기 개발자 단말로부터 적어도 하나의 테스트 케이스를 수신하는 단계;
상기 적어도 하나의 테스트 케이스 중 선택된 테스트 케이스에 대응하는 요청 전문(message)을 생성하는 단계;
상기 선택된 테스트 케이스 관련 제1정보를 상기 고객 서버에 전송하는 단계;
상기 요청 전문을 상기 고객 서버에 전송하는 단계;
상기 고객 서버로부터 상기 요청 전문에 대응하는 응답 전문을 수신하는 단계; 및
상기 선택된 테스트 케이스 관련 제2정보를 상기 고객 서버에 전송하는 단계;를 포함하는,
테스트 서버의 전문 기반 통신 방법.
A professional-based communication method of a test server communicating with a developer terminal and a customer server,
Receiving at least one test case from the developer terminal;
Generating a request message corresponding to a selected one of the at least one test case;
Transmitting the selected test case-related first information to the customer server;
Transmitting the request telegram to the customer server;
Receiving a response message corresponding to the request telegram from the customer server; And
And transmitting the selected test case-related second information to the customer server.
A professional-based communication method of a test server.
제 1항에 있어서,
상기 적어도 하나의 테스트 케이스는 상기 적어도 하나의 테스트 케이스에 대응하는 코드 커버리지 정보와 함께 미리 데이터베이스로 저장되는, 테스트 서버의 전문 기반 통신 방법.
The method according to claim 1,
Wherein the at least one test case is stored in a database in advance with code coverage information corresponding to the at least one test case.
제 2항에 있어서,
상기 선택된 테스트 케이스는 변경된 코드 커버리지 정보에 대응하는,
테스트 서버의 전문 기반 통신 방법.
3. The method of claim 2,
Wherein the selected test case comprises a plurality of test cases corresponding to the changed code coverage information,
A professional-based communication method of a test server.
제 3항에 있어서,
상기 제1정보는 상기 선택된 테스트 케이스의 아이디 및 실행 시작 시점 정보를 포함하고, 상기 제2정보는 상기 선택된 테스트 케이스의 아이디 및 실행 종료 시점 정보를 포함하는, 테스트 서버의 전문 기반 통신 방법.
The method of claim 3,
Wherein the first information includes an ID of the selected test case and execution start time information, and the second information includes an ID of the selected test case and execution end time information.
제 3항에 있어서,
상기 고객 서버로부터 상기 제1정보 및 상기 제2정보를 기반으로 수행된 상기 선택된 테스트 케이스에 대한 코드 커버리지 측정 결과를 수신하는 단계;를 더 포함하는, 테스트 서버의 전문 기반 통신 방법.
The method of claim 3,
And receiving a code coverage measurement result of the selected test case based on the first information and the second information from the customer server.
제 5항에 있어서,
상기 고객 서버에 의해 수행된 상기 코드 커버리지 측정 결과를 상기 개발자 단말로 전송하는 단계;를 더 포함하는,
테스트 서버의 전문 기반 통신 방법.
6. The method of claim 5,
And transmitting the code coverage measurement result performed by the customer server to the developer terminal.
A professional-based communication method of a test server.
제 3항에 있어서,
상기 테스트 서버는 테스트 케이스 처리부와 코드 커버리지 처리부를 포함하고,
상기 테스트 케이스 처리부에 의해 상기 선택된 테스트 케이스 관련 제1정보 및 제2정보를 상기 코드 커버리지 처리부로 전송하고,
상기 코드 커버리지 처리부에 의해 상기 제1정보 및 상기 제2정보를 상기 고객 서버로 전송하는,
테스트 서버의 전문 기반 통신 방법.
The method of claim 3,
The test server includes a test case processing unit and a code coverage processing unit,
Transmitting the first test case related information and second information to the code coverage processing unit by the test case processing unit,
And transmitting the first information and the second information to the client server by the code coverage processing unit,
A professional-based communication method of a test server.
개발자 단말 및 고객 서버와 전문 기반으로 통신하는 테스트 서버에 있어서,
상기 개발자 단말로부터 적어도 하나의 테스트 케이스를 수신하는 테스트케이스 수신부;
상기 적어도 하나의 테스트 케이스 중 선택된 테스트 케이스에 대응하는 요청 전문(message)을 생성하는 전문생성부;
상기 테스트 케이스 수신부로부터 선택된 테스트 케이스 관련 제1정보 및 제2정보를 수신하여, 상기 고객 서버에 전송하는 코드 커버리지 처리부; 및
상기 요청 전문을 상기 고객 서버에 전송하고, 상기 고객 서버로부터 상기 요청 전문에 대응하는 응답 전문을 수신하는 전문송수신부를 포함하는, 전문 기반으로 통신하는 테스트 서버.
A test server communicating with a developer terminal and a client server on a specialized basis,
A test case receiving unit receiving at least one test case from the developer terminal;
A professional generating unit for generating a request message corresponding to a selected one of the at least one test cases;
A code coverage processing unit for receiving first test case related information and second information selected from the test case receiving unit and transmitting the first test information and the second information to the customer server; And
And a professional transceiver for transmitting the request telegram to the customer server and receiving a response text corresponding to the request telegram from the customer server.
제 8항에 있어서,
상기 적어도 하나의 테스트 케이스는 상기 적어도 하나의 테스트 케이스에 대응하는 코드 커버리지 정보와 함께 미리 데이터베이스로 저장되는, 전문 기반으로 통신하는 테스트 서버.
9. The method of claim 8,
Wherein the at least one test case is stored in a database in advance with code coverage information corresponding to the at least one test case.
제 9항에 있어서,
상기 선택된 테스트 케이스는 변경된 코드 커버리지 정보에 대응하는, 전문 기반으로 통신하는 테스트 서버.
10. The method of claim 9,
Wherein the selected test case corresponds to the changed code coverage information.
제 10항에 있어서,
상기 제1정보는 상기 선택된 테스트 케이스의 아이디 및 실행 시작 시점 정보를 포함하고, 상기 제2정보는 상기 선택된 테스트 케이스의 아이디 및 실행 종료 시점 정보를 포함하는,
전문 기반으로 통신하는 테스트 서버.
11. The method of claim 10,
Wherein the first information includes an ID of the selected test case and execution start time information, and the second information includes an ID of the selected test case and execution end time information,
A test server that communicates with a professional base.
제 10항에 있어서,
상기 코드 커버리지 처리부는, 상기 고객 서버로부터 상기 제1정보 및 상기 제2정보를 기반으로 수행된 상기 선택된 테스트 케이스에 대한 코드 커버리지 측정 결과를 수신하는,
전문 기반으로 통신하는 테스트 서버.
11. The method of claim 10,
Wherein the code coverage processing unit receives a code coverage measurement result of the selected test case performed based on the first information and the second information from the customer server,
A test server that communicates with a professional base.
제 12항에 있어서,
상기 코드 커버리지 처리부는, 상기 고객 서버에 의해 수행된 상기 코드 커버리지 측정 결과를 상기 개발자 단말로 전송하는,
전문 기반으로 통신하는 테스트 서버.
13. The method of claim 12,
Wherein the code coverage processing unit transmits the code coverage measurement result performed by the client server to the developer terminal,
A test server that communicates with a professional base.
제 1항 내지 제 7항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium for recording a computer program for executing the method according to any one of claims 1 to 7.
KR1020170175446A 2017-12-19 2017-12-19 Message based communicating method of test server and test server communicating based on message KR102088431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170175446A KR102088431B1 (en) 2017-12-19 2017-12-19 Message based communicating method of test server and test server communicating based on message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170175446A KR102088431B1 (en) 2017-12-19 2017-12-19 Message based communicating method of test server and test server communicating based on message

Publications (2)

Publication Number Publication Date
KR20190074072A true KR20190074072A (en) 2019-06-27
KR102088431B1 KR102088431B1 (en) 2020-03-12

Family

ID=67057366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175446A KR102088431B1 (en) 2017-12-19 2017-12-19 Message based communicating method of test server and test server communicating based on message

Country Status (1)

Country Link
KR (1) KR102088431B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532141A (en) * 2019-08-30 2019-12-03 峰米(北京)科技有限公司 A kind of automatization test system and method, a kind of storage medium of intelligent display terminal
CN114610599A (en) * 2022-01-18 2022-06-10 阿里云计算有限公司 Test method and system
CN115277493A (en) * 2022-07-29 2022-11-01 平安科技(深圳)有限公司 Abnormality detection method based on polling test, electronic device, and storage medium
CN116701164A (en) * 2022-11-08 2023-09-05 荣耀终端有限公司 Test method and electronic equipment
WO2023229086A1 (en) * 2022-05-27 2023-11-30 쿠팡 주식회사 Code coverage information provision method and electronic device therefor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100004285A (en) * 2008-07-03 2010-01-13 슈어소프트테크주식회사 Test system and test method for the message based communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100004285A (en) * 2008-07-03 2010-01-13 슈어소프트테크주식회사 Test system and test method for the message based communication system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532141A (en) * 2019-08-30 2019-12-03 峰米(北京)科技有限公司 A kind of automatization test system and method, a kind of storage medium of intelligent display terminal
CN114610599A (en) * 2022-01-18 2022-06-10 阿里云计算有限公司 Test method and system
WO2023229086A1 (en) * 2022-05-27 2023-11-30 쿠팡 주식회사 Code coverage information provision method and electronic device therefor
CN115277493A (en) * 2022-07-29 2022-11-01 平安科技(深圳)有限公司 Abnormality detection method based on polling test, electronic device, and storage medium
CN115277493B (en) * 2022-07-29 2023-06-16 平安科技(深圳)有限公司 Abnormality detection method based on polling test, electronic device and storage medium
CN116701164A (en) * 2022-11-08 2023-09-05 荣耀终端有限公司 Test method and electronic equipment
CN116701164B (en) * 2022-11-08 2024-05-03 荣耀终端有限公司 Test method and electronic equipment

Also Published As

Publication number Publication date
KR102088431B1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
KR20190074072A (en) Message based communicating method of test server and test server communicating based on message
CN110414242B (en) Method, device, equipment and medium for detecting business logic loophole
US8893089B2 (en) Fast business process test case composition
US9141519B2 (en) Accurate identification of software tests based on changes to computer software code
Marick When should a test be automated
US10331439B2 (en) Source code transfer control method, computer program therefor, and recording medium therefor
US20140337821A1 (en) Generating test scripts through application integration
CN112306855B (en) Interface automation test method, device, terminal and storage medium
CN109408375B (en) Method and device for generating interface document
KR101667262B1 (en) Method for measuring code coverage and computer readable recording medium having program the same
CN109977012B (en) Joint debugging test method, device, equipment and computer readable storage medium of system
CN112199277A (en) Browser-based defect reproduction method, device, equipment and storage medium
CN110399304B (en) Script testing method and system
US6853963B1 (en) Analyzing an extended finite state machine system model
CN113094251B (en) Method and device for testing embedded system, computer equipment and storage medium
KR101826618B1 (en) Method and apparatus for generating test case, computer readable recording medium
KR102165037B1 (en) Code coverage measuring apparatus, code coverage measuring method of the code coverage mearusing apparatus, and code coverage measuring system
US20230153081A1 (en) Methods and systems for correlating source code commitments and model result records during model development
CN111444093B (en) Method and device for determining quality of project development process and computer equipment
US20080195453A1 (en) Organisational Representational System
CN113656319A (en) Regression testing method and device, electronic equipment and storage medium
Carmona et al. Quality dimensions for relating processes and models
KR101088054B1 (en) Test system and test method for the message based communication system
CN112416735A (en) Application program detection method and device, terminal equipment and storage medium
Duarte et al. Extraction of probabilistic behaviour models based on contexts

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