KR20200106124A - Test automation framework for dbms for analysis of bigdata and method of test automation - Google Patents

Test automation framework for dbms for analysis of bigdata and method of test automation Download PDF

Info

Publication number
KR20200106124A
KR20200106124A KR1020190024162A KR20190024162A KR20200106124A KR 20200106124 A KR20200106124 A KR 20200106124A KR 1020190024162 A KR1020190024162 A KR 1020190024162A KR 20190024162 A KR20190024162 A KR 20190024162A KR 20200106124 A KR20200106124 A KR 20200106124A
Authority
KR
South Korea
Prior art keywords
test
dbms
automation
cases
case
Prior art date
Application number
KR1020190024162A
Other languages
Korean (ko)
Other versions
KR102464740B1 (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 KR1020190024162A priority Critical patent/KR102464740B1/en
Publication of KR20200106124A publication Critical patent/KR20200106124A/en
Application granted granted Critical
Publication of KR102464740B1 publication Critical patent/KR102464740B1/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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/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/3692Test management for test results analysis

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 device capable of performing a test of a DBMS for big data analysis. The test automation device comprises: a repository including test cases for performing a test; an automation management module loading the test cases stored in the repository and requesting the test execution for the DBMS; a test execution module executing the test on the DBMS based on the test cases in accordance with a request of the automation management module; and a visualization module visually providing a test result for the DBMS.

Description

빅데이터 분석용 DBMS를 위한 테스트 자동화 프레임워크 및 테스트 자동화 방법{TEST AUTOMATION FRAMEWORK FOR DBMS FOR ANALYSIS OF BIGDATA AND METHOD OF TEST AUTOMATION}Test automation framework and test automation method for DBMS for big data analysis {TEST AUTOMATION FRAMEWORK FOR DBMS FOR ANALYSIS OF BIGDATA AND METHOD OF TEST AUTOMATION}

본 발명의 실시 예들은 테스트 자동화 프레임워크 및 테스트 자동화 방법에 관한 것이다.Embodiments of the present invention relate to a test automation framework and a test automation method.

빅데이터 분석용 DBMS(database management system)는 대량의 데이터를 처리, 저장 및 분석하기 위한 시스템이다. 이러한 빅데이터 분석용 DBMS에서는 단순 결함도 치명적인 장애로 이어질 수 있기 때문에, 그 신뢰성이 가장 중요한 요소가 된다. 높은 신뢰도를 가지는 DBMS를 구축하기 위해서는 다양한 테스트 방법론을 적용하고 방대한 테스트 케이스를 구축하여 체계적인 테스트를 수행할 필요가 있다.A database management system (DBMS) for big data analysis is a system for processing, storing, and analyzing a large amount of data. In such a DBMS for big data analysis, since even a simple defect can lead to a fatal failure, its reliability is the most important factor. In order to build a DBMS with high reliability, it is necessary to apply various test methodologies and build extensive test cases to perform systematic tests.

이러한 테스트를 효과적으로 수행하기 위해서는 테스트 자동화 도구가 요구된다.In order to perform these tests effectively, a test automation tool is required.

본 발명의 실시 예들이 해결하고자하는 과제는 빅데이터 분석용 DBMS를 위한 체계적인 테스트 수행을 위한 테스트 자동화 프레임워크 및 테스트 자동화 방법을 제공하는 것에 있다.A problem to be solved by embodiments of the present invention is to provide a test automation framework and a test automation method for systematic test execution for a DBMS for big data analysis.

본 발명의 실시 예들에 따른 빅데이터 분석용 DBMS의 테스트를 수행할 수 있는 테스트 자동화 장치는, 상기 테스트를 수행하기 위한 테스트 케이스들을 포함하는 레파지토리, 상기 레파지토리에 저장된 테스트 케이스들을 로딩하고, DBMS에 대한 테스트 실행을 요청하는 자동화 관리 모듈, 상기 자동화 관리 모듈의 요청에 따라 상기 테스트 케이스들에 기초하여 상기 DBMS에 대한 테스트를 실행하는 테스트 실행 모듈 및 상기 DBMS에 대한 테스트 결과를 시각적으로 제공하는 시각화 모듈을 포함한다.A test automation device capable of performing a test of a DBMS for big data analysis according to embodiments of the present invention loads a repository including test cases for performing the test, test cases stored in the repository, and An automation management module for requesting a test execution, a test execution module for executing a test on the DBMS based on the test cases according to the request of the automation management module, and a visualization module for visually providing a test result for the DBMS. Include.

본 발명의 실시 예들에 따른 빅데이터 분석용 DBMS의 테스트를 수행할 수 있는 테스트 자동화 방법은, 상기 테스트를 수행하기 위한 테스트 케이스들을 저장하는 단계, 상기 레파지토리에 저장된 테스트 케이스들을 로딩하고, DBMS에 대한 테스트 실행을 요청하는 단계, 상기 자동화 관리 모듈의 요청에 따라 상기 테스트 케이스들에 기초하여 상기 DBMS에 대한 테스트를 실행하는 단계 및 상기 DBMS에 대한 테스트 결과를 시각적으로 제공하는 단계를 포함한다.A test automation method capable of performing a test of a DBMS for big data analysis according to embodiments of the present invention includes storing test cases for performing the test, loading test cases stored in the repository, and And requesting a test execution, executing a test on the DBMS based on the test cases according to the request of the automation management module, and visually providing a test result on the DBMS.

본 발명의 실시 예들에 따른 빅데이터 분석용 DBMS의 테스트를 수행할 수 있는 테스트 자동화 방법은 프로그램으로서 구현될 수 있고, 상기 프로그램은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.A test automation method capable of performing a test of a DBMS for big data analysis according to embodiments of the present invention may be implemented as a program, and the program may be stored in a computer-readable storage medium.

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크는 자동화 테스트 실행 시, 선행 테스트 케이스로 인해 DBMS가 비정상적으로 중지되더라도 중단 없이 이후의 테스트를 수행할 수 있다.The test automation framework according to the embodiments of the present invention can perform subsequent tests without interruption even if the DBMS is abnormally stopped due to the preceding test case when the automated test is executed.

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크는 동시성 테스트를 위해 다중 세션을 지원하고 트랜잭션 제어(시작, 커밋 롤백 등)가 가능하게 할 수 있다.The test automation framework according to the embodiments of the present invention may support multiple sessions for concurrency testing and enable transaction control (start, commit rollback, etc.).

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크는 다양한 DBMS 운영 환경(단독 운영, 이중화 운영, DBLink 등)의 구성을 자동화할 수 있다.The test automation framework according to the embodiments of the present invention can automate the configuration of various DBMS operating environments (single operation, redundancy operation, DBLink, etc.).

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크는 운영 중 발생하는 성능 문제(메모리 누수, 응답 시간 지연 등)를 탐지할 수 있다.The test automation framework according to embodiments of the present invention may detect performance problems (memory leak, response time delay, etc.) occurring during operation.

도 1은 본 발명의 실시 예들에 따른 테스트 자동화 시스템을 나타낸다.
도 2는 본 발명의 실시 예들에 따른 테스트 슈트 레파지토리의 디렉토리 구조를 나타낸다.
도 3은 본 발명의 실시 예들에 따른 테스트 실행 모듈의 예외 상황 감지 기능을 나타낸다.
1 shows a test automation system according to embodiments of the present invention.
2 shows a directory structure of a test suite repository according to embodiments of the present invention.
3 illustrates an exception detection function of a test execution module according to embodiments of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들을 설명한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 실시 예들에 따른 테스트 자동화 시스템을 나타낸다.1 shows a test automation system according to embodiments of the present invention.

도 1을 참조하면, 테스트 자동화 시스템(10)은 빅데이터 분석용 DBMS를 위한 테스트 프레임워크(또는 테스트 장치; 100) 및 DBMS(200)를 포함할 수 있다.Referring to FIG. 1, the test automation system 10 may include a test framework (or test device) 100 and a DBMS 200 for a DBMS for analyzing big data.

빅데이터 분석용 DBMS를 위한 테스트 프레임워크(100)(이하, 테스트 자동화 프레임워크(100)는)는 DBMS(200)에 대한 테스트를 수행할 수 있다. 실시 예들에 따라, 테스트 자동화 프레임워크(100)는 주어진 테스트 케이스들을 이용하여 DBMS(200)의 기능에 대해 테스트를 수행하고, DBMS(200)의 신뢰도 및 안정성을 평가할 수 있다.The test framework 100 (hereinafter, the test automation framework 100) for a DBMS for big data analysis may perform a test on the DBMS 200. According to embodiments, the test automation framework 100 may perform a test on the function of the DBMS 200 using given test cases, and may evaluate the reliability and stability of the DBMS 200.

DBMS(200)는 대량의 데이터를 처리, 저장 및 분석하는 시스템(또는 장치)일 수 있다. 실시 예들에 따라, DBMS(200)는 데이터에 대한 저장, 접근, 인터페이스, 관계 설정, 수정, 무결성 검증, 또는 백업 기능을 제공할 수 있다. 예컨대, DBMS(200)는 이러한 기능을 수행할 수 있는 프로그램이 실행되는 장치로 구현될 수 있다.The DBMS 200 may be a system (or device) that processes, stores, and analyzes a large amount of data. According to embodiments, the DBMS 200 may provide a storage, access, interface, relationship setting, modification, integrity verification, or backup function for data. For example, the DBMS 200 may be implemented as a device that executes a program capable of performing such functions.

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크(100)는 아래와 같은 요구사항을 만족시킬 수 있다.The test automation framework 100 according to embodiments of the present invention may satisfy the following requirements.

① 자동화 테스트 실행 시, 선행 테스트 케이스로 인해 DBMS가 비정상적으로 중지되더라도 중단 없이 이후의 테스트가 수행되어야 한다.① When executing the automated test, even if the DBMS is abnormally stopped due to the preceding test case, the subsequent tests must be performed without interruption.

② 동시성 테스트를 위해 다중 세션을 지원하고 트랜잭션 제어(시작, 커밋 롤백 등)가 가능해야 한다.② For concurrency testing, multiple sessions must be supported and transaction control (start, commit rollback, etc.) must be possible.

③ 다양한 DBMS 운영 환경(단독 운영, 이중화 운영, DBLink 등)의 구성을 자동화할 수 있어야 한다.③ It should be possible to automate the configuration of various DBMS operating environments (single operation, redundancy operation, DBLink, etc.).

④ 운영 중 발생하는 성능 문제(메모리 누수, 응답 시간 지연 등)를 탐지할 수 있어야 한다.④ It must be able to detect performance problems (memory leak, delay in response time, etc.) that occur during operation.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 한 번의 실행으로 DBMS의 전체를 테스트할 수 있도록, 테스트 과정에서 에러가 발생하더라도 중단 없이 테스트를 진행할 수 있다.According to embodiments, the test automation framework 100 may perform a test without interruption even if an error occurs in the test process so that the entire DBMS can be tested with one execution.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 동시에 여러 세션을 생성하여 SQL문을 실행하고 트랜잭션을 제어할 수 있다.According to embodiments, the test automation framework 100 may simultaneously create multiple sessions to execute SQL statements and control transactions.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 다수 노드에서 DBMS 서버 실행, 이중화 설정 및 DB Link 설정이 가능할 수 있다.According to embodiments, the test automation framework 100 may execute a DBMS server in multiple nodes, set redundancy, and set DB Link.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 각각의 테스트 케이스에 대하여 CPU 사용률, 메모리 사용량, SQL문 수행 시간을 모니터링하고, 각각이 기준 범위를 벗어날 경우 해당 테스트 케이스를 실패 처리할 수 있다.According to embodiments, the test automation framework 100 may monitor CPU usage, memory usage, and SQL statement execution time for each test case, and may fail to process the corresponding test case when each is out of a reference range.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 테스트 케이스 별로 성공 및 실패를 비교할 수 있다. 또한, 기대 출력(값)과 실제 출력을 비교하여 성공 및 실패를 결정하고, 발생할 수 있는 오류에 대한 전처리를 제공할 수 있다.According to embodiments, the test automation framework 100 may compare success and failure for each test case. In addition, it is possible to compare the expected output (value) and the actual output to determine success or failure, and provide pre-processing for possible errors.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 테스트 케이스의 추가, 수정 및 삭제를 수행할 수 있다.According to embodiments, the test automation framework 100 may add, modify, and delete test cases.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 테스트 대상의 DBMS의 종류에 따라 적용되는 테스트 케이스의 종류를 변경할 수 있다. 즉, 테스트 대상의 DMBS의 종류와 테스트 케이스의 종류를 연동할 수 있다.According to embodiments, the test automation framework 100 may change the type of test case applied according to the type of DBMS to be tested. That is, the type of DMBS to be tested and the type of test case can be linked.

실시 예들에 따라, 테스트 자동화 프레임워크(100)는 테스트 케이스의 실행 의존성을 고려하여 테스트를 실행할 수 있다.According to embodiments, the test automation framework 100 may execute a test in consideration of the execution dependency of the test case.

도 1을 참조하면, 테스트 자동화 프레임워크(100)는 테스트 슈트(suite) 레파지토리(repository)(또는 디스크 드라이브; 110), 자동화 관리 모듈(120), 테스트 실행 모듈(130) 및 시각화 모듈(140)을 포함할 수 있다.Referring to FIG. 1, the test automation framework 100 includes a test suite repository (or disk drive) 110, an automation management module 120, a test execution module 130, and a visualization module 140. It may include.

한편, 본 명세서에서, 레파지토리(110)가 테스트 자동화 프레임워크(100)에 포함되어 있다 함은, 레파지토리(110)가 테스트 자동화 프레임워크(100)에 의해 접근 가능한 상태에 있음을 의미한다. 즉, 테스트 자동화 프레임워크(100)는 레파지토리(110)에 액세스 가능한 것이면 족하며, 레파지토리(110)를 꼭 물리적으로 포함할 필요는 없다.Meanwhile, in this specification, that the repository 110 is included in the test automation framework 100 means that the repository 110 is in a state accessible by the test automation framework 100. That is, the test automation framework 100 is sufficient as long as it is accessible to the repository 110, and does not necessarily include the repository 110 physically.

이하, 본 명세서에서 언급되는 모듈(module)은 적어도 하나의 기능을 수행할 수 있는 하드웨어, 또는 소프트웨어를 포함하는 하드웨어를 의미한다. 즉, 본 명세서에서 설명되는 특정 모듈은, 해당하는 기능을 수행할 수 있는 장치 또는 회로를 의미할 수 있고, 또는, 상기 기능을 수행할 수 있는 소프트웨어가 실행되는 장치를 의미할 수 있다.Hereinafter, a module referred to in the present specification means hardware capable of performing at least one function or hardware including software. That is, the specific module described in this specification may mean a device or circuit capable of performing a corresponding function, or a device running software capable of performing the function.

테스트 슈트 레파지토리(110)는 테스트 슈트를 저장 및 관리할 수 있다. 실시 예들에 따라, 테스트 슈트는 복수의 테스트 케이스로 구성될 수 있고, 테스트 케이스 각각은 문제와 해당하는 답(기대 출력)을 포함할 수 있다.The test suite repository 110 may store and manage test suites. According to embodiments, the test suite may be composed of a plurality of test cases, and each test case may include a problem and a corresponding answer (expected output).

테스트 케이스는 프로그래밍 언어(예컨대, 파이썬)의 모듈 단위로 작성되고, 테스트 슈트는 프로그래밍 언어의 모듈들을 묶음으로써 실행될 수 있다.Test cases are written in a module unit of a programming language (eg, Python), and a test suite can be executed by bundling modules of a programming language.

실시 예들에 따라, 테스트 케이스는 오류 사례 기반에 따라 구성될 수 있다. 예컨대, 테스트 케이스는 장애 유형별 오류 사례 기반 테스트 케이스 및 품질 특성별 오류 사례 기반 테스트 케이스를 포함할 수 있다.According to embodiments, the test case may be configured according to an error case basis. For example, the test case may include an error case-based test case by failure type and an error case-based test case by quality characteristic.

실시 예들에 따라, 테스트 케이스는 명세 기반에 따라 구성될 수 있다. 예컨대, 테스트 케이스는 SQL-92 표준 기반 테스트 케이스 및 핵심 기술 기반 테스트 케이스를 포함할 수 있다.According to embodiments, the test case may be configured according to the specification. For example, the test cases may include SQL-92 standard-based test cases and core technology-based test cases.

테스트 슈트 레파지토리(110)는 디렉토리 구조에 따라 구조화되며, 논리적으로 성격이 유사한 테스트 케이스들을 하나의 테스트 슈트로 그룹핑한다.The test suite repository 110 is structured according to a directory structure, and logically groups test cases having similar characteristics into one test suite.

실시 예들에 따라, 테스트 슈트는 제품 기능, 품질 특성, SQL 표준, 장애 유형 및 벤치마크 테스트로 분류될 수 있다.Depending on the embodiments, the test suite can be classified into product function, quality characteristics, SQL standard, failure type and benchmark test.

예컨대, 제품 기능은 테이블, 인덱스, 뷰, 프로시져, 데이터 타입, 유저 및 권한, 프로시져, 함수 및 최적화 등을 포함할 수 있다.For example, product functions may include tables, indexes, views, procedures, data types, users and privileges, procedures, functions and optimizations, and the like.

예컨대, 품질 특성은 ISO/IEC 25010 기반 품질 특성일 수 있고, 기능 적합성, 성능효율성, 호환성, 사용성 및 신뢰성 등을 포함할 수 있다.For example, the quality characteristics may be ISO/IEC 25010-based quality characteristics, and may include functional suitability, performance efficiency, compatibility, usability and reliability.

예컨대, SQL 표준은 SQL-92 표준을 의미할 수 있고 데이터 정의어, 데이터 조작어, 트랜잭션 관리, 커넥션 관리, 세션 관리 및 동적 SQL 등을 포함할 수 있다.For example, the SQL standard may refer to the SQL-92 standard and may include data definition words, data manipulation words, transaction management, connection management, session management, and dynamic SQL.

예컨대, 장애 유형은 자원 한계 상황, 경계값, 네트워크 정체, 비정상 종료 및 비정상 중지 등을 포함할 수 있다.For example, the type of failure may include resource limit situations, threshold values, network congestion, abnormal termination, and abnormal termination.

예컨대, 벤치마크 테스트는 TPC-C, TPC-H, TPC-DS 등을 포함할 수 있다.For example, the benchmark tests may include TPC-C, TPC-H, TPC-DS, and the like.

도 2는 본 발명의 실시 예들에 따른 테스트 슈트 레파지토리의 디렉토리 구조를 나타낸다. 도 2에 도시된 바와 같이, 테스트 슈트 레파지토리(110)의 테스트 슈트는 디렉토리와 매핑되도록 구성될 수 있고, 테스트 슈트명이 디렉토리명으로 사용될 수 있다.2 shows a directory structure of a test suite repository according to embodiments of the present invention. As shown in FIG. 2, the test suite of the test suite repository 110 may be configured to be mapped to a directory, and the test suite name may be used as a directory name.

실시 예들에 따라, 테스트 슈트는 텍스트 파일 단위로 작성될 수 있다. 이에 따라, 테스트 케이스의 추가, 삭제, 수정 등 관리가 용이할 수 있다. 이에 따라, 본 발명의 실시 예들에 따른 테스트 슈트 레파지토리(110)는 디렉토리 및 파일을 추가함으로써 테스트 케이스의 추가가 가능하다.According to embodiments, the test suite may be written in units of text files. Accordingly, it may be easy to manage the addition, deletion, and modification of test cases. Accordingly, the test suite repository 110 according to the embodiments of the present invention can add a test case by adding a directory and a file.

테스트 슈트 레파지토리(110)의 테스트 슈트 중 최상위 테스트 슈트는 복수의 하위 테스트 슈트를 포함하고, 하나의 테스트 슈트는 복수의 테스트 케이스를 포함할 수 있다. 실시 예들에 따라, 테스트 슈트 레파지토리(110)의 테스트 슈트들 중 일부의 테스트 슈트를 이용하여 테스트가 수행될 수 있고, 최상위 테스트 슈트를 이용하는 경우 전체 테스트 케이스에 대한 테스트가 수행될 수 있다.Among the test suites of the test suite repository 110, the highest test suite may include a plurality of lower test suites, and one test suite may include a plurality of test cases. According to embodiments, a test may be performed using some of the test suites of the test suite repository 110, and when the highest test suite is used, a test may be performed on the entire test case.

테스트 슈트 레파지토리(110)의 테스트 케이스는 그 형상이 변경될 수 있다. 이에 따라, 테스트 케이스의 형상 변경 이력은 저장되어 조회될 수 있다.The shape of the test case of the test suite repository 110 may be changed. Accordingly, the history of the shape change of the test case can be stored and searched.

실시 예들에 따라, 테스트 슈트 레파지토리(110)의 테스트 케이스의 형상은 DBMS의 형상에 따라 결정될 수 있고, DBMS 형상 별 테스트 케이스의 관리 및 이력 추적이 가능할 수 있다.According to embodiments, the shape of the test case of the test suite repository 110 may be determined according to the shape of the DBMS, and management and history tracking of test cases for each DBMS shape may be possible.

테스트 슈트 레파지토리(110)는 테스트 오라클을 지원할 수 있다. 실시 예들에 따라, 테스트 슈트 레파지토리(110)의 각 테스트 케이스의 기대 출력은 인벤토리로서 구현되어 있으며, 테스트 슈트 레파지토리(110)는 테스트 케이스 별 실행 결과와 기대 출력을 자동으로 비교할 수 있는 기능을 지원할 수 있다.The test suite repository 110 may support a test oracle. According to embodiments, the expected output of each test case of the test suite repository 110 is implemented as an inventory, and the test suite repository 110 can support a function of automatically comparing execution results and expected outputs for each test case. have.

자동화 관리 모듈(120)은 테스트 슈트 레파지토리(110)의 테스트 슈트를 로딩할 수 있다. 실시 예들에 따라, 자동화 관리 모듈(120)은 테스트 슈트를 로딩하고, 상기 테스트 슈트에 포함된 테스트 케이스들을 목록화 할 수 있다.The automation management module 120 may load the test suite of the test suite repository 110. According to embodiments, the automation management module 120 may load a test suite and list test cases included in the test suite.

자동화 관리 모듈(120)은 테스트 케이스들을 순차적으로 실행할 수 있다. 실시 예들에 따라, 자동화 관리 모듈(120)은 둘 이상의 테스트 케이스들이 서로 상호 의존 관계에 있는 경우, 선행 테스트 케이스를 먼저 실행하고, 그 후에 후행 테스트 케이스를 실행할 수 있다. 여기서, 두 개의 테스트 케이스가 상호 의존 관계에 있고, 제1테스트 케이스가 제2테스트 케이스의 사전 조건으로 활용되는 경우, 상기 제1테스트 케이스는 상기 제2테스트 케이스의 선행 테스트 케이스로서 정의될 수 있다. The automation management module 120 may sequentially execute test cases. According to embodiments, when two or more test cases are mutually dependent, the automation management module 120 may execute a preceding test case first, and then execute a subsequent test case. Here, when two test cases are interdependent and the first test case is used as a precondition of the second test case, the first test case may be defined as a preceding test case of the second test case. .

예컨대, 사전 조건으로서 활용될 수 있는 테스트 케이스는 이중화 설정, DB Link 설정 등이 있을 수 있다.For example, test cases that can be used as preconditions may include redundancy settings, DB Link settings, and the like.

자동화 관리 모듈(120)은 DBMS가 비정상적으로 종료되거나 중지될 경우, 테스트 정보를 백업하고, 상기 DBMS를 초기화한 후 다시 구동할 수 있다. 실시 예들에 따라, 자동화 관리 모듈(120)은 DBMS가 재구동 되면, 테스트가 중단된 시점 이후 테스트를 다시 수행할 수 있다. 이 때, 중단된 테스트는 실패로 처리될 수 있다.When the DBMS is abnormally terminated or stopped, the automation management module 120 may back up test information, initialize the DBMS, and then run it again. According to embodiments, when the DBMS is restarted, the automation management module 120 may perform a test again after a point in time when the test is stopped. At this time, the interrupted test may be treated as a failure.

실시 예들에 따라, 자동화 관리 모듈(120)은 코어 덤프 파일, 스택 트레이스 및 DBMS 로그 파일을 백업할 수 있다.According to embodiments, the automation management module 120 may back up a core dump file, a stack trace, and a DBMS log file.

예컨대, 코어 덤프 파일은 메모리에 저장된 프로세스 상태 정보를 의미하는 것으로서, 메모리의 저장 데이터를 분석하는 데 사용될 수 있다.For example, the core dump file refers to process state information stored in a memory and may be used to analyze data stored in the memory.

예컨대, 스택 트레이스(또는 스택 정보)는 프로세스 실행과정에 대한 정보로서, 비정상 중지를 야기한 함수 또는 쿼리를 분석하는 데 사용될 수 있다.For example, a stack trace (or stack information) is information about a process execution process and may be used to analyze a function or query that caused an abnormal stop.

예컨대, DBMS 로그 파일은 DBMDS 운영 로그, 에러 로그를 포함하는 것으로서, 비정상 중지 발생 시 DBMS의 실행 기능을 파악하기 위해 활용될 수 있다.For example, the DBMS log file includes the DBMDS operation log and error log, and can be used to identify the execution function of the DBMS when an abnormal stop occurs.

테스트 실행 모듈(130)은 DBMS 테스트 수행 시 테이블 추가, 데이터 삽입, 서버 재구동 등의 기능을 제공할 수 있다. 실시 예들에 따라, 테스트 실행 모듈(130)은 반복적으로 사용되는 기능들을 수행할 수 있는 서브 모듈(또는 패키지)들을 포함할 수 있다.The test execution module 130 may provide functions such as table addition, data insertion, and server restart when performing a DBMS test. According to embodiments, the test execution module 130 may include sub-modules (or packages) capable of performing functions that are used repeatedly.

실시 예들에 따라, 테스트 실행 모듈(130)은 서버 제어 기능을 제공할 수 있다. 예컨대, 테스트 실행 모듈(130)은 레파지토리 생성, 구동, 중지, 재시작 등 레파지토리 및 서버에 대한 제어 기능을 제공할 수 있다.According to embodiments, the test execution module 130 may provide a server control function. For example, the test execution module 130 may provide a control function for a repository and a server, such as creating, driving, stopping, and restarting a repository.

실시 예들에 따라, 테스트 실행 모듈(130)은 동시성 지원 기능을 제공할 수 있다. 예컨대, 테스트 실행 모듈(130)은 다수 사용자의 동시 요청을 시뮬레이트 하는 기능을 제공할 수 있다.According to embodiments, the test execution module 130 may provide a concurrency support function. For example, the test execution module 130 may provide a function of simulating simultaneous requests from multiple users.

실시 예들에 따라, 테스트 실행 모듈(130)은 운영환경 제어 기능을 제공할 수 있다. 예컨대, 테스트 실행 모듈(130)은 이중화, DB Link 등 DBMS 운영환경 설정 기능을 제공할 수 있다.According to embodiments, the test execution module 130 may provide an operating environment control function. For example, the test execution module 130 may provide a DBMS operating environment setting function such as redundancy and DB Link.

실시 예들에 따라, 테스트 실행 모듈(130)은 자원 모니터링 기능을 제공할 수 있다. 예컨대, 테스트 실행 모듈(130)은 자원(CPU, 메모리 또는 디스크) 사용량을 모니터링할 수 있다.According to embodiments, the test execution module 130 may provide a resource monitoring function. For example, the test execution module 130 may monitor resource (CPU, memory, or disk) usage.

실시 예들에 따라, 테스트 실행 모듈(130)은 벤치마크 기능을 제공할 수 있다. 예컨대, 테스트 실행 모듈(130)은 TPC-H, TPC-DS 표준에서 제시하는 쿼리를 실행할 수 있다.According to embodiments, the test execution module 130 may provide a benchmark function. For example, the test execution module 130 may execute a query suggested by the TPC-H and TPC-DS standards.

예컨대, 테스트 실행 모듈(130)은 상술한 기능들을 각각 수행하기 위한 서브 모듈들을 포함할 수 있다.For example, the test execution module 130 may include sub-modules for each of the above-described functions.

테스트 실행 모듈(130)은 이기종 DBMS에 대한 테스트를 수행할 수 있다. 실시 예들에 따라, 테스트 실행 모듈(130)은 다양한 종류의 DBMS를 이용하여 접속이 가능하도록 JDBC(Java databse connectivity) 또는 ODBC(open datavase connectivity)를 지원할 수 있으나, 이에 한정되는 것은 아니다.The test execution module 130 may perform a test on a heterogeneous DBMS. According to embodiments, the test execution module 130 may support Java databse connectivity (JDBC) or open datavase connectivity (ODBC) to enable access using various types of DBMS, but is not limited thereto.

실시 예들에 따라, 테스트 실행 모듈(130)은 다양한 DBMS에 대한 쿼리문 변환 기능(즉, 문법에 맞도록 변환)를 제공할 수 있고, 다양한 DBMS에 대한 명령어 래퍼를 지원할 수 있다.According to embodiments, the test execution module 130 may provide a query statement conversion function for various DBMSs (ie, conversion to conform to grammar), and may support a command wrapper for various DBMSs.

테스트 실행 모듈(130)은 실행 결과를 검증할 수 있다. 실시 예들에 따라, 테스트 실행 모듈(130)은 테스트 케이스에 대한 테스트가 실행되면, 저장된 테스트 케이스에 대한 기대 출력과 상기 테스트 결과를 비교하여 성공 또는 실패를 판단할 수 있다. The test execution module 130 may verify the execution result. According to embodiments, when a test for a test case is executed, the test execution module 130 may determine success or failure by comparing an expected output for a stored test case with the test result.

테스트 실행 모듈(130)은 테스트가 실패한 경우, 실패된 테스트 케이스에 대한 이유를 로그에 기록하고, 상기 로그를 조회할 수 있는 기능을 제공할 수 있다. 또한, 테스트 실행 모듈(130)은 기대 출력과 테스트 결과의 비교에 있어서, 정규표현식을 사용함으로써 비교할 수 있다. 이에 따라, 기대 출력과 테스트 결과 사이의 날짜 포맷 차이, 공백 등으로 인한 오판이 감소될 수 있다.When the test fails, the test execution module 130 may provide a function of recording the reason for the failed test case in a log and querying the log. Further, the test execution module 130 may compare the expected output and the test result by using a regular expression. Accordingly, misjudgment due to a difference in date format or blank space between the expected output and the test result may be reduced.

테스트 실행 모듈(130)은 예외 상황을 감지할 수 있다. 실시 예들에 따라, 테스트 실행 모듈(130)은 테스트 케이스의 실행 후 일정 시간 이내에 DBMS로부터 응답이 없는 경우, DBMS를 재구동할 수 있다. 이에 대해서는 상술하도록 한다.The test execution module 130 may detect an exception situation. According to embodiments, the test execution module 130 may restart the DBMS when there is no response from the DBMS within a predetermined time after execution of the test case. This will be described in detail.

테스트 실행 모듈(130)은 메모리 누수를 검출할 수 있다. 메모리 누수라 함은 특정 태스크에 대하여 메모리가 할당된 후, 반납되지 않은 경우를 의미할 수 있다.The test execution module 130 may detect a memory leak. A memory leak may mean a case where memory is not returned after being allocated for a specific task.

실시 예들에 따라, 테스트 실행 모듈(130)은 DBMS 실행 과정에서 발생하는 메모리 누수를 사전에 검출할 수 있다. 예컨대, 테스트 실행 모듈(130)은 Valgrind 프로그램과 연동되어 메무리 누수를 검출할 수 있고, 메모리 누수 검출 결과를 현재 실행중인 테스트 케이스와 매핑할 수 있다.According to embodiments, the test execution module 130 may detect in advance a memory leak occurring during the DBMS execution process. For example, the test execution module 130 may detect memory leaks by interlocking with the Valgrind program, and map a memory leak detection result to a test case currently being executed.

시각화 모듈(140)은 테스트 실행 결과를 시각적으로 제공할 수 있다.The visualization module 140 may visually provide a test execution result.

실시 예들에 따라, 시각화 모듈(140)은 테스트 요약 정보, 테스트 로그, 원인 분석 결과 및 메모리 누수 결과를 시각적으로 제공할 수 있다.According to embodiments, the visualization module 140 may visually provide test summary information, a test log, a cause analysis result, and a memory leak result.

예컨대, 테스트 요약 정보는 테스트 수행 정보(수행 환경, 제품 형상, 테스트 케이스 형상 등) 및 실행 결과에 대한 통계 정보(성공 및 실패 수, 실패된 테스트 케이스의 목록)을 포함할 수 있다.For example, the test summary information may include test performance information (performance environment, product shape, test case shape, etc.) and statistical information on execution results (number of successes and failures, list of failed test cases).

예컨대, 테스트 로그는 DBMS 로그 및 실패 테스트 케이스에 대한 상세한 로그를 포함할 수 있다.For example, the test log may include a DBMS log and a detailed log of a failure test case.

예컨대, 원인 분석 결과는 실패 테스트 케이스에 대한 원인 분석 결과를 포함할 수 있다.For example, the cause analysis result may include a cause analysis result for a failure test case.

예컨대, 메모리 누수 검사 결과는 메모리 누수에 대한 상세한 내용 및 관련된(매칭된) 테스트 케이스를 포함할 수 있다.For example, the memory leak test result may include details of the memory leak and related (matched) test cases.

도 3은 본 발명의 실시 예들에 다른 테스트 실행 모듈의 예외 상황 감지 기능을 나타낸다. 도 1 및 도 3을 참조하면, 테스트 실행 모듈(130)은 도 3의 단계들 S110 내지 S160에 따라 예외 상황을 감지할 수 있다.3 shows an exception detection function of a test execution module according to embodiments of the present invention. 1 and 3, the test execution module 130 may detect an exception situation according to steps S110 to S160 of FIG. 3.

테스트 실행 모듈(130)은 SQL 쿼리문을 실행함으로써, 테스트를 시작할 수 있다.The test execution module 130 may start a test by executing an SQL query statement.

테스트 실행 모듈(130)은 SQL 쿼리문의 실행 결과가 획득되었는지를 판단할 수 있다. 실시 예들에 따라, 테스트 실행 모듈(130)은 DBMS에 대한 테스트가 실행된 후, 상기 테스트에 대한 테스트 수행 결과가 획득되었는지를 판단할 수 있다(S110).The test execution module 130 may determine whether an execution result of an SQL query statement has been obtained. According to embodiments, the test execution module 130 may determine whether a test execution result for the test is obtained after the test for the DBMS is executed (S110).

테스트 수행 결과가 획득되지 않았을 때(S110의 N), 테스트 실행 모듈(130)은 미리 설정된 제한 시간이 경과하였는지를 판단할 수 있다(S120).When the test execution result is not obtained (N in S110), the test execution module 130 may determine whether a preset time limit has elapsed (S120).

미리 설정된 제한 시간이 경과되지 않았을 때(S120의 N), 테스트 실행 모듈(130)은 테스트 수행 결과가 획득되었는지 다시 판단할 수 있다. 반면, 미리 설정된 제한 시간이 경과되었을 때(S120의 Y), 테스트 실행 모듈(130)은 테스트의 비정상 중지를 감지하고, 그 결과 코어 덤프, DBMS 로그를 백업할 수 있다(S130).When the preset time limit has not elapsed (N in S120), the test execution module 130 may determine again whether the test execution result has been obtained. On the other hand, when the preset time limit has elapsed (Y in S120), the test execution module 130 detects an abnormal stop of the test, and as a result, may back up a core dump and a DBMS log (S130).

코어 덤프, DBMS 로그를 백업(S130)하고, 테스트 실행 모듈(130)은 실행 결과를 기록할 수 있다(S160).The core dump and DBMS log are backed up (S130), and the test execution module 130 may record the execution result (S160).

테스트 실행 모듈(130)은 테스트 수행 결과가 획득되었을 때(S110의 Y), 세션 종료 에러가 발생했는지를 판단할 수 있다(S140).When the test execution result is obtained (Y in S110), the test execution module 130 may determine whether a session termination error has occurred (S140).

세션 종료 에러가 발생하였을 때(S140의 Y), 테스트 실행 모듈(130)은 DBMS 프로세스가 종료되었는지를 판단할 수 있다(S150).When a session termination error occurs (Y of S140), the test execution module 130 may determine whether the DBMS process is terminated (S150).

DBMS 프로세스가 종료되었을 때(S150의 Y), 테스트 실행 모듈(130)은 테스트의 비정상 종료를 감지하고, 그 결과 코어 덤프, DBMS 로그를 백업할 수 있다(S130). DBMS 프로세스가 종료되지 않았을 때(S150의 N), 테스트 실행 모듈(130)은 실행 결과를 기록할 수 있다(S160).When the DBMS process is terminated (Y in S150), the test execution module 130 detects an abnormal termination of the test, and as a result, may back up a core dump and a DBMS log (S130). When the DBMS process is not terminated (N in S150), the test execution module 130 may record the execution result (S160).

또한, 세션 종료 에러가 발생하지 않았을 때(S140의 N), 테스트 실행 모듈(130)은 쿼리 수행 결과를 기록할 수 있다(S160).In addition, when the session termination error does not occur (N in S140), the test execution module 130 may record the query execution result (S160).

본 발명의 실시 예들에 따른 테스트 자동화 프레임워크 및 이의 작동 방법은 컴퓨터로 판독 가능한 저장 매체에 저장되어 프로세서에 의해 실행될 수 있는 명령어들로 구현될 수 있다. The test automation framework and its operation method according to embodiments of the present invention may be implemented as instructions that are stored in a computer-readable storage medium and executed by a processor.

저장 매체는, 직접 및/또는 간접적이든, 원시 상태, 포맷화된 상태, 조직화된 상태 또는 임의의 다른 액세스 가능한 상태이든 관계없이, 관계형 레파지토리, 비관계형 레파지토리, 인-메모리(in-memory) 레파지토리, 또는 데이터를 저장할 수 있고 저장 제어기를 통해 이러한 데이터에 대한 액세스를 허용할 수 있는 다른 적절한 레파지토리와 같이 분산형을 포함하는 레파지토리를 포함할 수 있다. 또한, 저장 매체는, 1차 저장 장치(storage), 2차 저장 장치, 3차 저장 장치, 오프라인 저장 장치, 휘발성 저장 장치, 비휘발성 저장 장치, 반도체 저장 장치, 자기 저장 장치, 광학 저장 장치, 플래시 저장 장치, 하드 디스크 드라이브 저장 장치, 플로피 디스크 드라이브, 자기 테이프, 또는 다른 적절한 데이터 저장 매체와 같은 임의의 타입의 저장 장치를 포함할 수 있다.Storage 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, Alternatively, it may include a repository that contains a distributed type, such as other suitable repositories that may store data and allow access to such data through a storage controller. 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 present invention has been described with reference to the embodiments shown in the drawings, but these are merely exemplary, and those of ordinary skill in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the attached registration claims.

10: 테스트 자동화 시스템
100: 빅데이터 분석용 DBMS를 위한 테스트 프레임워크
200: DBMS
110: 테스트 슈트 레파지토리
120: 자동화 관리 모듈
130: 테스트 시행 모듈
140: 시각화 모듈
10: test automation system
100: Test framework for DBMS for big data analysis
200: DBMS
110: test suite repository
120: automation management module
130: test execution module
140: visualization module

Claims (15)

빅데이터 분석용 DBMS의 테스트를 수행할 수 있는 테스트 자동화 장치에 있어서,
상기 테스트를 수행하기 위한 테스트 케이스들을 포함하는 레파지토리;
상기 레파지토리에 저장된 테스트 케이스들을 로딩하고, DBMS에 대한 테스트 실행을 요청하는 자동화 관리 모듈;
상기 자동화 관리 모듈의 요청에 따라 상기 테스트 케이스들에 기초하여 상기 DBMS에 대한 테스트를 실행하는 테스트 실행 모듈; 및
상기 DBMS에 대한 테스트 결과를 시각적으로 제공하는 시각화 모듈을 포함하는,
테스트 자동화 장치.
In a test automation device capable of performing a test of a DBMS for big data analysis,
A repository including test cases for performing the test;
An automation management module that loads test cases stored in the repository and requests test execution for a DBMS;
A test execution module for executing a test on the DBMS based on the test cases according to the request of the automation management module; And
Including a visualization module for visually providing test results for the DBMS,
Test automation device.
제1항에 있어서,
상기 테스트 케이스들 각각은 오류 사례 및 명세 중 적어도 하나에 기초하여 구성되는,
테스트 자동화 장치.
The method of claim 1,
Each of the test cases is configured based on at least one of an error case and a specification,
Test automation device.
제1항에 있어서,
상기 테스트 케이스들은 적어도 하나의 테스트 슈트로 그룹핑되고,
상기 적어도 하나의 테스트 슈트는 제품 기능, 품질 특성, SQL 표준, 장애 유형 및 벤치마크 테스트로 분류되는,
테스트 자동화 장치.
The method of claim 1,
The test cases are grouped into at least one test suite,
The at least one test suite is classified into product function, quality characteristics, SQL standard, disability type and benchmark test,
Test automation device.
제1항에 있어서, 상기 자동화 관리 모듈은,
상기 테스트 케이스들 중 둘 이상의 테스트 케이스가 서로 상호 의존 관계에 있는 경우, 선행 테스트 케이스를 먼저 실행하고 그 후 후행 테스트 케이스를 실행하는,
테스트 자동화 장치.
The method of claim 1, wherein the automation management module,
If two or more of the test cases are interdependent with each other, executing a preceding test case first and then executing a subsequent test case,
Test automation device.
제1항에 있어서, 상기 자동화 관리 모듈은,
상기 테스트가 비정상적으로 중단될 때, 상기 테스트에 대한 정보를 백업하고, 상기 DBMS를 재구동하고, 상기 DBMS가 재구동된 후 상기 테스트가 중단된 시점 이후 다시 테스트를 재실행하는,
테스트 자동화 장치.
The method of claim 1, wherein the automation management module,
When the test is abnormally stopped, backing up the information on the test, restarting the DBMS, and rerunning the test again after the time when the test was stopped after the DBMS was restarted,
Test automation device.
제5항에 있어서, 상기 자동화 관리 모듈은,
코어 덤프 파일, 스택 트레이스 및 DBMS 로그 파일을 백업하는,
테스트 자동화 장치.
The method of claim 5, wherein the automation management module,
To back up core dump files, stack traces and DBMS log files,
Test automation device.
제1항에 있어서, 상기 테스트 실행 모듈은,
서버 제어 기능, 동시성 지원 기능, 운영환경 제어 기능, 자원 모니터링 기능 및 벤치마크 기능 중 적어도 하나를 제공하는,
테스트 자동화 장치.
The method of claim 1, wherein the test execution module,
Providing at least one of a server control function, a concurrency support function, an operating environment control function, a resource monitoring function, and a benchmark function,
Test automation device.
제1항에 있어서, 상기 테스트 실행 모듈은,
상기 테스트의 결과에 따라, 상기 테스트 케이스에 대한 테스트 결과와 상기 테스트 케이스에 대한 기대 출력을 비교하고, 비교 결과에 따라 상기 테스트의 성공 또는 실패를 판단하는,
테스트 자동화 장치.
The method of claim 1, wherein the test execution module,
Comparing the test result for the test case and the expected output for the test case according to the result of the test, and determining success or failure of the test according to the comparison result,
Test automation device.
제8항에 있어서, 상기 테스트 실행 모듈은,
상기 테스트가 실패된 것으로 판단되었을 때, 실패된 테스트 케이스에 대한 실패 이유를 로그에 기록하는,
테스트 자동화 장치.
The method of claim 8, wherein the test execution module,
When it is determined that the test has failed, recording the failure reason for the failed test case in a log,
Test automation device.
제1항에 있어서, 상기 테스트 실행 모듈은,
상기 테스트 실행 과정에서 발생한 메모리 누수를 검출하고, 메모리 누수 검출 결과와 현재 실행중인 테스트 케이스를 매핑하는,
테스트 자동화 장치.
The method of claim 1, wherein the test execution module,
Detecting a memory leak occurring during the test execution process, and mapping a memory leak detection result with a test case currently being executed,
Test automation device.
빅데이터 분석용 DBMS의 테스트를 수행할 수 있는 테스트 자동화 방법에 있어서,
상기 테스트를 수행하기 위한 테스트 케이스들을 저장하는 단계;
상기 레파지토리에 저장된 테스트 케이스들을 로딩하고, DBMS에 대한 테스트 실행을 요청하는 단계;
상기 자동화 관리 모듈의 요청에 따라 상기 테스트 케이스들에 기초하여 상기 DBMS에 대한 테스트를 실행하는 단계; 및
상기 DBMS에 대한 테스트 결과를 시각적으로 제공하는 단계를 포함하는,
테스트 자동화 방법.
In the test automation method that can perform the test of the DBMS for big data analysis,
Storing test cases for performing the test;
Loading test cases stored in the repository and requesting test execution for the DBMS;
Executing a test on the DBMS based on the test cases according to the request of the automation management module; And
Including the step of visually providing a test result for the DBMS,
How to automate tests.
제11항에 있어서, 상기 테스트 케이스들을 로딩하는 단계는,
상기 테스트 케이스들 중 둘 이상의 테스트 케이스가 서로 상호 의존 관계에 있는 경우, 선행 테스트 케이스를 먼저 실행하고 그 후 후행 테스트 케이스를 실행하는 단계를 포함하는,
테스트 자동화 방법.
The method of claim 11, wherein loading the test cases comprises:
If two or more of the test cases are interdependent with each other, the step of first executing a preceding test case and then executing a subsequent test case,
How to automate tests.
제11항에 있어서,
상기 테스트가 비정상적으로 중단될 때, 상기 테스트에 대한 정보를 백업하고, 상기 DBMS를 재구동하고, 상기 DBMS가 재구동된 후 상기 테스트가 중단된 시점부터 다시 테스트를 재실행하는 단계를 더 포함하는,
테스트 자동화 방법.
The method of claim 11,
When the test is abnormally stopped, backing up information on the test, restarting the DBMS, and rerunning the test again from the point when the test is stopped after the DBMS is restarted,
How to automate tests.
제11항에 있어서, 상기 테스트를 실행하는 단계는,
상기 테스트의 결과에 따라, 상기 테스트 케이스에 대한 테스트 결과와 상기 테스트 케이스에 대한 기대 출력을 비교하고, 비교 결과에 따라 상기 테스트의 성공 또는 실패를 판단하는 단계를 포함하는,
테스트 자동화 방법.
The method of claim 11, wherein executing the test comprises:
Comprising the step of comparing a test result for the test case and an expected output for the test case according to the test result, and determining the success or failure of the test according to the comparison result,
How to automate tests.
제11항 내지 제14항 중 어느 한 항에 따른 테스트 자동화 방법을 실행하기 위한 프로그램을 저장하는 컴퓨터 판독가능한 저장 매체.A computer-readable storage medium storing a program for executing the test automation method according to any one of claims 11 to 14.
KR1020190024162A 2019-02-28 2019-02-28 Test automation framework for dbms for analysis of bigdata and method of test automation KR102464740B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190024162A KR102464740B1 (en) 2019-02-28 2019-02-28 Test automation framework for dbms for analysis of bigdata and method of test automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190024162A KR102464740B1 (en) 2019-02-28 2019-02-28 Test automation framework for dbms for analysis of bigdata and method of test automation

Publications (2)

Publication Number Publication Date
KR20200106124A true KR20200106124A (en) 2020-09-11
KR102464740B1 KR102464740B1 (en) 2022-11-08

Family

ID=72472700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190024162A KR102464740B1 (en) 2019-02-28 2019-02-28 Test automation framework for dbms for analysis of bigdata and method of test automation

Country Status (1)

Country Link
KR (1) KR102464740B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560998A (en) * 2023-05-16 2023-08-08 中国人民解放军国防科技大学 I/O (input/output) sequence-oriented database performance problem detection method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017200129A1 (en) * 2016-05-18 2017-11-23 전자부품연구원 Method and system for processing high-speed stream big data on basis of in-memory db
JP2017536608A (en) * 2014-09-30 2017-12-07 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP Topology-based management using stage and version policies
KR20180068002A (en) * 2016-12-13 2018-06-21 나무기술 주식회사 Cloud infra real time analysis system based on big date and the providing method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017536608A (en) * 2014-09-30 2017-12-07 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP Topology-based management using stage and version policies
WO2017200129A1 (en) * 2016-05-18 2017-11-23 전자부품연구원 Method and system for processing high-speed stream big data on basis of in-memory db
KR20180068002A (en) * 2016-12-13 2018-06-21 나무기술 주식회사 Cloud infra real time analysis system based on big date and the providing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116560998A (en) * 2023-05-16 2023-08-08 中国人民解放军国防科技大学 I/O (input/output) sequence-oriented database performance problem detection method
CN116560998B (en) * 2023-05-16 2023-12-01 中国人民解放军国防科技大学 I/O (input/output) sequence-oriented database performance problem detection method

Also Published As

Publication number Publication date
KR102464740B1 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
US10055338B2 (en) Completing functional testing
Liu et al. What bugs cause production cloud incidents?
Gulzar et al. Bigdebug: Debugging primitives for interactive big data processing in spark
Cotroneo et al. Fault triggers in open-source software: An experience report
US10031830B2 (en) Apparatus, system, and method for database management extensions
US6536036B1 (en) Method and apparatus for managing code test coverage data
US7975179B2 (en) Techniques for automatic software error diagnostics
US7734666B2 (en) Method and system for inspecting memory leaks and analyzing contents of garbage collection files
US7200626B1 (en) System and method for verification of a quiesced database copy
US7487408B2 (en) Deferring error reporting for a storage device to align with staffing levels at a service center
US20180349251A1 (en) Automated Root Cause Detection Using Data Flow Analysis
WO2019153550A1 (en) Automatic sql optimization method and apparatus, and computer device and storage medium
US20180032567A1 (en) Method and device for processing data blocks in a distributed database
KR102464740B1 (en) Test automation framework for dbms for analysis of bigdata and method of test automation
CN111198920B (en) Method and device for determining comparison table snapshot based on database synchronization
US20090158266A1 (en) Deployment tool for increasing efficiency in a production computer system
CN111694724A (en) Testing method and device of distributed table system, electronic equipment and storage medium
CN115757099A (en) Automatic test method and device for platform firmware protection recovery function
CN111914032B (en) Data processing device and method applied to automatic monitoring system of vehicle
US8671081B2 (en) Data processing systems and methods to ensure the consistency of data
US11100131B2 (en) Simulation of a synchronization of records
US20230376405A1 (en) Enabling of development checks
WO2021227926A1 (en) Method for restarting system, terminal and storage medium
CN113986593A (en) Method for checking fault of electronic equipment
CN115048303A (en) Data processing method and device of process environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right