KR20200129232A - Test automation framework system for medical software and method of test automation - Google Patents

Test automation framework system for medical software and method of test automation Download PDF

Info

Publication number
KR20200129232A
KR20200129232A KR1020190053085A KR20190053085A KR20200129232A KR 20200129232 A KR20200129232 A KR 20200129232A KR 1020190053085 A KR1020190053085 A KR 1020190053085A KR 20190053085 A KR20190053085 A KR 20190053085A KR 20200129232 A KR20200129232 A KR 20200129232A
Authority
KR
South Korea
Prior art keywords
test
automation
automated
build
medical software
Prior art date
Application number
KR1020190053085A
Other languages
Korean (ko)
Other versions
KR102617906B1 (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 KR1020190053085A priority Critical patent/KR102617906B1/en
Publication of KR20200129232A publication Critical patent/KR20200129232A/en
Application granted granted Critical
Publication of KR102617906B1 publication Critical patent/KR102617906B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed is a test automation system for medical software. According to the present invention, the test automation system comprises: a development automation machine performing an automation test or ordering a build machine to perform the automation test in accordance with a test request from an integrated development environment; the build machine performing building in accordance with a build request from the integrated development environment and performing the automation test in accordance with a test request of the development automation machine; and a shape management machine storing a performance result of the automation test and providing a test case for performing the automation test to the development automation machine or the build machine. Accordingly, a test automation framework system for medical software is provided, thereby providing an effect of providing test automation functions considering major automation elements of the medical software.

Description

의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템 및 테스트 자동화 방법{TEST AUTOMATION FRAMEWORK SYSTEM FOR MEDICAL SOFTWARE AND METHOD OF TEST AUTOMATION}Test automation framework system for medical software and test automation method {TEST AUTOMATION FRAMEWORK SYSTEM FOR MEDICAL SOFTWARE AND METHOD OF TEST AUTOMATION}

본 출원은 의료용 소프트웨어를 위한 테스트 자동화 프레임워크에 관한 것이며, 보다 상세하게는 의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템 및 테스트 자동화 방법에 관한 것이다.The present application relates to a test automation framework for medical software, and more particularly, to a test automation framework system and a test automation method for medical software.

데브옵스(Devops)는 소프트웨어의 개발(Development)과 운영(Operation)의 합성어이다. 데브옵스는 소프트웨어 개발에 있어 기존 개발팀과 품질팀 등의 각 부서에서 별도로 수행하였던 업무 프로세스를 통합하여 서로 간의 빠른 피드백을 가능하게 함으로써 소프트웨어 제품/서비스의 빠른 개발 및 배포를 가능하게 하기 위한 개념이다.Devops is a compound word for software development and operation. DevOps is a concept to enable rapid development and distribution of software products/services by integrating work processes that were separately performed by each department such as the existing development team and quality team in software development and enabling quick feedback between them.

데브옵스의 중요한 요소 중 하나는 자동화 이슈이다. 소프트웨어 테스트 자동화가 구현되면, 반복적인 작업들을 연속적으로 수행하여 테스트 결과와 개선사항 등에 대한 피드백을 사용자에게 빠르게 제공할 수 있어 테스트 시간이 절감된다. 또한, 테스트 자동화를 통한 방대한 테스트와 검증된 도구 사용을 통해 테스트의 정확도 또한 개선될 수 있다.One of the important elements of DevOps is the issue of automation. When software test automation is implemented, it is possible to continuously perform repetitive tasks to quickly provide feedback on test results and improvements to users, thereby reducing test time. In addition, test accuracy can be improved through extensive testing through test automation and the use of proven tools.

그러나, 현재의 테스트 자동화 적용 정도는 소프트웨어 개발 과정의 전체가 아닌 일부 파트에 대한 테스트 자동화만이 구현되어 있어, 전체적인 소프트웨어 테스트를 충분히 수행하지 못하는 문제점을 가지고 있다. 특히, 의료용 소프트웨어의 경우, 높은 수준의 소프트웨어 정확도 및 신뢰도가 요구되기 때문에, 소프트웨어 개발시에 보다 높은 수준의 테스트 자동화 구현이 요구되고 있다.However, the current test automation application degree has a problem in that the entire software test is not sufficiently performed because only test automation is implemented for some parts rather than the entire software development process. In particular, in the case of medical software, since a high level of software accuracy and reliability is required, a higher level of test automation is required during software development.

특허문헌 1: 공개특허공보 제10-2007-0037808호(2007.04.09)Patent Document 1: Unexamined Patent Publication No. 10-2007-0037808 (2007.04.09)

이러한 문제점을 해결하기 위해 본 발명은, 의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템 및 테스트 자동화 방법을 제공하는 것을 목적으로 한다.In order to solve this problem, an object of the present invention is to provide a test automation framework system and a test automation method for medical software.

본 발명의 일 실시예에 따르면, 의료용 소프트웨어를 위한 테스트 자동화 시스템에 제시된다. 상기 시스템은, 통합 개발 환경으로부터의 테스트 요청에 따라 자동화 테스트를 수행하거나 또는 빌드 머신이 상기 자동화 테스트를 수행하도록 지시하는 개발자동화 머신; 상기 통합 개발 환경으로부터의 빌드(build) 요청에 따라 빌드를 수행하고, 상기 개발자동화 머신의 테스트 요청에 따라 상기 자동화 테스트를 수행하는 빌드 머신; 및 상기 자동화 테스트의 수행 결과를 저장하는 형상관리 머신을 포함할 수 있다.According to an embodiment of the present invention, a test automation system for medical software is presented. The system includes: a developer fairy tale machine for performing an automated test or instructing a build machine to perform the automated test according to a test request from an integrated development environment; A build machine that performs a build according to a build request from the integrated development environment, and performs the automated test according to a test request from the developer fairy tale machine; And it may include a configuration management machine for storing the execution result of the automated test.

본 발명의 일 실시예에 따르면, 의료용 소프트웨어를 위한 자동화 스모크테스트(smoke test) 방법이 제공된다. 상기 방법은, 상기 의료용 소프트웨어의 레퍼런스 모델과 연관되는 테스트케이스들의 서브세트를 결정하는 단계; 상기 테스트케이스들의 서브세트에 기초하여 입력 영상 데이터를 생성하는 단계; 상기 입력 영상 데이터를 이용하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계; 및 상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함할 수 있다.According to an embodiment of the present invention, an automated smoke test method for medical software is provided. The method includes determining a subset of test cases associated with a reference model of the medical software; Generating input image data based on the subset of test cases; Performing an automation test through a UI automation tool using the input image data; And storing and managing the execution result of the automated test in the automated test storage.

본 발명의 일 실시예에 따르면, 의료용 소프트웨어를 위한 UI 자동화 테스트 방법이 제공된다. 상기 방법은, 상기 의료용 소프트웨어의 전체 인터페이스 기능요소들에 대한 테스트케이스들을 결정하는 단계; 상기 테스트케이스들에 대하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계; 및 상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a UI automation test method for medical software is provided. The method includes determining test cases for all interface functional elements of the medical software; Performing an automated test on the test cases through a UI automation tool; And storing and managing the execution result of the automated test in the automated test storage.

본 발명의 일 실시예에 따르면, 의료용 소프트웨어를 위한 상호운용성 자동화 테스트 방법이 제공된다. 상기 방법은, 상기 의료용 소프트웨어와 연관된 데이터 표준에 기초하여 테스트케이스들을 결정하는 단계; 상기 테스트케이스들의 테스트 데이터에 대하여 테스트 오라클을 통해 자동화 테스트를 수행하는 단계; 및 상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a method for automating interoperability testing for medical software is provided. The method includes determining test cases based on a data standard associated with the medical software; Performing an automated test on the test data of the test cases through a test oracle; And storing and managing the execution result of the automated test in the automated test storage.

본 발명의 일 실시예에 따르면, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램이 제공되며, 상기 컴퓨터 프로그램은 본 개시 내용의 자동화 테스트 방법들을 실행하기 위한 컴퓨터-실행가능 명령들을 포함할 수 있다.According to an embodiment of the present invention, a computer program stored in a computer-readable medium is provided, and the computer program may include computer-executable instructions for executing the automated test methods of the present disclosure.

본 개시 내용에 따르면, 의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템을 제공함으로써 의료용 소프트웨어의 주요한 자동화 요소들이 반영된 테스트 자동화 기능들을 제공할 수 있는 효과가 있다.According to the present disclosure, by providing a test automation framework system for medical software, there is an effect of providing test automation functions in which major automation elements of medical software are reflected.

또한, 본 개시 내용에 따르면, 대표성을 가지는 레퍼런스 모델에 따라 주요 데이터 및 주요 기능들의 테스트 자동화를 가능하게 하는 스모크테스트 자동화 기능을 제공할 수 있는 효과가 있다.Further, according to the present disclosure, there is an effect of providing a smoke test automation function that enables test automation of main data and main functions according to a representative reference model.

또한, 본 개시 내용에 따르면, 전체 인터페이스 기능요소에 대한 테스트 자동화를 가능하게 하는 UI 자동화 테스트 기능을 제공할 수 있는 효과가 있다.Further, according to the present disclosure, there is an effect of providing a UI automation test function that enables test automation for all interface functional elements.

또한, 본 개시 내용에 따르면, 이기종 장비와의 호환성을 검증할 수 있는 상호운용성 테스트 자동화 기능을 제공할 수 있는 효과가 있다. In addition, according to the present disclosure, there is an effect of providing an interoperability test automation function capable of verifying compatibility with heterogeneous equipment.

도 1은 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 자동화 스모크테스트 방법을 나타내는 도면이다.
도 3은 도 2의 단계 220 및 230을 시각적으로 나타낸 예시 도면이다.
도 4는 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 UI 자동화 테스트 방법을 나타내는 도면이다.
도 5는 도 4의 UI 자동화 테스트에서 테스트케이스들이 테스트되는 순서를 나타내는 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 상호운용성 자동화 테스트 방법을 나타내는 도면이다.
도 7은 도 6에 따른 상호운용성 자동화 테스트를 위한 테스트 오라클을 도시하는 예시적인 도면이다.
1 is a diagram showing a test automation framework system for medical software according to an embodiment of the present invention.
2 is a view showing an automated smoke test method for medical software according to an embodiment of the present invention.
3 is an exemplary view visually showing steps 220 and 230 of FIG. 2.
4 is a diagram illustrating a UI automation test method for medical software according to an embodiment of the present invention.
FIG. 5 is an exemplary diagram illustrating an order in which test cases are tested in the UI automation test of FIG. 4.
6 is a diagram illustrating a method for automating interoperability testing for medical software according to an embodiment of the present invention.
FIG. 7 is an exemplary diagram illustrating a test oracle for an automated interoperability test according to FIG. 6.

이하, 본 발명의 바람직한 실시예들을 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to elements of each drawing, it should be noted that the same elements have the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

본 발명의 다양한 양상들이 아래에서 설명된다. 여기에서 제시되는 발명들은 폭넓은 다양한 형태들로 구현될 수 있으며 여기에서 제시되는 임의의 특정한 구조, 기능 또는 이들 모두는 단지 예시적이라는 것을 이해하도록 한다. 여기에서 제시되는 발명들에 기반하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 여기에서 제시되는 하나의 양상이 임의의 다른 양상들과 독립적으로 구현될 수 있으며 둘 이상의 이러한 양상들이 다양한 방식들로 결합될 수 있다는 것을 이해할 것이다. 예를 들어, 여기에서 설명되는 임의의 수의 양상들을 이용하여 장치가 구현될 수 있거나 또는 방법이 실시될 수 있다. 또한, 여기에서 설명되는 하나 이상의 양상들에 더하여 또는 이들 양상들이 아닌 다른 구조, 기능 또는 구조 및 기능을 이용하여 이러한 장치가 구현될 수 있거나 또는 이러한 방법이 실시될 수 있다. Various aspects of the invention are described below. It is to be understood that the inventions presented herein may be embodied in a wide variety of forms and any particular structure, function, or all of them presented herein are exemplary only. Based on the inventions presented herein, a person of ordinary skill in the art to which the present invention pertains may implement one aspect presented herein independently from any other aspects, and two or more such aspects may be implemented in various ways. You will understand that it can be combined with. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects described herein. In addition, such an apparatus may be implemented or such a method may be practiced using a structure, function, or structure and functionality other than or in addition to one or more aspects described herein.

본 개시 내용의 테스트 자동화 프레임워크 시스템 및 테스트 자동화 방법이 적용되는 의료용 소프트웨어는 설명의 편의를 위해, 예시적으로 치과용 CAD(Computer Aided Design) 소프트웨어로서 기술될 것이다. 이러한 치과용 CAD 소프트웨어는 구강 스캐너로 스캔한 이미지를 기반으로 치과보철물을 디자인하고 보철물 가공기를 통해 보철물 제작이 가능하도록 돕은 소프트웨어일 수 있다. 그러나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시 내용이 적용될 수 있는 의료용 소프트웨어가 치과용 CAD 소프트웨어로 한정되지 않으며, 다른 의료 용도의 소프트웨어에도 본 개시 내용의 기술적 사상이 적용될 수 있음을 이해할 것이다. The test automation framework system and the medical software to which the test automation method of the present disclosure is applied will be exemplarily described as dental CAD (Computer Aided Design) software for convenience of description. Such dental CAD software may be software designed to design a dental prosthesis based on an image scanned with an oral scanner and to produce a prosthesis through a prosthesis processor. However, those of ordinary skill in the technical field to which the present disclosure belongs is not limited to dental CAD software as medical software to which the present disclosure can be applied, and the technical idea of the present disclosure may be applied to software for other medical purposes. Will understand.

도 1은 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 테스트 자동화 프레임워크 시스템을 나타내는 도면이다.1 is a diagram showing a test automation framework system for medical software according to an embodiment of the present invention.

본 개시 내용에 따른 테스트 자동화 프레임워크 시스템(100)은 형상관리 머신(120), 개발자동화 머신(130) 및 빌드 머신(140)을 포함할 수 있다. 또한, 소프트웨어 개발 및 테스트를 위해 개발자 컴퓨터(110)는 형상관리 머신(120), 개발자동화 머신(130) 및 빌드 머신(140)과 상호 연결될 수 있다. 이를 위해, 본 개시 내용의 테스트 자동화 프레임워크 시스템(100)은 온프라미스(On-Premise) 환경과 같은 내부망 환경에서 구현될 수 있거나 또는 클라우드 환경과 같은 외부망 환경에서 구현될 수 있다.The test automation framework system 100 according to the present disclosure may include a configuration management machine 120, a developer fairy tale machine 130, and a build machine 140. In addition, for software development and testing, the developer computer 110 may be interconnected with the configuration management machine 120, the developer fairy tale machine 130, and the build machine 140. To this end, the test automation framework system 100 of the present disclosure may be implemented in an internal network environment such as an on-premise environment or may be implemented in an external network environment such as a cloud environment.

개발자 컴퓨터(110)는 통합 개발 환경(111)을 포함할 수 있다. 통합 개발 환경(111)은 소프트웨어 개발 과정에 필요한 모든 작업을 하나의 소프트웨어에서 처리할 수 있는 IDE(Integrated Development Environment)와 같은 통합 개발 환경 소프트웨어로서 구현될 수 있다.The developer computer 110 may include an integrated development environment 111. The integrated development environment 111 may be implemented as an integrated development environment software such as an integrated development environment (IDE) capable of processing all tasks required for a software development process in one software.

형상관리 머신(120)은 본 개시 내용에 따른 자동화 테스트의 수행 결과를 저장할 수 있다. 또한, 형상관리 머신(120)은 통합 개발 환경에서 커밋(commit)한 소스코드뿐만 아니라 각 툴 체인 도구들의 백업파일을 저장할 수 있다. 이를 위해, 형상관리 머신(120)은 저장소(repository)(121)를 포함할 수 있다. 저장소(121)는 예컨대 Gitlab으로서 구현될 수 있다.The configuration management machine 120 may store a result of performing the automated test according to the present disclosure. In addition, the configuration management machine 120 may store a backup file of each tool chain tool as well as a committed source code in the integrated development environment. To this end, the configuration management machine 120 may include a repository 121. The repository 121 may be implemented as, for example, Gitlab.

개발자동화 머신(130)은 통합 개발 환경(111)으로부터의 테스트 요청에 따라 자동화 테스트를 수행하거나 또는 빌드 머신(140)이 자동화 테스트를 수행하도록 지시할 수 있다. 개발자동화 머신(130)은 CI 툴(continuous integration tool) 모듈(131), 분석/리뷰 모듈(132), 시각화 모듈(133), 이슈 관리 모듈(134), 메신저 모듈(135), 상호운용성 테스트 자동화 모듈(136), 코드 테스트 자동화 모듈(137)을 포함할 수 있다.The developer fairy tale machine 130 may perform an automated test according to a test request from the integrated development environment 111 or may instruct the build machine 140 to perform the automated test. The developer assimilation machine 130 is a CI tool (continuous integration tool) module 131, an analysis/review module 132, a visualization module 133, an issue management module 134, a messenger module 135, and interoperability test automation. A module 136 and a code test automation module 137 may be included.

빌드 머신(140)은 통합 개발 환경(111)으로부터의 빌드(build) 요청에 따라 빌드를 수행할 수 있다. 또한, 빌드 머신(140)은 개발자동화 머신(130)의 테스트 요청에 따라 자동화 테스트를 수행할 수 있다. 빌드 머신(140)은 빌드 모듈(141), UI 테스트 자동화 모듈(142), 패키징/배포 모듈(143)을 포함할 수 있다.The build machine 140 may perform a build according to a build request from the integrated development environment 111. In addition, the build machine 140 may perform an automated test according to a test request from the developer fairy tale machine 130. The build machine 140 may include a build module 141, a UI test automation module 142, and a packaging/distribution module 143.

본 개시 내용에 따르면, 통합 개발 환경(111)은 코딩된 의료용 소프트웨어의 테스트를 위해 테스트 자동화 프레임워크 시스템(100)으로 테스트/빌드를 요청할 수 있다. 통합 개발 환경(111)의 요청에 응답하여, 분석/리뷰 모듈(132)은 해당 프로그램의 소스코드에 대한 분석 및 리뷰를 수행하며, 리뷰 성공시 해당 프로그램은 형상관리 머신(120)의 저장소(121)로 커밋(commit)될 수 있다. 분석/리뷰 모듈(132)에 의해 수행되는 분석은 소스코드의 코드복잡도, 결함 등을 검출하는 정적분석을 포함할 수 있다. 분석/리뷰 모듈(132)에 의해 수행되는 리뷰는 예컨대 Gerrit과 같은 코드 협업 도구를 통해 구현될 수 있다. 또한, CI 툴 모듈(131)은 통합 개발 환경(111)의 요청에 응답하여 자동화 테스트의 수행을 제어할 수 있다. CI 툴 모듈(131)은 예컨대 자바로 구현된 오픈 소스 자동화 서버인 Jenkins로 구현될 수 있다. 구체적으로, CI 툴 모듈(131)은 빌드 머신(140)으로 빌드를 요청할 수 있으며, 빌드 모듈(141)은 소프트웨어 빌드를 수행할 수 있다. 빌드 모듈(141)은 예컨대 MSBuild와 같은 빌드 엔진으로 구현될 수 있다. 그 다음에 UI 테스트 자동화 모듈(142)은 빌드된 결과물에 대하여 UI 테스트를 수행할 수 있다. UI 테스트는 예컨대 Testcomplete와 같은 자동 기능 테스트 플랫폼의 UI 자동화 도구를 이용하여 수행될 수 있다. 그 다음에 패키징/배포 모듈(143)은 배포용 소프트웨어 패키지를 생성할 수 있다. 패키징/배포 모듈(143)은 예컨대 Installshield와 같은 인스톨러/소프트웨어 패키징 생성용 툴로서 구현될 수 있다.According to the present disclosure, the integrated development environment 111 may request a test/build from the test automation framework system 100 for testing coded medical software. In response to the request of the integrated development environment 111, the analysis/review module 132 analyzes and reviews the source code of the corresponding program, and if the review is successful, the program is stored in the storage 121 of the configuration management machine 120. ) Can be committed. The analysis performed by the analysis/review module 132 may include static analysis that detects code complexity, defects, etc. of the source code. The review performed by the analysis/review module 132 may be implemented through a code collaboration tool such as Gerrit. In addition, the CI tool module 131 may control the execution of the automated test in response to a request from the integrated development environment 111. The CI tool module 131 may be implemented with Jenkins, an open source automation server implemented in Java. Specifically, the CI tool module 131 may request a build from the build machine 140, and the build module 141 may perform a software build. The build module 141 may be implemented with a build engine such as MSBuild. Then, the UI test automation module 142 may perform a UI test on the built result. The UI test may be performed using a UI automation tool of an automatic functional testing platform such as Testcomplete. Then, the packaging/distribution module 143 may generate a software package for distribution. The packaging/distribution module 143 may be implemented as an installer/software packaging creation tool such as Installshield.

