KR102454177B1 - 자동화된 테스트 시스템을 위한 방법 및 설계 - Google Patents

자동화된 테스트 시스템을 위한 방법 및 설계 Download PDF

Info

Publication number
KR102454177B1
KR102454177B1 KR1020180017520A KR20180017520A KR102454177B1 KR 102454177 B1 KR102454177 B1 KR 102454177B1 KR 1020180017520 A KR1020180017520 A KR 1020180017520A KR 20180017520 A KR20180017520 A KR 20180017520A KR 102454177 B1 KR102454177 B1 KR 102454177B1
Authority
KR
South Korea
Prior art keywords
enterprise system
production
modified
testing
users
Prior art date
Application number
KR1020180017520A
Other languages
English (en)
Other versions
KR20180121337A (ko
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 더 보잉 컴파니
Publication of KR20180121337A publication Critical patent/KR20180121337A/ko
Application granted granted Critical
Publication of KR102454177B1 publication Critical patent/KR102454177B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • 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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Abstract

엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 방법이 제공된다. 방법은 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템에 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상에서 입력의 서브셋에 대한 하나 이상의 트랜잭션을 수행하는 단계; 및 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계를 포함한다.

Description

자동화된 테스트 시스템을 위한 방법 및 설계{METHOD AND DESIGN FOR AUTOMATED TESTING SYSTEM}
본 개시는 일반적으로 엔터프라이즈 테스트 시스템에 관한 것이다. 엔터프라이즈 소프트웨어 시스템(엔터프라이즈 시스템)은 엔터프라이즈-레벨 작동을 수행하기 위해 이용될 수 있다. 예시적인 엔터프라이즈 시스템은 ERP(enterprise resource planning) 시스템, CRM(client-relationship management) 시스템, PLM(product lifecycle management) 시스템, SCM(supply chain management) 시스템, 및 SRM(supplier relationship management) 시스템을 포함할 수 있다. 생산 환경에서, 다양한 사용자가 매일 엔터프라이즈 시스템과 상호작용하고, 그 결과로, 수천 건은 아니더라도, 백여 건의 트랜잭션 및 상대적으로 큰 양의 데이터를 만들어 낸다. 몇몇 예시에서, 엔터프라이즈 시스템은 업데이트 될 수 있고, 또는 사용자 정의될 수 있다. 예를 들어, 엔터프라이즈 시스템의 더 최근 버전이 가능할 수 있고, 이로 인해 엔터프라이즈 시스템을 업데이트(예를 들어, 1.0 버전에서 2.0 버전으로의 업데이트)한다. 또다른 예시와 같이, 엔터프라이즈는 특정 엔터프라이즈에 관련된 기능/특징을 포함하기 위해 엔터프라이즈 시스템을 사용자 정의 할 수 있다.
엔터프라이즈 시스템의 업데이트 및/또는 사용자 정의(수정)하는 경우, 수정된 엔터프라이즈 시스템은 제품 이용을 위해 사용 가능하게 만들어지기 전에 테스트된다. 몇몇 예시에서, 테스트는 생산 데이터(예를 들어, 업데이트/사용자 정의하기 전에 엔터프라이즈 시스템의 제품 이용으로부터 제공된 데이터)를 이용하여 수행된다. 통상적으로, 수정된 엔터프라이즈 시스템의 그림자 검사(shadow test)는 비어있는 시스템(또는 테넌트(tenant))에 생산 시스템(또는 소프트웨어가 테넌트 활성화 된 경우, 테넌트)을 복사함으로써 달성되고 반도체 데이터에 대한 테스트를 시작한다. 그러나, 이는 여러 단점을 갖는다.
예를 들어, 이러한 테스트 시스템의 설정은 상당한 메모리(예를 들어, 몇 테라 바이트(TB)까지)를 소비할 수 있는, 전체 제품 시스템의 복사를 필요로 한다. 게다가, 복사-절차는 상당한 시간(예를 들어, 몇 시간부터 며칠까지)을 필요로 할 수 있다. 이러한 시간 동안, 소스 시스템의 제품 이용은 복사본 내에서 일관되지 않은 데이터를 생성한다. 그 결과, 시스템의 제품 이용은 중지되어, 상당한 정지 시간으로 이어지거나, 또는 시스템이 일관되지 않은 데이터를 이용하여 수행된다. 또 다른 단점은, 새로운 시스템이 정확하게 이전 시스템처럼 수행될 때 까지, 데이터는 문제의 근본 원인을 식별하기 어렵게 만드는 오류를 분산 또는 생산한다. 추가적으로, 기존의 그림자 검사는 또한 원래의 시스템에서 실행되는 모든 트랜잭션이 테스트 시스템에서 실행되는 것을 요구하여 타겟이 된 테스트를 어렵게 만든다.
따라서, 이전에 언급된 결점과 부적합성을 처리하기 위해 이 산업에서 지금까지 처리되지 않은 필요성이 존재한다.
본 개시의 예시에 따라, 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 방법이 제공된다. 방법은
생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템으로 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이스 시스템을 테스트하기위해 이용하는 하나 이상의 사용자 중에서부터 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 및 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;를 갖추어 이루어진다.
본 개시의 예시에 따라, 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 시스템이 제공된다. 시스템은 하나 이상의 프로세서와; 하나 이상의 컴퓨터-판독 매체를 포함하는 메모리 시스템을 구비하고, 하나 이상의 컴퓨터-판독가능 매체가 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서는 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템으로 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이스 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 및 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되는 것을 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;와 같은 작업을 수행하도록 하는 명령을 보유한다.
본 개시의 예시에 따라, 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트를 동시 제품 이용을 위한 비-일시적인 컴퓨터 판독가능 저장 매체가 제공된다. 비-일시적인 컴퓨터 판독 가능 저장 매체는 하나 이상의 프로세서가 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템으로 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이스 시스템을 테스트하는데 이용할 하나 이상의 사용자 중에서부터 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 및 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;를 갖추어 이루어지는 방법을 수행하도록 하기 위한 명령을 포함한다.
몇몇 예시에서, 결정하는 단계는 화이트리스트에 기초하고, 화이트 리스트는: 테스트를 위해 이용되는 사용자의 목록, 테스트를 위해 이용되는 명령의 목록, 테스트를 위해 이용되는 트랜잭션의 목록 중 하나를 포함한다.
몇몇 예시에서, 획득하는 단계 다음에, 방법은 생산 엔터프라이즈 시스템, 수정된 엔터프라이즈 시스템, 및 생산 엔터프라이즈 시스템의 복사본에 제공되는 입력을 복사하는 단계를 더 갖추어 이루어진다.
몇몇 예시에서, 방법은 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템을 갖는 생산 엔터프라이즈 시스템의 복사본을 동기화하는 단계를 더 갖추어 이루어진다.
몇몇 예시에서, 동기화하는 단계는 소정의 시간 간격 동안 또는 요청할 때 발생한다.
몇몇 예시에서, 분석하는 단계는 생산 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 복사본에 대한 트랜잭션 기록을 비교하는 단계를 더 갖추어 이루어진다.
앞으로의 일반적인 설명과 다음의 상세한 설명 모두, 청구된 바와 같이 오직 예시적이고 실험적이며 구현을 제한하려는 것이 아님이 이해되어야 한다.
도 1은 본 개시의 예시에 따른, 테스트 구조를 나타낸다.
도 2는 본 개시의 예시에 따른, 테스트 데이터 시퀸스 소프트웨어 다이어그램을 나타낸다.
도 3은 본 개시의 예시에 따른, 타겟 시스템을 테스트하기 위한 프로세스를 나타낸다.
도 4는 본 개시의 예시에 따른, 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 사용을 위한 프로세스를 나타낸다.
도 5는 본 개시와 일치하는 개시된 구현을 수행하기 위한 예시적인 컴퓨터 시스템이다.
이제 첨부 도면에 도시된 예시적인 구현에 대해 상세히 설명할 것이다. 필요한 경우, 동일한 참조 번호가 동일하거나 유사한 부분에 대해 지칭하기 위해 도면에서 이용된다.
간소함 및 예시적인 목적을 위해, 본 개시의 원리가 주로 그 실시예를 참조함으로써 설명된다. 그러나, 당업자는 동일한 원리가 똑같이 적용 가능하고, 모든 유형의 정보 및 시스템에서 구현 가능하다는 것과 임의의 변형이 본 개시의 진정한 정신 및 범위로부터 벗어나 있지 않다는 것을 쉽게 이해할 수 있을 것이다. 게다가, 다음의 상세한 설명에서, 특정 실시예를 설명하는 도면이 첨부된다. 전기적, 기계적, 논리적 및 구조적 변형이 본 개시의 정신과 범위를 벗어나지 않고 실시예를 구성할 수 있다. 그러므로, 다음의 상세한 설명은 제한하려는 의도에서 취해진 것이 아니며 본 개시의 범위는 청구항 및 이의 동등물에 의해 정의된다.
본 개시의 구현은 일반적으로 해당하는 생산 엔터프라이즈 시스템(production enterprise system)을 방해하지 않고 수정된 엔터프라이즈 시스템을 테스트하는 것에 관한 것이다. 특히, 본 개시의 구현은 생산 데이터베이스 스키마(production database schema)와 병행하여 테스트 데이터베이스 스키마(schema)를 이용하는 생산 데이터를 갖는 엔터프라이즈 시스템의 업데이트(update) 및/또는 사용자 정의(customization)에 관한 것이다. 몇몇 예시에서, 본 개시의 구현은 원래의 데이터베이스와 동일한 스키마를 이용할 수도 있고 이용하지 않을 수도 있는 추가적인 데이터베이스에 복제(duplicate)된 동일한 데이터 상에서 엔터프라이즈 시스템의 테스트 및 제품 이용이 수행(perform)될 수 있게 한다. 실시간으로 현재 생산 시스템의 실제 사용법을 캡쳐(capture)하고 래거시 테스트 시스템(legacy test system)과 대조하여 새롭게 개발된 시스템을 테스트하기 위한 캡쳐 사용법을 이용함으로써, 모든 트랜잭션(transaction)을 실행할 필요 없이, 정확한 비교는 래거시 테스트 시스템 및 업데이트된 테스트 시스템 양쪽 상에서 동일한 방식으로 동일한 제품 사용자를 위해 동일한 생산 트랜잭션을 재사용함으로써 래거시 시스템에 새로운 시스템을 제공할 수 있다. 또한, 최종 사용자의 실제 생산 상호 작용(interaction)을 이용함으로써, 시스템은 최종 사용자 테스트를 위한 전용 시간(dedicated time)의 대부분을 없애고 테스트 시스템 상의 제품 사용법을 가장 잘 표현할 수 있다. 이는 또한 오류 조건(error condition)의 더 나은 테스트, 유닛 테스트(unit test)의 자동화된 발생 및 테스트 데이터 상에서의 자동화된 분석론(analytics)을 허용한다.
도 1은 본 개시의 예시에 따른, 테스트 구조(100;testing architecture)이다. 테스트 구조(100)는 예를 들어, 구조(100)가 생산 서버 사용을 차단(intercept)하고 예를 들어, 업데이트된 서버 시스템과 같은 수정된 엔터프라이즈 시스템(130;modified enterprise system)(또는 테스트 시스템)에 대한 테스트를 위한 상호 작용을 선택적으로 재사용하고, 예를 들어, 사용자 오류 테스트의 감소, 대부분의 최종 사용자 테스트 제거, 복제 데이터 엔트리(entry) 및 이로 인한 오류의 제거를 제공하는, 테스트 래거시 서버와 같이, 생산 엔터프라이즈 시스템의 복사본(125;copy of the production enterprise system)과 대조하여 검사를 비교하는 경우, 예를 들어, 생산 엔터프라이즈 서버와 같은, 생산 엔터프라이즈 시스템(122)(또는 생산 시스템)을 테스트하기 위해 이용될 수 있다. 테스트 구조(100)는 네트워크(110A)에 의한 복제 프록시 서버(115A;replicating proxy server)에 통신 가능하게 연결되는 클라이언트 장치(105A 및 105B;client device) 및 네트워크(110B)에 의한 복제 프록시 서버(115B)에 통신 가능하게 연결된 클라이언트 장치(105C)를 포함한다. 클라이언트 장치(105A, 105B)는 각각 사용자(120A, 120B)에 의해 작동되고, 클라이언트(105C)는 사용자(120C)에 의해 작동된다. 몇몇 예시에서, 네트워크(110A) 및 네트워크(110B)는 네트워크(110A)가 외부 광역 네트워크(external wide area network), 즉, 인터넷이고 및 네트워크(110B)가 내부 근거리 네트워크(internal local area network)인것 처럼, 상이한 네트워크이다. 몇몇 예시에서, 클라이언트 장치(105A, 105B, 105C)는 각각 랩톱 컴퓨터(laptop computer), 데스크톱 컴퓨터(desktop computer), 스마트폰(smartphone), 개인 휴대 정보 단말기(personal digital assistant), 휴대용 미디어 플레이어(portable media player), 태블릿 컴퓨터(tablet computer), 또는 복제 프록시 서버(115A, 115B)와 통신하기 위해 이용될 수 있는 임의의 다른 적절한 컴퓨팅 장치와 같은 컴퓨팅 장치(computing device)일 수 있다. 복제 프록시 서버(115A, 115B)는 생산 엔터프라이즈 시스템(112), 생산 엔터프라이즈 시스템의 복사본(125), 및 수정된 엔터프라이즈 시스템(130)과 통신 가능하게 연결된다. 복제 프록시 서버(115A, 115B)는 클라이언트 장치(105A, 105B, 및 105C)로부터 데이터를 획득(obtain)하고 그 데이터를 사용자(120A, 120B, 120C)에 의한 작업(work)의 정상적인 과정에서의 이용을 위해 생산 엔터프라이즈 시스템(112)에 제공될 뿐만 아니라, 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)을 이용하여 테스트하기 위한 데이터를 제공한다.
몇몇 예시에서, 복제 프록시 서버(115A, 115B)는 별도 서버(separate server)일 수 있거나 생산 엔터프라이즈 시스템(112), 생산 엔터프라이즈 시스템의 복사본(125), 또는 수정된 엔터프라이즈 시스템(130) 중 하나에 의해 호스팅(host)된 서비스(service)일 수 있다. 몇몇 예시에서, 복제 프록시 서버(115a, 115b), 생산 엔터프라이즈 시스템(122), 생산 엔터프라이즈 시스템의 복사본(125), 및 수정된 엔터프라이즈 시스템(130)은 서버와 같은 하나 이상의 컴퓨팅 장치, 및 하나 이상의 데이터베이스 시스템(database system)을 포함할 수 있다. 몇몇 예시에서, 복제 프록시 서버(115A, 115B)는 서버(예를 들어, 클라우드 컴퓨팅(cloud computing))의 동작(action)을 수행하기 위해 같이 작업하는 하나 이상의 컴퓨팅 장치를 표현할 수 있다. 몇몇 구현에서, 데이터베이스 시스템은 인-메모리 데이터베이스 시스템(in-memory database system)과 같이 제공될 수 있다. 몇몇 예시에서, 인-메모리 데이터 베이스는 데이터 저장을 위한 메인 메모리(main memory)를 이용하는 데이터베이스 관리 시스템이다. 몇몇 예시에서, 메인 메모리는 메모리 버스(memory bus)에 걸쳐 하나 이상의 프로세서(processor)(예를 들어, CPU(central processing unit))와 통신하는 RAM(random access memory)을 포함한다. 인-메모리 데이터베이스는 디스크 저장 메케니즘(disk storage mechanism)을 채택하는 데이터베이스 관리 시스템과는 현저히 다를 수 있다. 일부 예시에서, 인-메모리 데이터베이스는 내부 최적화 알고리즘(internal optimization algorithm)이 더 간단하고 더 적은 CPU 명령(instruction)을 실행(예를 들어, 감소된 CPU 소비를 필요)하기 때문에, 디스크 저장 데이터베이스보다 더 빠르다. 몇몇 예시에서, 인-메모리 데이터베이스에서 데이터에 엑세스하는 것은 데이터를 쿼리(query)할 때, 탐색 시간(seek time)을 제거하고, 이는 디스크-저장 데이터베이스 시스템보다 더 빠르도 더 예측가능한 성능을 제공한다.
도 2는 본 개시의 예시에 따른, 테스트 데이터 시퀸스 소프트웨어 다이어그램(200;test data sequence software diagram)을 나타낸다. 복제 프록시 서버(115A, 115B)는 각각의 클라이언트 장치(105A, 105B, 105C)를 매개로 사용자(120A, 120B, 120C)로부터 입력(205;input)을 획득한다. 복제 프록시 서버(115A, 115B)는 생산 시스템의 복사본(125)과 대조하여 결과를 비교(compare)함으로써 수정된 엔터프라이즈 시스템(130)을 테스트하기 위해 이용되는 화이트리스트(210;whitelist)를 통해 필터링(filter)되는 사용자 입력의 대기열(210;queue)을 보유한다. 도 2에서 보여지는 바와 같이, 화이트 리스트(210)는, 생산 사용자, 세션 그룹(session group)의 상태를 기록하는 상태 기계(state machine) (각 세션 그룹은 생산 세션 및 2개의 테스트 세션을 포함한다) 및 어느 트랜잭션이 테스트 세션과 대조하여 프로세스(process)되는지를 결정(determine)하는 (이것이 바로 테스트 세션 상태가 생산 세션 상태로부터 변할 수 있는 이유이다) 화이트 리스트로부터 테스트를 하기 위해 이용되는 사용자(들)(211), 명령(command)(들)(212), 및 트랜잭션(들)(213)의 전체 목록인 트랜잭션 대기열이다. 사용자 입력은 검색(retrieving), 편집(editing), 업데이트(updating), 조인(joining), 도면의 재-배치(re-assigning drawings), 보고(reporting), 및 생산 엔터프라이즈 시스템(122)에 의해 저장되고 조작(manipulate)되는 모든 정보에 대한 다른 동작에 제한되는 것은 아니지만, 이를 포함하는 하나 이상의 동작을 수행하기 위한 명령(들)을 포함한다. 트랜잭션(들)(213)은 명령을 초기화(initiate)하기 위한 각각의 클라이언트 장치(105A, 105B, 105C)에서 생산 엔터프라이즈 시스템(122)까지의 명령일 수 있다. 예를 들어, 사용자를 관리하기 위한 웹 서비스(web service)는 GetByName(이름) → 사용자 ID/실패 (화이트 리스트(210) 상에 있음), GetByID(ID) → 사용자 이름실패 (화이트 리스트(210) 상에 있음), Set(이름) → 발생된 ID/실패(ID는 자동적으로 발생된다)(화이트 리스트(210) 상에 없음)에 한정되는 것은 아니지만, 이를 포함하는 API(application program interface) 명령을 포함할 수 있다. 트랜잭션의 목록은 2개의 열(ID, Name)의 단일 표(single table)과 같이 데이터 베이스에 배열될 수 있고 "*" 표시는 화이트 리스트에 없었기 때문에 프로세스되지 않은 트랜잭션을 나타낼 수 있다. 화이트리스트(210)는 일반적으로 사용자(120A, 120B, 120C)가 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)을 포함하는, 테스트 시스템과 대조하여 실행을 위해 정상적인 작업 환경 동안 이용하는 입력의 서브세트(subset)를 생산한다. 추가적으로, 화이트 리스트(210)는 테스트 구조에 포함하기 위해, 예를 들어, 사용자(120A, 120B, 120C)와 같이, 이러한 사용자의 목록을 포함한다. 예를 들어, 사용자(120C)는 아닌 사용자(120A, 120B)가 테스트를 위해 이용되는 경우, 클라이언트 장치(105C)가 아닌 클라이언트 장치(105A 및 105B)에 제공되는 입력이 복제 프록시 서버(115A)에서 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)까지 보내진다. 추가적으로, 화이트 리스트(210)는 입력의 서브세트 및 테스트 되기 위해 선택된 사용자를 기초로 생산 시스템의 복사본(125) 및 수정 엔터프라이즈 시스템(130)에 의해 수행되는 하나 이상의 트랜잭션을 포함한다.
복제 프록시 서버(115A, 115B)는 정상적인 작업흐름을 위해 이용되는, 생산 데이터베이스(240)과 통신하는, 생산 엔터프라이즈 시스템(122)에 입력(205)을 제공한다. 화이트 리스트(210)으로부터 획득된 입력의 서브세트는 타겟 시스템(235;target system), 즉 수정된 엔터프라이즈 시스템(130), 및 생산 시스템의 복제본(225;clone of the production system) 즉, 생산 엔터프라이즈 시스템의 복사본(125)과 대조하는 타겟 데이터베이스(255;target database), 및 생산 복제 데이터베이스(245;production clone database)를 테스트하기 위해 이용되는 프로세스 대기열(220)에 제공된다. 테스트 동안, 입력의 서브세트에 대해, 트랜잭션-기반 비교(230;transaction-based comparison)가 생산 시스템의 복제본(225)과 타겟 시스템(235) 사이에서 이루어지고, 데이터베이스-기반 비교(250)가 생산 복제본 데이터베이스(245)와 타겟 데이터베이스(255) 사이에서 이루어지며, 테스트 결과의 조정(reconciliation)(270)으로서 제공된다. 생산 복제본 데이터베이스(245) 및 타겟 데이터베이스(255)는 환경 동기화(260;environment synchronization)를 이용하는 생산 데이터베이스(240)와 동기화된다. 이는 생산 데이터베이스(240)에서 기록의 임의의 변경이 생산 복제본 데이터베이스(245) 및 타겟 데이터베이스(255)에 전달(propagate)된다는 것을 보장한다. 또한, 주기적으로, 즉, 특정 시간 프레임(frame) 동안 매일 밤마다, 생산 복제본 데이터베이스(245)는 환경 동기화(260) 및 주기적인 테스트 동기화(265)를 이용하여 생산 데이터베이스와 동기화될 수 있다. 주기적인 테스트 동기화(265)는 환경 동기화(260)보다 더 빈번하며, 생산 복제본 데이터베이스(245) 및 타겟 데이터베이스(255)가 테스트 품질(quality)을 보장하기 위해 긴밀하게 동기화 되도록 유지한다. 환경 동기화(260)는 덜 빈번하고 생산 복제본 데이터베이스(245) 및 타겟 데이터베이스(255)가 생산 데이터와 동기화 시키는데 이는 오직 생산 트랜잭션의 서브세트가 테스트 시스템과 대조하여 실행되기 때문이다.
도 3은 본 개시의 예시에 따른, 타겟 시스템(300)을 테스트하기 위한 프로세스를 나타낸다. 참조번호(305)에서, 입력(들)은 사용자(들), 즉, 사용자(120A, 120B, 및 120C)로부터 획득된, 클라이언트 장치, 즉, 클라이언트 장치(105A, 105B, 105C)로부터 수신된다. 입력(들)은 정상 일일 작업 동안 사용자(들)로부터 획득된다. 참조번호(310)에서, 복제 프록시, 즉, 복제 프록시 서버(115A, 115B)가 입력(들)을 복제한다. 복제 프록시는 모든 입력을 복제하고, 이는 화이트 리스트(210)에 의해 필터링된다. 모든 입력의 복제는 테스트 문서화(test documentation)를 개선시키고 동시에 복제 프록시를 할 수 있는 한 가볍게 유지함으로써 사용자 경험에 대한 충격의 잠재력을 최소화 한다. 사용자가 테스트 시스템 사용자로서 승인되지 않더라도, 그들의 트랜잭션은 복제 및 저장되며, 그 다음에 화이트 리스트(210)에 의해 필터링된다. 참조번호(315)에서, 생산 시스템, 즉, 생산 엔터프라이즈 시스템(122)은, 정상 작업으로부터 이용되는 복제 프록시로부터 입력(들)을 수신한다. 참조번호(315)에서, 생산 엔터프라이즈 시스템(122)은 생산 작업이 참조번호(320)에서 완료될 때 까지 정상적인 방식으로 입력(들)을 프로세스 한다. 참조번호(325)에서, 복제 프록시에 의해 복제된 입력(들)은 테스트 시스템을 위해 승인된 트랜잭션의 목록과 대조하여 비교된다. 예를 들어, 화이트 리스트, 즉, 화이트 리스트(210)가 복제된 모든 생산 트랜잭션로부터 선택된 하나 이상의 사용자(들)로부터 입력(들)의 서브세트를 기초로 생산 시스템의 복제본(225) 및 타겟 시스템(245) 상에서 수행하기 위해 하나 이상의 트랜잭션을 포함할 수 있다. 현재 테스트가 없는 경우, 트랜잭션이 트랜잭션 표(transaction table)에 추가되고 테스트 시스템 구성을 기초로 화이트리스트 또는 블랙리스트(blacklist) 중 하나와 같이 표시된다. 현재 테스트가 있고 트랜잭션이 화이트 리스트 되었다면, 트랜잭션은 참조번호(335)에서의 생산 시스템의 복제본(225) 및 참조번호(340)에서의 타겟 시스템(235)과 병행하여 수행된다. 하나 이상의 트랜잭션(345 및 350)의 각각의 결과는 예를 들어, 참조번호(355 및 360)에서, 특정 출력을 평가하고 생산된 임의의 차이점을 위한 이진 레벨 비교 플래그(binary level comparison flag)를 발생시키기 위해 맞춰지는 비교 툴(comparison tool)을 이용하여 비교된다.
도 4는 본 개시의 예시에 따른, 엔터프라이즈 시스템(122) 및 수정된 엔터프라이즈 시스템(130)의 테스트의 동시 제품 이용을 위한 방법(400)을 보여준다. 방법은 참조번호(405)에서, 생산 엔터프라이즈 시스템(122)의 하나 이상의 사용자(120A, 120B, 120C)로부터 입력을 획득하는 단계에서 시작한다. 방법은 참조번호(410)에서, 하나 이상의 사용자에서 생산 엔터프라이즈 시스템(122)까지 입력을 제공하는 단계로 계속된다. 방법은 참조번호(415)에서, 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터 입력의 서브세트를 결정하는 단계로 계속된다. 결정하는 단계는 화이트리스트(210)에 기초하며, 화이트리스트는: 테스트를 위해 이용되는 사용자(120A, 120B, 120C)의 목록, 테스트를 위해 이용되는 명령(212)의 목록, 테스트를 위해 이용되는 트랜잭션의 목록 중 하나 이상을 포함한다. 방법은 참조번호(420)에서, 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125) 상에서 입력의 서브셋에 대한 하나 이상의 트랜잭션을 수행하는 단계에 의해 계속된다. 방법은 참조번호(425)에서, 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템(130)이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석(analyze)하는 단계로 계속된다.
몇몇 예시에서, 방법은 참조번호(430)에서, 획득하는 단계 다음에, 참조번호(405)에서, 생산 엔터프라이즈 시스템(122), 수정된 엔터프라이즈 시스템(130), 및 생산 엔터프라이즈 시스템의 복사본(125)에 제공되는 입력을 복사하는 단계를 포함하는 작업을 선택적으로 수행할 수 있다.
몇몇 예시에서, 방법은 참조번호(430)에서, 수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125)을 생산 엔터프라이즈 시스템(122)과 동기화하는 단계를 포함하는 작업을 선택적으로 수행할 수 있고, 동기화하는 단계는 소정의 시간 간격 동안 또는 요청할 때 발생한다.
몇몇 예시에서, 참조번호(425)에서, 분석하는 단계는, 참조번호(435)에서, 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)에 대한 트랜잭션 기록을 비교하는 단계를 더 포함할 수 있다.
도 5는 위에서 설명된 하나 이상의 프로세스를 수행하기 위해 이용될 수 있는, 모바일 장치 또는 서버로서 이용될 수 있는 컴퓨터 장치(500)를 위한 하드웨어 구성의 예시를 나타낸다. 도 5가 컴퓨터 장치(500)에 보유된 다양한 구성요소(component)를 나타내지만, 도 5는 컴퓨터 장치의 하나의 예시를 나타내고 추가적인 구성요소가 추가될 수 있으며 존재하는 구성요소는 제거될 수 있다.
컴퓨터 장치(500)는 예를 들어, 데스크톱, 랩톱, 서버, 등등과 같은 임의의 유형의 컴퓨터 장치, 또는 예를 들어, 스마트폰, 태블릿 컴퓨터, 셀룰러 폰, 개인 휴대 정보 단말기, 등등과 같은, 모바일 장치일 수 있다. 도 5에서 나타내진 바와 같이, 컴퓨터 장치(500)는 다양한 코어 구성(core configuration) 및 클록 주파수(clock frequencies)의 하나 이상의 프로세서(502)를 포함할 수 있다. 컴퓨터 장치(500)는 또한 컴퓨터 장치(500)의 작업 동안 메인 메모리와 같이 제공되는 하나 이상의 메모리 장치(504)를 포함할 수 있다. 예를 들어, 작업 동안, 작업을 지원하는 소프트웨어의 복사본은 하나 이상의 메모리 장치(504)에 저장될 수 있다. 컴퓨터 장치(500)는 또한, 컴퓨터 장치(500)와의 인간 상호작용 및 조작을 가능하게 하기 위한 예를 들어, 키보드, 마우스, 터치패드, 컴퓨터 스크린, 터치스크린, 등과 같은 하나 이상의 주변 장치 인터페이스(peripheral interface)를 포함할 수 있다.
컴퓨터 장치(500)는 또한, 프로토콜(protocol)을 이용하여 유선 또는 무선 미디어에 걸쳐 통신하기 위한, 예를 들어, 이더넷 어댑터(Ethernet adapter), 무선 트랜시버( wireless transceiver), 또는 시리얼 네트워크 구성요소(serial network component)와 같은 하나 이상의 네트워크를 매개로 통신하기 위한 하나 이상의 네트워크 인터페이스(508)를 포함할 수 있다. 컴퓨터 장치(500)는 또한, 예를 들어 이미지, 파일, 및 하나 이상의 프로세서(502)에 의한 실행을 위한 프로그램과 같은 데이터를 저장하기 위해, 예를 들어, 플래쉬 드라이브, 하드 드라이브, 랜덤 엑세스 메모리 등과 같은 다양한 물리적 차원 및 저장 용량의 하나 이상의 저장 장치(510)를 포함할 수 있다.
추가적으로, 컴퓨터 장치(500)는 위에서 설명한 기능을 가능하게 하는 하나 이상의 소프트웨어 프로그램(512)을 포함할 수 있다. 하나 이상의 소프트웨어 프로그램(512)은 하나 이상의 프로세서(502)가 여기서 설명된 프로세스를 수행도록 하는 명령을 포함할 수 있다. 하나 이상의 소프트웨어 프로그램(512)의 복사본은 하나 이상의 메모리 장치(504) 및/또는 하나 이상의 저장 장치(510)에 저장될 수 있다. 마찬가지로, 하나 이상의 소프트웨어 프로그램(512)에 의해 이용되는 데이터가 하나 이상의 메모리 장치(504) 및/또는 하나 이상의 저장 장치(510)에 저장될 수 있다.
실시예에서, 컴퓨터 장치(500)는 네트워크(516)를 매개로 다른 장치와 통신할 수 있다. 다른 장치는 위에서 언급한 바와 같이 임의의 유형의 장치일 수 있다. 네트워크(516)는 근거리 네트워크, 광역 네트워크, 가상 사설 네트워크(virtual private network), 인터넷(Internet), 내부 전산망(internet), 외부 전산망(extranet), 공중 교환 전화 네트워크(public switched telephone network), 적외선 네트워크, 무선 네트워크, 및 이들의 임의의 조합과 같은, 임의의 유형의 전자 네트워크일 수 있다. 네트워크(516)는 예를 들어, TCP/IP, UDP, OSI, FTP, UPnP, NFS, CIFS, AppleTalk과 같은, 임의의 다양한 상업용 프로토콜을 이용하여 통신을 지원할 수 있다. 네트워크(516)는 예를 들어, 근거리 네트워크, 광역 네트워크, 가상 사설 네트워크, 인터넷, 내부 전산망, 외부 전산망, 공공 교환 전화 네트워크, 적외선 네트워크, 무선 네트워크, 및 이들의 임의의 조합일 수 있다.
컴퓨터 장치(500)는 다양한 데이터 저장소 및 위에서 논의된 다른 메모리 및 저장장치를 포함할 수 있다. 이는 예를 들어, 하나 이상의 컴퓨터 근처의 (및/또는이 안에 있는) 또는 네트워크를 통해 임의의 또는 모든 컴퓨터로부터 멀리 떨어진 저장 매체와 같이, 다양한 위치에 있을 수 있다. 몇몇 구현에서, 정보는 당업자에게 익숙한, 스토리지 전용 네트워크("SAN";storage-area network)에 있을 수 있다. 유사하게, 컴퓨터, 서버, 또는 다른 네트워크에 속한 기능을 수행하기 위한 필요한 모든 파일이 이해되는 바와 같이, 근처에서 및/또는 원격으로 저장될 수 있다.
실시예에서, 위에서 설명된 바와 같이 컴퓨터 장치(500)의 구성요소는 단일 인클로저(single enclosure)내에 둘러지거나(enclose) 또는 다른 하나에 거의 가깝게 위치될 필요는 없다. 당업자는 컴퓨터 장치(500)가 개시된 구현을 수행하기 위해, 필요한 모든 부속 펌웨어 또는 소프트웨어를 포함하는, 임의의 유형의 하드웨어 구성 부분을 포함하는 것과 같이, 위에서 설명된 구성 부분이 오직 예시적인 것임을 이해해야 한다. 컴퓨터 장치(500)는 또한 ASIC(application-specific integrated circuit) 또는 FPGA(field-programmable gate array)와 같은, 전자 회로 구성요소 또는 프로세서에 의해 부분적으로 또는 전체적으로 구현될 수 있다.
추가적으로, 본 개시는 다음의 조항에 따른 예시를 포함한다:
조항1. 생산 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 방법으로, 방법은: 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템에 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터의 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;를 갖추어 이루어지는 것을 특징으로 한다
조항2. 조항1에 있어서, 결정하는 단계는 화이트리스트를 기초로 하고, 화이트리스트는 테스트를 위해 이용되는 사용자의 목록, 테스트를 위해 이용되는 명령의 목록, 테스트를 위해 이용되는 트랜잭션의 목록 중 하나 이상을 포함하는 것을 특징으로 한다.
조항3. 조항1에 있어서, 획득하는 단계 다음에, 생산 엔터프라이즈 시스템, 수정된 엔터프라이즈 시스템, 및 생산 엔터프라이즈 시스템의 복사본에 제공되는 입력을 복사하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항4. 조항1에 있어서, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본을 생산 엔터프라이즈 시스템과 동기화하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항5. 조항4에 있어서, 동기화하는 단계는 소정의 시간 간격 동안 또는 요청할 때 발생하는 것을 특징으로 한다.
조항6. 조항1에 있어서, 분석하는 단계는 생산 엔터프라이즈 시스템의 복사본 및 수정된 엔터프라이즈 시스템에 대한 트랜잭션 기록을 비교하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항7. 생산 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 시스템으로, 시스템은: 하나 이상의 프로세서; 및 하나 이상의 컴퓨터-판독가능 매체를 구비하여 구성되고, 하나 이상의 컴퓨터-판독가능 매체는 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가: 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템에 입력을 제공하는 단계; 수정된 엔터프라이즈 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터의 입력의 서브세트를 결정하는 단계; 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;를 포함하는 작업을 수행하도록 하는 명령을 보유하는 것을 특징으로 한다.
조항8, 조항7에 있어서, 결정하는 단계은 화이트리스트를 기초로 하고, 화이트리스트는 테스트를 위해 이용되는 사용자의 목록, 테스트를 위해 이용되는 명령의 목록, 테스트를 위해 이용되는 트랜잭션의 목록 중 하나 이상을 포함하는 것을 특징으로 한다.
조항9. 조항7에 있어서, 하나 이상의 프로세서는 획득하는 단계 다음에, 생산 엔터프라이즈 시스템, 수정된 엔터프라이즈 시스템, 및 생산 엔터프라이즈 시스템의 복사본에 제공되는 입력을 복사하는 단계를 포함하는 작업을 수행하기 위해 추가적으로 작동가능한 것을 특징으로 한다.
조항10. 조항7에 있어서, 하나 이상의 프로세서는 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본을 생산 엔터프라이즈 시스템과 동기화하는 단계를 포함하는 작업을 수행하기 위해 추가적으로 작동가능한 것을 특징으로 한다.
조항11. 조항10에 있어서, 동기화하는 것은 소정의 시간 간격 동안 또는 요청 시에 발생하는 것을 특징으로 한다.
조항12. 조항7에 있어서, 분석하는 것은 생산 엔터프라이즈 시스템의 복사본 및 수정된 엔터프라이즈 시스템에 대한 트랜잭션 기록을 비교하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항13. 생산 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템의 테스트의 동시 제품 이용을 위한 비-일시적인 컴퓨터 판독가능 저장 매체로서, 비-일시적인 컴퓨터 판독가능 저장 매체는: 하나 이상의 프로세서가: 생산 엔터프라이즈 시스템의 하나 이상의 사용자로부터 입력을 획득하는 단계; 하나 이상의 사용자에서 생산 엔터프라이즈 시스템에 입력을 제공하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템을 테스트하기 위해 이용하는 하나 이상의 사용자 중에서부터의 입력의 서브세트를 결정하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본 상의 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계; 적어도 하나의 하드웨어 프로세서에 의해, 수정된 엔터프라이즈 시스템이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계;를 갖추어 이루어지는 방법을 수행하도록 하는 명령을 포함하는 것을 특징으로 한다.
조항14. 조항13에 있어서, 결정하는 단계는 화이트리스트를 기초로 하고, 화이트리스트는 테스트를 위해 이용되는 사용자의 목록, 테스트를 위해 이용되는 명령의 목록, 테스트를 위해 이용되는 트랜잭션의 목록 중 하나 이상을 포함하는 것을 특징으로 한다.
조항15. 조항13에 있어서, 획득하는 단계 다음에, 생산 엔터프라이즈 시스템, 수정된 엔터프라이즈 시스템, 및 생산 엔터프라이즈 시스템의 복사본에 제공되는 입력을 복사하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항16. 조항13에 있어서, 수정된 엔터프라이즈 시스템 및 생산 엔터프라이즈 시스템의 복사본을 생산 엔터프라이즈 시스템과 동기화하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
조항17. 조항16에 있어서, 동기화하는 단계는 소정의 시간 간격 동안 또는 요청할 때 발생하는 것을 특징으로 한다.
조항18. 조항13에 있어서, 분석하는 단계는 생산 엔터프라이즈 시스템의 복사본 및 수정된 엔터프라이즈 시스템에 대한 트랜잭션 기록을 비교하는 단계를 더 갖추어 이루어지는 것을 특징으로 한다.
소프트웨어에서 구현되는 경우, 기능은 하나 이상의 명?? 또는 코드와 같이 컴퓨터-판독가능 매체에 저장되거나 또는 이에 걸쳐 전송(transmit)된다. 컴퓨터-판독가능 매체는 유형(tangible), 비-유형 컴퓨터 저장 매체 모두 및 하나의 장소에서 다른 곳으로 컴퓨터 프로그램의 전송(transfer)을 가능하게 하는 임의의 매체를 포함하는 통신 매체를 포함한다. 저장 매체는 컴퓨터에 의해 엑세스될 수 있는 임의의 사용가능한 유형, 비-유형 매체일 수 있다. 제한이 아닌, 예시에 의해, 이러한 유형, 비-유형 컴퓨터 판독 가능 매체는 RAM, ROM, 플래시 메모리, EEPROM, CD-ROM 또는 다른 광학 디스크 저장장치, 자기 디스크 저장장치 또는 다른 자기 저장 기기, 또는 명령, 데이터 구조의 형식으로 원하는 프로그램 코드를 운반 또는 저장하기 위해 이용될 수 있고 컴퓨터에 의해 엑세스될 수 있는 임의의 다른 매체를 포함한다. 디스크(disk 및 disc)는 CD, 레이저 디스크, 광학 디스크, DVD, 플로피 디스크 및 블루-레이 디스크를 포함하며 디스크는 일반적으로 데이터를 자기적으로 재생산하지만, 레이저에 의해 광학적으로도 데이터를 재생산한다. 또한, 임의의 연결은 적절하게 컴퓨터-판독가능 매체로 지칭된다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 동축 케이블, 광섬유 케이블, 연선(twisted pair), DSL(digital subscriber line), 또는 적외선, 라디오, 및 마이크로 파와 같은 무선 기술을 이용한 다른 원격 소스로부터 송신될 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로 파와 같은 무선 기술이 매체의 정의에 포함된다. 위의 조합은 또한 컴퓨터-판독가능 매체의 범위 내에 포함될 수 있어야 한다.
앞의 설명은 예시적인 것이고, 구성 및 구현에 있어서의 변형이 당업자에게 발생할 수 있다. 예를 들어, 여기서 개시된 실시예와 관련된 다양한 예시적인 논리, 논리 블록, 모듈, 및 회로는 범용 프로세서(general purpose processor), DSP(a digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그래밍 가능한 논리 기기, 개별 게이트 또는 트랜지스터 논리, 개별 하드웨어 구성요소, 또는 여기셔 설명된 기능을 수행하기 위해 설계된 것의 임의의 조합과 함께 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어장치, 마이크로제어장치, 또는 상태 기계일 수 있다. 프로세서는 또한 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이크로프로세서, 또는 다른 모든 구성과 같은 컴퓨터 장치의 조합과 같이 구현될 수 있다.
하나 이상의 예시적인 실시예에서, 설명된 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수 있다. 소프트웨어 구현에 대해, 여기서 설명된 기술은 여기서 설명된 기능을 수행하는 모듈(예를 들어, 절차, 기능, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패캐지, 클래스(class), 등등)과 함께 구현될 수 있다. 모듈은 정보, 데이터, 인자(argument), 매개 변수(parameter), 또는 메모리 컨텐츠를 통과 및/또는 수신함으로써 또다른 모듈 또는 하드웨어 회로에 결합될 수 있다. 정보, 인자, 매개변수, 데이터 등은 메모리 공유, 메세지 전달, 토큰 전달, 네트워트 전송 등을 포함하는 임의의 적절한 수단을 이용하여 전달, 포워딩 또는 전송될 수 있다. 소프트퉤어 코드는 메모리 유닛에 저장될 수 있고 프로세서에 의해 실행될 수 있다. 메모리 유닛은 프로세서 내에서 또는 프로세서 외부에서 구현될 수 있고, 이러한 경우, 이 분야에서 잘 알려진 다양한 수단을 매개로 프로세서에 통신가능하게 결합될 수 있다.
가르침이 실시예를 참조하여 설명되어왔지만 당업자는 설명된 구현에 대한 다양한 수정을 진정한 정신 및 범위를 벗어나지 않고 만들 수 있을 것이다. 이곳에서 이용된 용어 및 설명은 오직 예시적인 방식이었으며, 제한하려는 의도가 아니다. 특히, 프로세스가 예시에 의해서 설명되었지만, 프로세스의 단계는 예시된 것과는 다른 순서로 또는 동시에 수행될 수 있다. 게다가, "포함하는", "포함하다", "갖는", "갖는다", "함께", 또는 이들의 변형과 같은 용어가 상세한 설명에서 이용되고, 이러한 용어는 "포함하는"과 같은 용어와 유사한 방식으로 포괄하려는 의도이다. 이곳에서 이용되는 바와 같이, 예를 들어, A 및 B와 같은 항목의 목록에 고나하여 "하나 이상의" 및 "적어도 하나의"와 같은 용어는 A 단독, B 단독, 또는 A 및 B를 의미한다. 추가적으로, 명시되지 않으면, "세트"라는 용어는 "하나 이상"과 같이 해석되어야 한다. 또한, "결합(couple)" 또는 "결합하다"와 같은 용어는 간접 또는 직접적인 연결(connection) 중 하나를 의미하도록 의도되었다. 따라서, 제1 장치가 제2 장치에 결합되는 경우, 연결은 직접적인 연결을 통해서, 또는 다른 장치, 구성요소 및 연결을 매개로 간접적인 연결을 통해서 이루어질 수 있다.
당업자는 설명된 실시예에 대한 다양한 수정을 진정한 정신 및 범위에서 벗어나지 않고 만들 수 있을 것이다. 이곳에서 이용되는 용어 및 설명은 오직 예시적인 것이고 제한하려는 의도는 아니다. 특히 방법이 예시에 의해 설명되지만, 방법의 단계는 설명된 것과 상이한 순서 또는 동시에 수행될 수 있다. 당업자는 이러한 것 및 다른 변형이 다음의 청구항 및 그 동등물에서 정의된 바와 같이 정신 및 범위 내에서 가능함을 알아차릴 것이다.
본 개시의 앞선 설명은, 관련된 실시예와 함께, 오직 예시의 목적을 위해서 보여진다. 이는 모든 것을 포함하지 않으며 개시된 정확한 형태로 본 개시를 제한하려는 것이 아니다. 당업자는 앞선 설명으로부터 수정 및 변형이 위의 가르침을 감안하여 가능하고 본 개시를 실천함으로부터 습득될 수 있음을 이해할 수 있을 것이다. 예를 들어, 설명된 단계는 논의된 동일한 순서로 또는 동일한 정도로 분리되어 수행될 필요가 없다. 마찬가지로 다양한 단계가 동일하거나 유사한 목적을 달성하기 위해 필요하다면 생략, 반복, 또는 결합될 수 있다. 유사하게, 설명된 시스템은 실시예에서 설명된 모든 부품을 포함할 필요는 없고, 또한 실시예에서 설명되지 않은 다른 부품을 포함할 수 있다.
따라서, 본 개시는 위에서 설명된 실시예에 제한되지 않지만, 대신에 등물의 전체 범위의 관점에서 첨부된 청구항에 의해 정의된다.

Claims (12)

  1. 생산 엔터프라이즈 시스템(122) 및 수정된 엔터프라이즈 시스템(130)의 테스트의 동시 제품 이용을 위한 방법(300)으로, 방법이:
    생산 엔터프라이즈 시스템(122)의 하나 이상의 사용자(120A, 120B, 120C)로부터 입력을 획득하는 단계(405)와;
    하나 이상의 사용자(120A, 120B, 120C)로부터 생산 엔터프라이즈 시스템(122)으로 입력을 제공하는 단계(410);
    적어도 하나의 하드웨어 프로세서(502)에 의해, 수정된 엔터프라이즈 시스템(130)을 테스트하기 위해 이용하도록 하나 이상의 사용자(120A, 120B, 120C) 중으로부터 입력의 서브세트를 결정하는 단계(415);
    적어도 하나의 하드웨어 프로세서(502)에 의해, 수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125) 상에서 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계(420);
    적어도 하나의 하드웨어 프로세서(502)에 의해, 수정된 엔터프라이즈 시스템(130)이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계(425);를 갖추어 이루어지고,
    결정하는 단계는 화이트리스트(210)를 기초로 하고, 화이트리스트(210)는 사용자(120A, 120B, 120C)가 정상적인 작업 환경 동안 이용하는 입력의 서브세트를 생산하며, 화이트리스트는 테스트를 위해 이용되는 사용자(120A, 120B, 120C)의 목록, 테스트를 위해 이용되는 명령(212)의 목록, 테스트를 위해 이용되는 트랜잭션(213)의 목록 중 하나 이상을 구비하고,
    분석하는 단계(425)는 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)에 대한 트랜잭션 기록을 비교하는 단계(435)를 더 갖추어 이루어지고,
    테스트 동안, 입력의 서브세트에 대해, 트랜잭션-기반 비교(230)가 생산 시스템의 복제본(225)과 타겟 시스템(235) 사이에서 이루어지고, 데이터베이스-기반 비교(250)가 생산 복제본 데이터베이스(245)와 타겟 데이터베이스(255) 사이에서 이루어지며, 각 비교가 테스트 결과의 조정(270)으로서 제공되는 것을 특징으로 하는 동시 제품 이용을 위한 방법.
  2. 삭제
  3. 제1항에 있어서, 획득하는 단계(405) 다음에, 생산 엔터프라이즈 시스템(122), 수정된 엔터프라이즈 시스템(130), 및 생산 엔터프라이즈 시스템의 복사본(125)에 제공되는 입력을 복사하는 단계(430)를 더 갖추어 이루어지는 것을 특징으로 하는 동시 제품 이용을 위한 방법.
  4. 제1항에 있어서, 수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125)을 생산 엔터프라이즈 시스템(122)과 동기화하는 단계(430)를 더 갖추어 이루어지는 것을 특징으로 하는 동시 제품 이용을 위한 방법.
  5. 제4항에 있어서, 동기화하는 단계(430)가 소정의 시간 간격 동안 또는 요청할 때에 발생하는 것을 특징으로 하는 동시 제품 이용을 위한 방법.
  6. 삭제
  7. 엔터프라이즈 시스템 및 수정된 엔터프라이즈 시스템(130)의 테스트의 동시 제품 이용을 위한 시스템으로, 시스템이:
    하나 이상의 프로세서(502)와;
    하나 이상의 컴퓨터-판독가능 매체(504, 510)를 구비하고,
    하나 이상의 컴퓨터-판독가능 매체(504, 510)는 하나 이상의 프로세서(502)에 의해 실행될 때, 하나 이상의 프로세서가
    생산 엔터프라이즈 시스템의 하나 이상의 사용자(120A, 120B, 120C)로부터 입력을 획득하는 단계(405);
    하나 이상의 사용자(120A, 120B, 120C)로부터 생산 엔터프라이즈 시스템(122)으로 입력을 제공하는 단계(410);
    수정된 엔터프라이즈 시스템(130)을 테스트하기 위해 이용하도록 하나 이상의 사용자(120A, 120B, 120C) 중으로부터 입력의 서브세트를 결정하는 단계(415);
    수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125) 상에서 입력의 서브세트에 대한 하나 이상의 트랜잭션을 수행하는 단계(420);
    수정된 엔터프라이즈 시스템(130)이 정확하게 구성되었는지를 결정하기 위해 하나 이상의 트랜잭션을 분석하는 단계(425);를 포함하는 작업을 수행하기 위한 명령을 보유하고,
    결정하는 단계는 화이트리스트(210)를 기초로 하고, 화이트리스트(210)는 사용자(120A, 120B, 120C)가 정상적인 작업 환경 동안 이용하는 입력의 서브세트를 생산하며, 화이트리스트는 테스트를 위해 이용되는 사용자(120A, 120B, 120C)의 목록, 테스트를 위해 이용되는 명령(212)의 목록, 테스트를 위해 이용되는 트랜잭션(213)의 목록 중 하나 이상을 구비하고,
    분석하는 단계(425)는 생산 엔터프라이즈 시스템의 복사본(125) 및 수정된 엔터프라이즈 시스템(130)에 대한 트랜잭션의 기록을 비교하는 단계(435)를 더 갖추어 이루어지고,
    테스트 동안, 입력의 서브세트에 대해, 트랜잭션-기반 비교(230)가 생산 시스템의 복제본(225)과 타겟 시스템(235) 사이에서 이루어지고, 데이터베이스-기반 비교(250)가 생산 복제본 데이터베이스(245)와 타겟 데이터베이스(255) 사이에서 이루어지며, 각 비교가 테스트 결과의 조정(270)으로서 제공되는 것을 특징으로 하는 동시 제품 이용을 위한 시스템.
  8. 삭제
  9. 제7항에 있어서, 하나 이상의 프로세서(502)가 획득하는 단계(405) 다음에, 생산 엔터프라이즈 시스템(122), 수정된 엔터프라이즈 시스템(130), 및 생산 엔터프라이즈 시스템의 복사본(125)에 제공되는 입력을 복사하는 단계(430) 포함하는 작업을 수행하도록 더 작동가능한 것을 특징으로 하는 동시 제품 이용을 위한 시스템.
  10. 제7항에 있어서, 하나 이상의 프로세서(502)는 수정된 엔터프라이즈 시스템(130) 및 생산 엔터프라이즈 시스템의 복사본(125)을 생산 엔터프라이즈 시스템(122)과 동기화하는 단계(430)를 포함하는 작업을 수행하도록 더 작동가능한 것을 특징으로 하는 동시 제품 이용을 위한 시스템.
  11. 제10항에 있어서, 동기화하는 단계(430)가 소정의 시간 간격 동안 또는 요청할 때에 발생하는 것을 특징으로 하는 동시 제품 이용을 위한 시스템.
  12. 삭제