여기서, 시각화 모듈(133)은 소프트웨어 빌드 및 자동화 테스트 결과를 시각적으로 제공할 수 있다. 시각화 모듈(133)은 예컨대 Grafana 대시보드와 같은 프로그램으로 구현되어 시각화된 데이터를 제공할 수 있다. 전술한 빌드 및 자동화 테스트 과정 중에 실패 또는 특정 이벤트가 발생한 경우, 메신저 모듈(134)은 이러한 사실을 개발자에게 통지할 수 있다. 또한, 빌드 및 자동화 테스트 과정 중 발생하는 이슈들은 이슈 관리 모듈(134)에 의해 관리될 수 있다. 이슈 관리 모듈(134)은 예컨대 이슈 트래킹 소프트웨어인 jira로 구현될 수 있다.Here, the visualization module 133 may visually provide software build and automation test results. The visualization module 133 may be implemented as a program such as a Grafana dashboard to provide visualized data. When a failure or a specific event occurs during the above-described build and automation test process, the messenger module 134 may notify the developer of this fact. In addition, issues occurring during the build and automation test process may be managed by the issue management module 134. The issue management module 134 may be implemented, for example, with jira, which is an issue tracking software.

본 개시 내용에 따른 테스트 자동화 프레임워크 시스템(100)은 후술할 바와 같이 의료용 소프트웨어의 테스트 자동화를 위해 골든모델을 이용한 스모크테스트, UI 자동화 테스트, 상호운용성 자동화 테스트, 및 소스코드 자동화 테스트를 제공할 수 있다. The test automation framework system 100 according to the present disclosure can provide a smoke test, a UI automation test, an interoperability automation test, and a source code automation test using a golden model for test automation of medical software, as will be described later. have.

전술한 자동화 테스트 방법들은 빌드 형태와 연관되어 수행될 수 있다. 이와 관련하여, 빌드 형태는 커밋(Commit) 빌드, 데일리(Daily) 빌드, 디플로이(Deploy) 빌드를 포함할 수 있다. 커밋 빌드는 개발자의 커밋 시도시에 수행될 수 있으며, 자동화 스모크테스트, 상호운용성 자동화 테스트 및 소스코드 자동화 테스트는 커밋 빌드 요청에 따라 수행될 수 있다. 데일리 빌드는 수행시간이 많이 소요되는 작업에 대하여 정해진 스케줄(예컨대, 일 1회)에 따라 수행될 수 있다. 후술할 UI 자동화 테스트는 의료용 소프트웨어의 전체 기능요소에 대하여 수행되기 때문에 데일리 빌드 요청에 따라 수행될 수 있다. 디플로이 빌드는 배포만을 위한 빌드로서, 배포 필요시 통합 개발 환경(111)의 빌드 요청에 따라 수행될 수 있다. 한편, 다른 실시예에 따르면, 전술한 자동화 테스트 방법들 중 적어도 하나는 디플로이 빌드시에 함께 수행되도록 구현될 수 있다.The above-described automated test methods may be performed in association with the build type. In this regard, the build type may include a commit build, a daily build, and a deploy build. The commit build can be performed when the developer attempts to commit, and the automated smoke test, interoperability automation test, and source code automation test can be performed according to the commit build request. The daily build may be performed according to a predetermined schedule (eg, once a day) for tasks that take a long time to execute. The UI automation test, which will be described later, may be performed according to a daily build request because it is performed on all functional elements of medical software. The deployment build is a build for deployment only, and may be performed according to a build request from the integrated development environment 111 when deployment is required. On the other hand, according to another embodiment, at least one of the above-described automated test methods may be implemented to be performed together when building the deployment.

도 2는 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 자동화 스모크테스트 방법을 나타내는 도면이다.2 is a view showing an automated smoke test method for medical software according to an embodiment of the present invention.

치과용 CAD 소프트웨어와 같은 의료용 소프트웨어의 CAD 테스트 복잡도 해결을 위해, 본 개시 내용은 대표성을 가지는 레퍼런스 모델에 대한 1차적인 빠른 자동화 테스트 방식으로서 골든모델 모델링에 기초하는 자동화 스모크테스트 방법을 제안한다.In order to solve the CAD test complexity of medical software such as dental CAD software, the present disclosure proposes an automated smoke test method based on golden model modeling as a primary fast automated test method for a representative reference model.