KR1020180017520A 2017-04-28 2018-02-13 자동화된 테스트 시스템을 위한 방법 및 설계 KR102454177B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762491311P 2017-04-28 2017-04-28
US62/491,311 2017-04-28
US15/844,200 US10572361B2 (en) 2017-04-28 2017-12-15 Concurrent production use of a production enterprise system and testing of a modified enterprise system
US15/844,200 2017-12-15

Publications (2)

Publication Number Publication Date
KR20180121337A KR20180121337A (ko) 2018-11-07
KR102454177B1 true KR102454177B1 (ko) 2022-10-12

Family

ID=62063272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180017520A KR102454177B1 (ko) 2017-04-28 2018-02-13 자동화된 테스트 시스템을 위한 방법 및 설계

Country Status (9)

Country Link
US (1) US10572361B2 (ko)
EP (1) EP3396555B1 (ko)
JP (1) JP7125854B2 (ko)
KR (1) KR102454177B1 (ko)
CN (1) CN108804306B (ko)
AU (1) AU2018200693B2 (ko)
BR (1) BR102018004432A2 (ko)
CA (1) CA2993213C (ko)
RU (1) RU2767149C2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4235461A3 (en) * 2017-07-24 2023-11-15 Wix.com Ltd. Editing a database during preview of a virtual web page
US10795792B2 (en) * 2018-02-02 2020-10-06 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery test
US11086765B2 (en) * 2018-02-02 2021-08-10 Jpmorgan Chase Bank, N.A. Test reuse exchange and automation system and method
US10417115B1 (en) * 2018-04-27 2019-09-17 Amdocs Development Limited System, method, and computer program for performing production driven testing
CN111506583A (zh) * 2019-01-31 2020-08-07 北京嘀嘀无限科技发展有限公司 更新方法、更新装置、服务器、计算机设备和存储介质
CN110347484B (zh) * 2019-06-27 2024-02-02 上海麦克风文化传媒有限公司 一种软件编译部署过程中进行高效测试的工作方法
CN110490742B (zh) * 2019-08-13 2024-04-12 深圳前海微众银行股份有限公司 一种区块链中的交易执行方法及装置
KR102305845B1 (ko) * 2020-12-21 2021-09-29 쿠팡 주식회사 코드의 검증을 위한 전자 장치 및 그 방법
US20220413923A1 (en) * 2021-06-24 2022-12-29 Charter Communications Operating, Llc Seamless micro-services data source migration with mirroring
US11847035B2 (en) 2021-08-23 2023-12-19 International Business Machines Corporation Functional test of processor code modification operations
CN114756268A (zh) * 2022-06-16 2022-07-15 成都雷电微晶科技有限公司 一种集中式相控阵天线fpga程序升级方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086660A1 (en) 2006-10-09 2008-04-10 Marcus Wefers Test data management
JP2013105358A (ja) 2011-11-15 2013-05-30 Japan Research Institute Ltd プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
US20160358109A1 (en) 2015-06-08 2016-12-08 Sap Se Test System Using Production Data Without Disturbing Production System
EP3131041A1 (en) * 2015-08-12 2017-02-15 Basis Technologies International Limited Testing of enterprise resource planning systems

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112344A (ja) * 1990-09-03 1992-04-14 Fujitsu Ltd データベースの疑似更新方式
JPH07200338A (ja) * 1994-01-07 1995-08-04 Nippon Steel Corp コンピュータシステムの稼動検証方法
US6230066B1 (en) * 1998-09-08 2001-05-08 Ford Global Technologies, Inc. Simultaneous manufacturing and product engineering integrated with knowledge networking
AU2291401A (en) * 1999-12-22 2001-07-03 Accenture Llp A method for executing a network-based credit application process
RU2312387C2 (ru) * 2003-05-29 2007-12-10 Самсунг Электроникс Ко., Лтд. Способ и система тестирования dvd-плеера
US7799273B2 (en) * 2004-05-06 2010-09-21 Smp Logic Systems Llc Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes
EP1818812B1 (en) * 2006-01-25 2016-01-06 Brandt Technologies Limited System and method for effecting simultaneous control of remote computers
JP4495688B2 (ja) * 2006-03-27 2010-07-07 株式会社日立製作所 検証システム
US20080271018A1 (en) * 2007-04-24 2008-10-30 Andrew Gross System and Method for Managing an Assurance System
CN101521834B (zh) * 2009-04-02 2012-07-04 深圳市茁壮网络股份有限公司 一种自动化测试的方法、装置和系统
US8418150B2 (en) * 2009-04-03 2013-04-09 Oracle International Corporation Estimating impact of configuration changes
US8549476B2 (en) * 2009-07-30 2013-10-01 Hewlett-Packard Development Company, L.P. Comparison of result of program operation to result of an operation of a different version of the program
US8245083B2 (en) * 2009-12-24 2012-08-14 At&T Intellectual Property I, L.P. Systems, methods, and apparatus to debug a network application
JP2011141631A (ja) * 2010-01-06 2011-07-21 Hitachi Omron Terminal Solutions Corp 現金自動取引装置及び現金自動取引装置の更新プログラムのテスト方法
US8429466B2 (en) 2010-07-23 2013-04-23 Sap Ag XML-schema-based automated test procedure for enterprise service pairs
US9916147B2 (en) * 2010-08-17 2018-03-13 International Business Machines Corporation Deployment of a tool for testing migrated applications
US9054975B2 (en) * 2010-08-30 2015-06-09 Deutsche Telekom Ag Virtualization and replay-based system for network debugging
US9479416B2 (en) * 2010-12-06 2016-10-25 Ca, Inc. System and method for diagnosing information technology systems in multiple virtual parallel universes
JP5648186B2 (ja) * 2011-08-22 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションを再生するためのデータを生成する装置及び方法
CN103077110B (zh) * 2011-10-25 2015-11-25 阿里巴巴集团控股有限公司 一种测试方法及装置
US9183123B2 (en) * 2012-08-13 2015-11-10 Hewlett-Packard Development Company, L.P. Performance tests in a continuous deployment pipeline
US9262416B2 (en) * 2012-11-08 2016-02-16 Microsoft Technology Licensing, Llc Purity analysis using white list/black list analysis
US20140229928A1 (en) * 2013-02-11 2014-08-14 Claes Göran Edström Upgrading software in production environments
TWI608419B (zh) * 2013-09-23 2017-12-11 財團法人資訊工業策進會 軟體相容性預先檢測方法與其系統
US9558465B1 (en) * 2013-11-11 2017-01-31 Amazon Technologies, Inc. Annotations-based generic load generator engine
US9483387B1 (en) * 2014-03-17 2016-11-01 Amazon Technologies, Inc. Tree comparison functionality for services
JP5954752B2 (ja) * 2014-09-30 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム
US20160132420A1 (en) * 2014-11-10 2016-05-12 Institute For Information Industry Backup method, pre-testing method for environment updating and system thereof
US20160155131A1 (en) * 2014-11-28 2016-06-02 EIS Group Software Ireland Limited System and method for fully testing a system before and after an upgrade to verify full use case compliance
CN105824745B (zh) * 2015-01-04 2019-03-01 中国移动通信集团湖南有限公司 一种灰度发布方法及装置
CN106155890A (zh) * 2015-04-02 2016-11-23 深圳市腾讯计算机系统有限公司 平台测试方法和系统
CN105068918B (zh) * 2015-06-03 2017-11-17 中国人民财产保险股份有限公司 一种页面测试方法及装置
US9910762B2 (en) 2015-08-21 2018-03-06 Oracle International Corporation Unified sandbox
CN106598835B (zh) * 2015-10-19 2019-12-20 广州爱九游信息技术有限公司 一种应用的测试方法及装置、系统
US9898389B2 (en) * 2016-01-07 2018-02-20 International Business Machines Corporation Debugging a transaction in a replica execution environment
CN105827446B (zh) * 2016-03-31 2019-04-30 深圳市金溢科技股份有限公司 一种智能交通api网关及智能交通业务系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086660A1 (en) 2006-10-09 2008-04-10 Marcus Wefers Test data management
JP2013105358A (ja) 2011-11-15 2013-05-30 Japan Research Institute Ltd プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法
US20160358109A1 (en) 2015-06-08 2016-12-08 Sap Se Test System Using Production Data Without Disturbing Production System
EP3131041A1 (en) * 2015-08-12 2017-02-15 Basis Technologies International Limited Testing of enterprise resource planning systems