본 개시 내용의 자동화 스모크테스트 방법은 의료용 소프트웨어의 레퍼런스 모델과 연관되는 테스트케이스들의 서브세트를 결정하는 단계(210), 상기 테스트케이스들의 서브세트에 기초하여 입력 영상 데이터를 생성하는 단계(220), 상기 입력 영상 데이터를 이용하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계(230) 및 상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계(240)를 포함할 수 있다. 이러한 자동화 스모크테스트 방법은 커밋 빌드시에 빌드 머신(140)의 UI 테스트 자동화 모듈(142)에서 수행될 수 있다.The automated smoke test method of the present disclosure includes determining a subset of test cases associated with a reference model of medical software (210), generating input image data based on the subset of test cases (220), A step 230 of performing an automated test through a UI automation tool using the input image data, and a step 240 of storing and managing the execution result of the automated test in an automated test storage. Such an automated smoke test method may be performed by the UI test automation module 142 of the build machine 140 at the time of commit build.

본 개시 내용의 자동화 스모크테스트는 단시간 테스트를 통해 자동화 테스트의 충분성을 확보할 수 있어야 하기 때문에, 단계(210)에서 골든모델 모델링에 기초하여 예컨대 치과용 CAD 소프트웨어에 대하여 대표성을 가지는 레퍼런스 모델이 결정될 수 있다. 구체적으로, 치과용 CAD 소프트웨어의 경우, 치아구성, 치료유형, 치아위치, 치아개수 등의 치아 치료의 기본요소들을 기초로, 많은 경우의 수를 커버하고 오류를 용이하게 검증할 수 있으며 사용빈도가 높은 동작을 검증할 수 있는 골든모델을 모델링할 수 있다. Since the automated smoke test of the present disclosure needs to be able to secure the sufficiency of the automated test through a short test, a reference model having representativeness for, for example, dental CAD software is determined based on the golden model modeling in step 210. I can. Specifically, in the case of dental CAD software, based on the basic elements of dental treatment such as tooth composition, treatment type, tooth position, and number of teeth, it can cover a large number of cases and easily verify errors, and the frequency of use You can model a golden model that can verify high behavior.

예시적으로, 골든 모델 구현을 위한 모델링 요소를 CAD 입력영상과 작업루틴으로 구분하여 각각에 대한 분류 기준을 아래의 표 1과 같이 설정할 수 있다.As an example, modeling elements for implementing a golden model can be classified into CAD input images and work routines, and classification criteria for each can be set as shown in Table 1 below.

- 골든모델 모델링-Golden model modeling 대상object 분류 기준Classification criteria 입력영상Input video 치아 구성 유형(일반, 임상, 난해)Type of tooth composition (general, clinical, difficult) 치료 유형(라미네이트, 크라운, 인레이 등)Type of treatment (laminate, crown, inlay, etc.) 치아 위치(상악, 하악)Tooth position (maxilla, mandible) 치아 위치(전치, 구치)Tooth position (anterior, posterior) 치아 개수(싱글, 6전치)Number of teeth (single, 6 incisors) 작업루틴Work routine 입력영상과 연관된 일반루틴General routine related to input video 대상제품에서 강조하고 싶은 루틴Routine you want to emphasize in the target product

또한, 예시적으로 표 1에서 제시된 요소들을 기반으로 임상 실효성을 고려한 기준에 따라 12가지의 상세 케이스(즉, 테스트케이스들의 서브세트)를 결정할 수 있다.In addition, 12 detailed cases (ie, a subset of test cases) may be determined according to a criterion that considers clinical effectiveness based on the factors presented in Table 1 as an example.

- 골든모델 상세 케이스 설계-Golden model detailed case design 구분division 치아구성Tooth composition 치료유형Treatment type 위치(상하)Position (up and down) 위치(앞뒤)Position (back and forth) 치아개수Number of teeth 1One 일반Normal 라미네이트Laminate 상악Maxillary 전치transposition 6전치6 incisors 22 일반Normal 크라운Crown 상악Maxillary 구치Posterior 싱글single 33 일반Normal 인레이Inlay 상악Maxillary 구치Posterior 싱글single 44 일반Normal 인레이Inlay 하악Mandible 구치Posterior 싱글single 55 일반Normal 크라운Crown 하악Mandible 구치Posterior 싱글single 66 임상clinical 브릿지bridge 상악Maxillary 전치transposition 3본3 copies 77 임상clinical 브릿지bridge 상/하악Upper/mandibular 구치Posterior 4/3본4/3 copies 88 임상clinical 브릿지bridge 상악Maxillary 전치transposition 7본7 copies 99 난해Difficult 브릿지bridge 상악Maxillary 전치transposition 싱글single 1010 난해Difficult 크라운Crown 상악Maxillary 구치Posterior 싱글single 1111 난해Difficult 인레이Inlay 상악Maxillary 구치Posterior 싱글single 1212 난해Difficult 라미네이트Laminate 상악Maxillary 전치transposition 6전치6 incisors

단계 220에서, 표 2에 예시된 바와 같은 테스트케이스들의 서브세트에 기초하여 입력 영상 데이터가 생성될 수 있다. 구체적으로, 각 테스트케이스를 기반으로 제작된 치아모형을 스캐너로 스캔함으로써 입력 영상 데이터가 생성될 수 있다. 입력 영상 데이터는 예시적으로 3D 데이터일 수 있으며, 또한 예시적으로 STL 포맷의 3D 모델 데이터일 수 있다. 단계 230에서, 예컨대 Testcomplete와 같은 UI 자동화 도구를 통해 입력 영상 데이터를 이용하여 자동화 스모크테스트가 수행될 수 있다. 단계 240에서, 자동화 테스트의 수행 결과는 형상관리 머신(120)의 저장소(121)에 저장 및 관리될 수 있으며, 저장소(121)에 저장된 테스트 수행 결과는 테스터에 의해 조회가능하도록 저장될 수 있다. 도 3은 단계 220 및 230을 시각적으로 나타낸 예시 도면이다.In step 220, input image data may be generated based on a subset of test cases as illustrated in Table 2. Specifically, input image data may be generated by scanning a tooth model produced based on each test case with a scanner. The input image data may be 3D data as an example, and may also be 3D model data in STL format as an example. In step 230, an automated smoke test may be performed using input image data through a UI automation tool such as Testcomplete. In step 240, the execution result of the automated test may be stored and managed in the storage 121 of the configuration management machine 120, and the test execution result stored in the storage 121 may be stored to be inquired by the tester. 3 is an exemplary diagram visually showing steps 220 and 230.

도 4는 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 UI 자동화 테스트 방법을 나타내는 도면이다.4 is a diagram illustrating a UI automation test method for medical software according to an embodiment of the present invention.

도 2와 관련하여 설명된 자동화 스모크테스트는 골든모델에 기초하여 대상 소프트웨어의 중요 기능들에 대한 빠른 자동화 테스트를 제공하지만 소프트웨어의 전체 인터페이스 기능요소들을 커버하지는 않는다. 이에 본 개시 내용은 치과용 CAD 소프트웨어와 같은 의료용 소프트웨어의 전체 인터페이스 기능요소들을 자동화 테스트하기 위한 UI 자동화 테스트 방법을 제안한다. The automated smoke test described in connection with FIG. 2 provides a quick automated test for important functions of the target software based on the golden model, but does not cover the entire interface functional elements of the software. Accordingly, the present disclosure proposes a UI automated test method for automated testing of all interface functional elements of medical software such as dental CAD software.

본 개시 내용의 UI 자동화 테스트 방법은, 의료용 소프트웨어의 전체 인터페이스 기능요소들에 대한 테스트케이스들을 결정하는 단계(310), 결정된 테스트케이스들에 대하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계(320) 및 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계(330)를 포함할 수 있다. 이러한 UI 자동화 테스트 방법은 데일리 빌드시에 빌드 머신(140)의 UI 테스트 자동화 모듈(142)에서 수행될 수 있다. 또한, 결함 분석에 의한 추가 테스트케이스들 또는 개발 과정에서 생성되는 추가 기능요소에 대한 테스트케이스들이 추가적으로 UI 자동화 테스트에서 테스트될 수 있도록, 단계(310)는 의료용 소프트웨어의 결함 분석 또는 추가 기능요소에 기초하여 테스트케이스를 업데이트하는 동작을 포함할 수 있다.The UI automation test method of the present disclosure includes determining test cases for all interface functional elements of medical software (310), and performing an automated test on the determined test cases through a UI automation tool (320). And storing and managing the result of the execution of the automated test in the automated test storage (330). This UI automation test method may be performed in the UI test automation module 142 of the build machine 140 during daily build. In addition, step 310 is based on defect analysis or additional functional elements of medical software so that additional test cases by defect analysis or test cases for additional functional elements generated in the development process can be additionally tested in the UI automation test. Thus, an operation of updating the test case may be included.

본 개시 내용의 UI 자동화 테스트에서 테스트되는 테스트케이스들은 Unattended 케이스, Attended 케이스 및 명세기반 케이스를 포함할 수 있다. Unattended 케이스는 테스트 수행에서 결과 판단까지 UI 자동화 도구에 의해 수행될 수 있는 테스트케이스이다. 예컨대, Unattended 케이스에 대하여는 UI 자동화 도구에 의해 P/F(Pass/Fail)이 자동판정되어 테스트 결과가 출력될 수 있다. Attended 케이스는 UI 자동화 도구에 의해 테스트가 자동 수행되지만 결과 판단은 테스터에 의해 이루어지는 테스트케이스이다. Attended 케이스에 대하여 UI 자동화 도구는 예컨대 테스터가 결과 판단을 할 수 있도록 기대 이미지(Expected Image), 결과 이미지(Result Image), 두 이미지의 유사도 분석결과를 포함하는 테스트 결과를 제공할 수 있다. 명세기반 케이스는 UI 자동화 도구에 의한 자동 테스트가 불가능한 테스트케이스이다. 명세기반 케이스는 테스터에 의한 직접 분석 및 결과 판단이 요구된다. Test cases tested in the UI automation test of the present disclosure may include an Unattended case, an Attended case, and a specification-based case. The unattended case is a test case that can be performed by the UI automation tool from test execution to result determination. For example, for an unattended case, P/F (Pass/Fail) is automatically determined by a UI automation tool, and a test result may be output. In the Attended case, the test is automatically performed by the UI automation tool, but the result judgment is a test case made by the tester. For the attended case, the UI automation tool may provide, for example, an expected image, a result image, and a test result including a similarity analysis result of the two images so that the tester can judge the result. Specification-based cases are test cases that cannot be automatically tested by UI automation tools. Specification-based cases require direct analysis and result judgment by testers.

도 5는 도 4의 UI 자동화 테스트에서 테스트케이스들이 테스트되는 순서를 나타내는 예시적인 도면이다. 도 5에 도시된 바와 같이, 본 개시 내용의 UI 자동화 테스트는 자동 케이스인 Unattended 케이스에 대하여 먼저 수행될 수 있고, 그 다음에 반자동 케이스인 Attended 케이스에 대하여 수행될 수 있으며, 그 다음에 명세기반 케이스에 대하여 수행될 수 있다. 그러나, 본 개시 내용의 UI 자동화 테스트는 위 테스트 순서에 한정되지 않으며, 실시예에 따라 전술한 순서와는 다른 순서로 수행될 수도 있다.FIG. 5 is an exemplary diagram illustrating an order in which test cases are tested in the UI automation test of FIG. 4. As shown in FIG. 5, the UI automation test of the present disclosure may be performed first for an unattended case, which is an automatic case, and then, may be performed for an Attended case, which is a semi-automatic case, and then a specification-based case. Can be done against However, the UI automation test of the present disclosure is not limited to the above test order, and may be performed in a different order from the above-described order according to embodiments.

본 개시 내용에서 테스트케이스들은 오류사례, 명세기반 기능리스트, 결함 리포트 등과 같은 테스트 피드백 자료에 기초하여 소프트웨어 단위 기능에 대하여 생성될 수 있다. 또한, 각 테스트케이스는 UI 위치 변경에 독립적이도록 UI 이벤트 기반 스크립트 형태로 생성될 수 있다. 또한, 불필요한 테스트케이스의 생성을 방지하기 위해, 본 개시 내용은 pairwise 기법과 같은 중복 제거 방식을 이용하여 리던던트한 테스트케이스들의 개수를 줄일 수 있다. 또한, 본 개시 내용의 UI 자동화 테스트가 전체 테스트케이스들에 대하여 수행된 후에, 예컨대 Bullseye와 같은 검증 도구를 통해 테스트 커버리지가 측정되어 UI 자동화 테스트의 효율성이 검증될 수 있다.In the present disclosure, test cases may be generated for a software unit function based on test feedback data such as an error case, a specification-based function list, and a defect report. In addition, each test case may be generated in the form of a UI event-based script so as to be independent of UI location change. In addition, in order to prevent generation of unnecessary test cases, the present disclosure may reduce the number of redundant test cases by using a redundancy removal method such as a pairwise technique. In addition, after the UI automation test of the present disclosure is performed on all test cases, test coverage is measured through a verification tool such as Bullseye, so that the efficiency of the UI automation test may be verified.

도 6은 본 발명의 일 실시예에 따른 의료용 소프트웨어를 위한 상호운용성 자동화 테스트 방법을 나타내는 도면이다.6 is a diagram illustrating a method for automating interoperability testing for medical software according to an embodiment of the present invention.

예시적인 치과용 CAD 소프트웨어를 이용할 수 있는 스마트치과 시스템은 스캐너, CAD 및 CAM(Computer Aided Manufacture)으로 구성될 수 있다. 스캐너는 작업결과물(파일)을 CAD로 전달하고, CAD는 전달받은 파일을 가공하여 결과물을 CAM으로 전달할 수 있다. 그러나, 이러한 치과용 CAD 소프트웨어와 스캐너 및 CAM은 서로 다른 제조사에서 제조될 수 있기 때문에, 이러한 의료용 소프트웨어와 이기종 장비와의 상호운용성(interoperability)이 검증되어야 한다. 이에 본 개시 내용은 치과용 CAD 소프트웨어와 같은 의료용 소프트웨어의 상호운용성을 테스트하기 위한 상호운용성 자동화 테스트 방법을 제안한다. A smart dental system capable of using exemplary dental CAD software may consist of a scanner, CAD and Computer Aided Manufacture (CAM). The scanner delivers the work result (file) to CAD, and the CAD can process the received file and deliver the result to CAM. However, since these dental CAD software, scanners, and CAMs can be manufactured by different manufacturers, interoperability between such medical software and heterogeneous equipment must be verified. Accordingly, the present disclosure proposes an interoperability automation test method for testing interoperability of medical software such as dental CAD software.

본 개시 내용의 상호운용성 자동화 테스트 방법은, 의료용 소프트웨어와 연관된 데이터 표준에 기초하여 테스트케이스들을 결정하는 단계(410), 상기 테스트케이스들의 테스트 데이터에 대하여 테스트 오라클을 통해 자동화 테스트를 수행하는 단계(420) 및 상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계(430)를 포함할 수 있다. 단계(420)는 테스트 오라클을 통해 테스트 데이터의 입력 및 출력을 테스트함으로써 각각의 테스트케이스에 대한 출력과 상기 데이터 표준에 기초한 기대 출력을 비교하여 해당 테스트케이스의 상호운용성을 판단하는 동작을 포함할 수 있다. 이러한 상호운용성 자동화 테스트 방법은 커밋 빌드시에 개발자동화 머신(130)의 상호운용성 테스트 자동화 모듈(136)에서 수행될 수 있다.The interoperability automation test method of the present disclosure includes determining test cases based on a data standard associated with medical software (410), performing an automated test on test data of the test cases through a test oracle (420). ) And storing and managing the execution result of the automated test in the automated test storage (430). Step 420 may include an operation of determining interoperability of the corresponding test case by comparing the output for each test case with the expected output based on the data standard by testing the input and output of test data through a test oracle. have. This interoperability automation test method may be performed in the interoperability test automation module 136 of the developer fairy tale machine 130 at the time of commit build.

전술한 데이터 표준은 소프트웨어 시스템들 사이에서 치과 케이스 데이터와 CAD/CAM 데이터의 전달을 용이하게 하기 위해 2018년 7월에 제정된 ISO 18618 표준일 수 있다. 또한, 치과용 CAD 소프트웨어에 대하여 제정된 데이터 표준에 따라 테스트케이스들의 테스트 데이터는 마크업 랭귀지(Mark-up Language) 형태로 구성될 수 있다. 예컨대, 마크업 랭귀지는 확장가능 마크업 랭귀지(XML: Extensible Mark-up Language)일 수 있다. The data standard described above may be an ISO 18618 standard established in July 2018 to facilitate the transfer of dental case data and CAD/CAM data between software systems. In addition, test data of test cases may be configured in the form of a mark-up language according to a data standard established for dental CAD software. For example, the markup language may be an Extensible Mark-up Language (XML).