Also Published As

Publication number Publication date
CA2993213C (en) 2023-03-21
RU2018102980A3 (ko) 2021-06-23
RU2767149C2 (ru) 2022-03-16
CA2993213A1 (en) 2018-10-28
JP7125854B2 (ja) 2022-08-25
KR20180121337A (ko) 2018-11-07
AU2018200693B2 (en) 2023-07-13
CN108804306A (zh) 2018-11-13
JP2018200683A (ja) 2018-12-20
RU2018102980A (ru) 2019-07-25
US10572361B2 (en) 2020-02-25
BR102018004432A2 (pt) 2019-02-26
US20180314625A1 (en) 2018-11-01
CN108804306B (zh) 2023-07-18
AU2018200693A1 (en) 2018-11-15
EP3396555A1 (en) 2018-10-31
EP3396555B1 (en) 2020-04-08

Similar Documents

Publication Publication Date Title
KR102454177B1 (ko) 자동화된 테스트 시스템을 위한 방법 및 설계
US20210365571A1 (en) Partial policy evaluation
US9792321B2 (en) Online database migration
US11372635B2 (en) In-memory software package installation and testing
US20200233787A1 (en) Api specification parsing at a mocking server
US7836429B2 (en) Data synchronization mechanism for change-request-management repository interoperation
US10209976B2 (en) Automated application installation
US20150261766A1 (en) Method and apparatus for determining a range of files to be migrated
US11630647B2 (en) Method and system for configuring processes of software applications using activity fragments
US20210125007A1 (en) System for automated database replication and testing
US11294866B2 (en) Lazy optimistic concurrency control
CN108959309B (zh) 数据分析的方法和装置
US8347315B1 (en) Configuration console for messaging middleware
JP2023537725A (ja) 分析ワークスペースの実体化
Paz Microsoft Azure Cosmos DB Revealed: A Multi-Model Database Designed for the Cloud
US20240104003A1 (en) Testing integration applications for systems
Diaz et al. Cloud Data Design, Orchestration, and Management Using Microsoft Azure
Paz Microsoft Azure Cosmos DB Revealed

Legal Events

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