도 7은 도 6에 따른 상호운용성 자동화 테스트를 위한 테스트 오라클을 도시하는 예시적인 도면이다.FIG. 7 is an exemplary diagram illustrating a test oracle for an automated interoperability test according to FIG. 6.

도 7에 도시된 바와 같이, XML 파일 형태의 테스트데이터는 저장소(121)로부터 상호운용성 테스트 자동화 모듈(136)의 상호운용성 테스트 오라클 모듈(450)로 입력될 수 있다. 테스트 오라클 모듈(450)은 CAD 소프트웨어(460)로 XML 파일 임포트(import)를 시도할 수 있다. CAD 소프트웨어(460)는 데이터 표준에 명시된 모든 노드 및 데이터가 있는 파일을 임포트할 수 있다. 또한, CAD 소프트웨어(460)는 데이터 표준에 어긋나는 XML 파일이 입력된 경우에 해당 노드를 제외하고 데이터 표준을 준수한 데이터만 로드하여 테스트 오라클 모듈(450)로 XML 파일을 출력하여 전달할 수 있다.As shown in FIG. 7, test data in the form of an XML file may be input from the storage 121 to the interoperability test oracle module 450 of the interoperability test automation module 136. The test oracle module 450 may attempt to import an XML file into the CAD software 460. CAD software 460 can import files with all nodes and data specified in the data standard. In addition, when an XML file that does not conform to the data standard is input, the CAD software 460 loads only data conforming to the data standard excluding a corresponding node, and outputs and transmits the XML file to the test oracle module 450.

본 개시 내용의 상호운용성 자동화 테스트의 시나리오는 입/출력 형태에 따라 정상입력, 비정상입력1, 비정상입력2, 정상출력을 포함할 수 있다. 예시적인 테스트 시나리오는 표 3과 같다.The scenario of the interoperability automation test of the present disclosure may include a normal input, an abnormal input 1, an abnormal input 2, and a normal output according to input/output types. An exemplary test scenario is shown in Table 3.

- 상호운용성 자동화 테스트 시나리오-Interoperability automation test scenario IDID 테스트 시나리오Test scenario TS01TS01 정상적인 XML 로딩 가능여부 확인Check whether normal XML loading is possible TS02TS02 비정상적인 XML 로딩시 오류처리 가능여부 확인(표준에 명시되지 않은 노드 포함)Checking whether error handling is possible when loading abnormal XML (including nodes not specified in the standard) TS03TS03 비정상적인 XML 로딩시 오류처리 가능여부 확인(표준에 명시된 attribute이나 데이터 형식이 다름)Checking whether error handling is possible when loading abnormal XML (attribute or data format specified in the standard is different) TS04TS04 정상적인 XML 로딩 및 EXPORT 가능여부 확인Check whether normal XML loading and EXPORT is possible

예시적으로 표 3에 제시된 시나리오들에 기초하여 사전조건(precondition), 입력(input), 기대출력(expected output)을 명시한 테스트케이스들을 표 4와 같이 규정할 수 있다.As an example, test cases specifying preconditions, inputs, and expected outputs based on the scenarios presented in Table 3 may be defined as shown in Table 4.

- 상호운용성 자동화 테스트케이스-Interoperability automation test case IDID 테스트케이스Test case TC01TC01 - Precondition: 표준에 명시된 모든 element, attribute를 포함하는 xml 파일, 표준을 준수하는 XSD 파일
- Input: xml 로드
- Expected Output: xml 파일에 포함된 모든 attribute 데이터 로드
-Precondition: xml file including all elements and attributes specified in the standard, XSD file conforming to the standard
-Input: xml load
-Expected Output: Load all attribute data included in xml file
TC02TC02 - Precondition: 표준에 명시된 모든 element, attribute를 포함하는 xml 파일, 표준에 명시되지 않은 노드 포함, 표준을 준수하는 XSD 파일
- Input: xml 로드
- Expected Output: xml 로드 실패
-Precondition: xml file including all elements and attributes specified in the standard, including nodes not specified in the standard, XSD file conforming to the standard
-Input: xml load
-Expected Output: xml load failed
TC03TC03 - Precondition: 표준에 명시된 모든 element, attribute를 포함하는 xml 파일이나 특정 attribute 데이터 형식이 다름, 표준을 준수하는 XSD 파일
- Input: xml 로드
- Expected Output: xml 로드 실패
-Precondition: xml file including all elements and attributes specified in the standard or specific attribute data format is different, XSD file conforming to the standard
-Input: xml load
-Expected Output: xml load failed
TC04TC04 - Precondition: 표준에 명시된 모든 element, attribute를 포함하는 xml 파일, 표준을 준수하는 XSD 파일
- Input: xml 로드
- Expected Output: 새로 생성된 파일은 입력한 xml 파일과 변경된 부분을 제외하고 모두 동일
-Precondition: xml file including all elements and attributes specified in the standard, XSD file conforming to the standard
-Input: xml load
-Expected Output: All newly created files are the same except for the input xml file and the changed part.

본 개시 내용의 상호운용성 자동화 테스트는 커밋 빌드시 XML 입출력에 대한 API(Application Program Interface) 단위테스트를 위해 이용될 수 있다.The interoperability automation test of the present disclosure may be used for an API (Application Program Interface) unit test for XML input/output during a commit build.

한편, 본 개시 내용에 따르면, 소스코드 수준의 테스트가 필요한 경우 개발자동화 머신(130)의 코드 테스트 자동화 모듈(137)은 통합 개발 환경(111)으로부터의 커밋 빌드 요청에 응답하여 소스코드 자동화 테스트를 수행할 수 있다.Meanwhile, according to the present disclosure, when a source code level test is required, the code test automation module 137 of the developer assimilation machine 130 performs a source code automation test in response to a commit build request from the integrated development environment 111. Can be done.

임의의 제시된 프로세스들에 있는 단계들의 임의의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 예시적인 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that any particular order or hierarchy of steps in any of the presented processes is an example of exemplary approaches. Based on the design priorities, it is to be understood that within the scope of the present invention a specific order or hierarchy of steps in processes may be rearranged. The appended method claims provide elements of the various steps in an exemplary order, but are not meant to be limited to the specific order or hierarchy presented.

본 명세서 사용되는 용어 "컴포넌트", "머신", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭할 수 있다. 예를 들어, 모듈은 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 모듈일 수 있다. 하나 이상의 모듈은 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 모듈은 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 모듈들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다.As used herein, the terms "component", "machine", "module", "system" and the like may refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or execution of software. For example, a module may be, but is not limited to, a processing process executed on a processor, a processor, an object, an execution thread, a program, and/or a computer. For example, both an application running on a computing device and a computing device may be modules. One or more modules may reside within a processor and/or thread of execution, and a module may be localized within one computer, or may be distributed between two or more computers. In addition, these modules can execute from various computer readable media having various data structures stored therein.

컴퓨터 판독가능한 매체는, 직접 및/또는 간접적이든, 원시 상태, 포맷화된 상태, 조직화된 상태 또는 임의의 다른 액세스 가능한 상태이든 관계없이, 관계형 레파지토리, 비관계형 레파지토리, 인-메모리(in-memory) 레파지토리, 또는 데이터를 저장할 수 있고 저장 제어기를 통해 이러한 데이터에 대한 액세스를 허용할 수 있는 다른 적절한 레파지토리와 같이 분산형을 포함하는 레파지토리를 포함할 수 있다. 또한, 저장 매체는, 1차 저장 장치(storage), 2차 저장 장치, 3차 저장 장치, 오프라인 저장 장치, 휘발성 저장 장치, 비휘발성 저장 장치, 반도체 저장 장치, 자기 저장 장치, 광학 저장 장치, 플래시 저장 장치, 하드 디스크 드라이브 저장 장치, 플로피 디스크 드라이브, 자기 테이프, 또는 다른 적절한 데이터 저장 매체와 같은 임의의 타입의 저장 장치를 포함할 수 있다.Computer-readable media, whether direct and/or indirect, whether in raw state, formatted state, organized state, or any other accessible state, include relational repositories, non-relational repositories, in-memory Repositories, or other suitable repositories that may store data and allow access to such data through a storage controller, may include repositories, including decentralized ones. In addition, the storage medium includes a primary storage device, a secondary storage device, a tertiary storage device, an offline storage device, a volatile storage device, a nonvolatile storage device, a semiconductor storage device, a magnetic storage device, an optical storage device, and a flash device. Storage devices, hard disk drive storage devices, floppy disk drives, magnetic tapes, or other suitable data storage media.

본 명세서에서, 명령어는 어셈블러 명령어, 명령어 세트 아키텍처(instruction-set-architecture, ISA) 명령어, 머신 명령어, 머신 의존 명령어, 마이크로 코드, 펌웨어 명령어, 상태 설정 데이터, 또는 Smalltalk, C ++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 종래의 절차적 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성된 소스 코드 또는 객체 코드 중 어느 하나일 수 있다.In this specification, instructions are assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or object-oriented such as Smalltalk, C++, etc. It may be either source code or object code written in any combination of programming languages and one or more programming languages including conventional procedural programming languages such as "C" programming languages or similar programming languages.

제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다. The description of the presented embodiments is provided to enable any person skilled in the art to use or implement the present invention. Various modifications to these embodiments will be apparent to those of ordinary skill in the art, and the general principles defined herein can be applied to other embodiments without departing from the scope of the present invention. Thus, the present invention is not to be limited to the embodiments presented herein, but is to be construed in the widest scope consistent with the principles and novel features presented herein.

110: 개발자 컴퓨터
111: 통합 개발 환경
120: 형상관리 머신
121: 저장소
130: 개발자동화 머신
131: CI 툴 모듈
132: 분석/리뷰 모듈
133: 시각화 모듈
134: 이슈 관리 모듈
135: 메신저 모듈
136: 상호운용성 테스트 자동화 모듈
137: 코드 테스트 자동화 모듈
140: 빌드 머신
141: 빌드 모듈
142: UI 테스트 자동화 모듈
143: 패키징/배포 모듈
110: developer computer
111: Integrated development environment
120: configuration management machine
121: storage
130: developer fairy tale machine
131: CI tool module
132: Analysis/Review module
133: visualization module
134: issue management module
135: messenger module
136: Interoperability test automation module
137: code test automation module
140: build machine
141: build module
142: UI test automation module
143: packaging/distribution module

Claims (20)

의료용 소프트웨어를 위한 테스트 자동화 시스템에 있어서,
통합 개발 환경으로부터의 테스트 요청에 따라 자동화 테스트를 수행하거나 또는 빌드 머신이 상기 자동화 테스트를 수행하도록 지시하는 개발자동화 머신;
상기 통합 개발 환경으로부터의 빌드(build) 요청에 따라 빌드를 수행하고, 상기 개발자동화 머신의 테스트 요청에 따라 상기 자동화 테스트를 수행하는 빌드 머신; 및
상기 자동화 테스트의 수행 결과를 저장하는 형상관리 머신을 포함하는,
테스트 자동화 시스템.
In the test automation system for medical software,
A developer fairy tale machine for performing an automated test according to a test request from the integrated development environment or instructing a build machine to perform the automated test;
A build machine that performs a build according to a build request from the integrated development environment, and performs the automated test according to a test request from the developer fairy tale machine; And
Including a configuration management machine for storing the execution result of the automated test,
Test automation system.
제 1 항에 있어서,
상기 개발자동화 머신은 자동화 서버로서 동작하며, 상기 자동화 테스트의 수행을 제어하는 CI 툴(continuous integration tool) 모듈을 포함하는,
테스트 자동화 시스템.
The method of claim 1,
The developer assimilation machine operates as an automation server and includes a CI tool (continuous integration tool) module that controls the execution of the automation test,
Test automation system.
제 1 항에 있어서,
상기 빌드 머신은 상기 통합 개발 환경으로부터의 커밋 빌드 요청에 따라 상기 자동화 테스트로서 스모크테스트(smoke test)를 수행하는 UI(user interface) 테스트 자동화 모듈을 포함하며,
상기 UI 테스트 자동화 모듈은 상기 의료용 소프트웨어의 레퍼런스 모델과 연관된 테스트케이스들의 서브세트를 대상으로 상기 스모크테스트를 수행하도록 구성되는,
테스트 자동화 시스템.
The method of claim 1,
The build machine includes a UI (user interface) test automation module that performs a smoke test as the automation test according to a commit build request from the integrated development environment,
The UI test automation module is configured to perform the smoke test on a subset of test cases associated with the reference model of the medical software,
Test automation system.
제 3 항에 있어서,
상기 UI 테스트 자동화 모듈은 상기 테스트케이스들의 서브세트에 기초하여 구성된 입력 영상 데이터를 이용하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는,
테스트 자동화 시스템.
The method of claim 3,
The UI test automation module performs an automation test through a UI automation tool using input image data configured based on a subset of the test cases,
Test automation system.
제 1 항에 있어서,
상기 빌드 머신은 상기 통합 개발 환경으로부터의 데일리(Daily) 빌드 요청에 따라 상기 자동화 테스트로서 UI 자동화 테스트를 수행하는 UI 테스트 자동화 모듈을 포함하며,
상기 UI 테스트 자동화 모듈은 상기 의료용 소프트웨어의 전체 인터페이스 기능요소에 대한 테스트케이스들을 대상으로 상기 UI 자동화 테스트를 수행하도록 구성되는,
테스트 자동화 시스템.
The method of claim 1,
The build machine includes a UI test automation module that performs a UI automation test as the automation test according to a daily build request from the integrated development environment,
The UI test automation module is configured to perform the UI automation test on test cases for all interface functional elements of the medical software,
Test automation system.
제 5 항에 있어서,
상기 UI 테스트 자동화 모듈은 상기 테스트케이스들을 Unattended 케이스, Attended 케이스 및 명세기반 케이스로 분류하고, UI 자동화 도구를 통해 자동화 테스트를 수행하는,
테스트 자동화 시스템.
The method of claim 5,
The UI test automation module classifies the test cases into an unattended case, an attended case, and a specification-based case, and performs an automation test through a UI automation tool,
Test automation system.
제 1 항에 있어서,
상기 개발자동화 머신은 상기 통합 개발 환경으로부터의 커밋 빌드 요청에 따라 상기 자동화 테스트로서 상호운용성 자동화 테스트를 수행하는 상호운용성 테스트 자동화 모듈을 포함하는,
테스트 자동화 시스템.
The method of claim 1,
The developer assimilation machine includes an interoperability test automation module that performs an interoperability automation test as the automation test according to a commit build request from the integrated development environment,
Test automation system.
제 7 항에 있어서,
상기 상호운용성 테스트 자동화 모듈은 테스트 데이터를 마크업 랭귀지(markup language) 형태로 입력받아 테스트 오라클을 통해 자동화 테스트를 수행함으로써 상기 의료용 소프트웨어의 입출력 호환성을 검증하는,
테스트 자동화 시스템.
The method of claim 7,
The interoperability test automation module verifies input/output compatibility of the medical software by receiving test data in the form of a markup language and performing an automated test through a test oracle,
Test automation system.
제 1 항에 있어서,
상기 개발자동화 머신은 상기 통합 개발 환경으로부터의 커밋 빌드 요청에 따라 상기 자동화 테스트로서 소스코드 자동화 테스트를 수행하는 코드 테스트 자동화 모듈을 포함하는,
테스트 자동화 시스템.
The method of claim 1,
The developer assimilation machine includes a code test automation module that performs a source code automation test as the automation test according to a commit build request from the integrated development environment,
Test automation system.
의료용 소프트웨어를 위한 자동화 스모크테스트 방법으로서,
상기 의료용 소프트웨어의 레퍼런스 모델과 연관되는 테스트케이스들의 서브세트를 결정하는 단계;
상기 테스트케이스들의 서브세트에 기초하여 입력 영상 데이터를 생성하는 단계;
상기 입력 영상 데이터를 이용하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계; 및
상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함하는,
자동화 스모크테스트 방법.
As an automated smoke test method for medical software,
Determining a subset of test cases associated with the reference model of the medical software;
Generating input image data based on the subset of test cases;
Performing an automation test through a UI automation tool using the input image data; And
Including the step of storing and managing the execution result of the automated test in an automated test storage,
Automated smoke test method.
제 10 항에 있어서,
상기 자동화 테스트는 통합 개발 환경으로부터의 커밋 빌드 요청에 응답하여 수행되는,
자동화 스모크테스트 방법.
The method of claim 10,
The automation test is performed in response to a commit build request from the integrated development environment,
Automated smoke test method.
제 10 항에 있어서,
상기 의료용 소프트웨어의 레퍼런스 모델은 골든모델 모델링에 기초하여 결정되는,
자동화 스모크테스트 방법.
The method of claim 10,
The reference model of the medical software is determined based on golden model modeling,
Automated smoke test method.
의료용 소프트웨어를 위한 UI 자동화 테스트 방법으로서,
상기 의료용 소프트웨어의 전체 인터페이스 기능요소들에 대한 테스트케이스들을 결정하는 단계;
상기 테스트케이스들에 대하여 UI 자동화 도구를 통해 자동화 테스트를 수행하는 단계; 및
상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함하는,
UI 자동화 테스트 방법.
As a UI automation test method for medical software,
Determining test cases for all interface functional elements of the medical software;
Performing an automated test on the test cases through a UI automation tool; And
Including the step of storing and managing the execution result of the automated test in an automated test storage,
How to test UI automation.
제 13 항에 있어서,
상기 자동화 테스트는 통합 개발 환경으로부터의 데일리 빌드 요청에 응답하여 수행되는,
UI 자동화 테스트 방법.
The method of claim 13,
The automation test is performed in response to a daily build request from an integrated development environment,
How to test UI automation.
제 13 항에 있어서,
상기 테스트케이스들을 결정하는 단계는 Unattended 케이스, Attended 케이스 및 명세기반 케이스를 포함하는 테스트케이스들을 결정하는 단계를 포함하는,
UI 자동화 테스트 방법.
The method of claim 13,
The step of determining the test cases includes determining test cases including an Unattended case, an Attended case, and a specification-based case,
How to test UI automation.
제 13 항에 있어서,
상기 테스트케이스들을 결정하는 단계는 상기 의료용 소프트웨어의 결함 분석 또는 추가 기능요소에 기초하여 상기 자동화 테스트의 테스트케이스들을 업데이트하는 단계를 포함하는,
UI 자동화 테스트 방법.
The method of claim 13,
The step of determining the test cases includes updating test cases of the automated test based on a defect analysis or an additional functional element of the medical software,
How to test UI automation.
의료용 소프트웨어를 위한 상호운용성 자동화 테스트 방법으로서,
상기 의료용 소프트웨어와 연관된 데이터 표준에 기초하여 테스트케이스들을 결정하는 단계;
상기 테스트케이스들의 테스트 데이터에 대하여 테스트 오라클을 통해 자동화 테스트를 수행하는 단계; 및
상기 자동화 테스트의 수행 결과를 자동화 테스트 저장소에 저장 및 관리하는 단계를 포함하는,
상호운용성 자동화 테스트 방법.
As an automated test method for interoperability for medical software,
Determining test cases based on a data standard associated with the medical software;
Performing an automated test on the test data of the test cases through a test oracle; And
Including the step of storing and managing the execution result of the automated test in an automated test storage,
Automated interoperability test method.
제 17 항에 있어서,
상기 테스트케이스들의 테스트 데이터는 확장가능 마크업 랭귀지(XML: Extensible Mark-up Language) 형태로 구성되는,
상호운용성 자동화 테스트 방법.
The method of claim 17,
The test data of the test cases is configured in the form of an extensible mark-up language (XML),
Automated interoperability test method.
제 17 항에 있어서,
상기 자동화 테스트를 수행하는 단계는 상기 테스트 오라클을 통해 상기 테스트 데이터의 입력 및 출력을 테스트함으로써 각각의 테스트케이스에 대한 출력과 상기 데이터 표준에 기초한 기대 출력을 비교하여 해당 테스트케이스의 상호운용성을 판단하는 단계를 포함하는,
상호운용성 자동화 테스트 방법.
The method of claim 17,
In the performing of the automated test, by testing the input and output of the test data through the test oracle, the output of each test case and the expected output based on the data standard are compared to determine interoperability of the corresponding test case. Comprising steps,
Automated interoperability test method.
제10항 내지 제19항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터-실행가능 명령들을 포함하는, 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer-readable medium comprising computer-executable instructions for executing a method according to any one of claims 10 to 19.
KR1020190053085A 2019-05-07 2019-05-07 Test automation framework system for medical software and method of test automation KR102617906B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190053085A KR102617906B1 (en) 2019-05-07 2019-05-07 Test automation framework system for medical software and method of test automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190053085A KR102617906B1 (en) 2019-05-07 2019-05-07 Test automation framework system for medical software and method of test automation

Publications (2)

Publication Number Publication Date
KR20200129232A true KR20200129232A (en) 2020-11-18
KR102617906B1 KR102617906B1 (en) 2023-12-27

Family

ID=73697599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190053085A KR102617906B1 (en) 2019-05-07 2019-05-07 Test automation framework system for medical software and method of test automation

Country Status (1)

Country Link
KR (1) KR102617906B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546858A (en) * 2022-02-23 2022-05-27 霖久智慧(广东)科技有限公司 Interface automatic testing platform based on property industry
KR20230013490A (en) * 2021-07-19 2023-01-26 주식회사 카비랩 Implementing MLOps based the linked system fo medical big-data and its operation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070037808A (en) 2005-10-04 2007-04-09 중앙대학교 산학협력단 Extended semantic web services method for automatic integrated framework
JP2009519544A (en) * 2005-12-12 2009-05-14 アーカイブス,インク. Automated software testing framework
KR20160031339A (en) * 2014-09-12 2016-03-22 주식회사 케이티 Apparatus for guiding test case of source code and method thereof
KR20180083531A (en) * 2017-01-13 2018-07-23 한국전자통신연구원 Test automation system and test automation method for satellite control software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070037808A (en) 2005-10-04 2007-04-09 중앙대학교 산학협력단 Extended semantic web services method for automatic integrated framework
JP2009519544A (en) * 2005-12-12 2009-05-14 アーカイブス,インク. Automated software testing framework
KR20160031339A (en) * 2014-09-12 2016-03-22 주식회사 케이티 Apparatus for guiding test case of source code and method thereof
KR20180083531A (en) * 2017-01-13 2018-07-23 한국전자통신연구원 Test automation system and test automation method for satellite control software

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230013490A (en) * 2021-07-19 2023-01-26 주식회사 카비랩 Implementing MLOps based the linked system fo medical big-data and its operation method
CN114546858A (en) * 2022-02-23 2022-05-27 霖久智慧(广东)科技有限公司 Interface automatic testing platform based on property industry
CN114546858B (en) * 2022-02-23 2024-04-30 霖久智慧(广东)科技有限公司 Automatic interface test platform based on property industry

Also Published As

Publication number Publication date
KR102617906B1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
US10318412B1 (en) Systems, methods, and apparatus for dynamic software generation and testing
US10175969B2 (en) Data processing for upgrading medical equipment
US8972349B2 (en) Continuous integration of business intelligence software
US8191044B1 (en) System and method for maintaining requirements traceability
CN107609188B (en) Data synchronization verification method based on golden gate
CN110019138B (en) Automatic transfer table space migration method and system based on Zabbix
CN106575227B (en) Automatic software update framework
KR102617906B1 (en) Test automation framework system for medical software and method of test automation
CN110659018B (en) Method and device for realizing flow engine
CN111176613B (en) Collaborative Task Automatic Decomposition System Based on Architecture Model
CN109857649B (en) Resource testing method and system
US10936471B2 (en) Dynamic integration testing
CN110063042A (en) A kind of response method and its terminal of database failure
US10095512B2 (en) Program development support device, non-transitory storage medium storing thereon computer-readable program development support program, and program development support method
CN113535141A (en) Database operation code generation method and device
CN103069382A (en) Migrating artifacts between service-oriented architecture repositories
CN111124591A (en) Mirror image transmission method and device, electronic equipment and storage medium
CN105468445B (en) WEB-based Spark application program scheduling method and system
Silva Filho et al. Supporting concern-based regression testing and prioritization in a model-driven environment
Lipka et al. A method for semi-automated generation of test scenarios based on use cases
CN103995699A (en) Electric power enterprise information system development method based on MDA
CN110941422A (en) Code automatic generation method, code generator and readable storage medium
CN110471681A (en) Automatic variation, system, device and the storage medium of application program
CN111966665B (en) Data migration testing method and device
CN105204383B (en) Using the generation method and device of servo-drive system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant