KR20010022215A - 2000년 테스트 케이스들을 생성하는 시스템 및 방법 - Google Patents

2000년 테스트 케이스들을 생성하는 시스템 및 방법 Download PDF

Info

Publication number
KR20010022215A
KR20010022215A KR1020007000787A KR20007000787A KR20010022215A KR 20010022215 A KR20010022215 A KR 20010022215A KR 1020007000787 A KR1020007000787 A KR 1020007000787A KR 20007000787 A KR20007000787 A KR 20007000787A KR 20010022215 A KR20010022215 A KR 20010022215A
Authority
KR
South Korea
Prior art keywords
test cases
test
date
output
output test
Prior art date
Application number
KR1020007000787A
Other languages
English (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 엔, 마이클 그로브
Publication of KR20010022215A publication Critical patent/KR20010022215A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/78Methods to solve the "Year 2000" [Y2K] problem
    • 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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/2273Test methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

소프트웨어 시스템의 2000년 순응성 테스트를 위한 테스트 케이스들을 생성하는 혁신적 규칙 기반 방법과 시스템이 개시된다. 본 발명의 방법과 시스템을 이용하여, 사용자가 먼저 시스템의 작업 논리에 관련된 규칙으로서의 정보를 입력한다. 작업 논리를 획득한 후에, 시스템은 입력 테스트 케이스들을 2000년 순응성 테스트를 위한 출력 테스트 케이스들로 변환한다. 테스트 케이스라는 용어는 여기서 넓은 의미로 임의의 테스트 자동화 언어로 작성된 복귀(regression) 테스트 케이스, 테스트 입력/출력 데이터 파일들의 기록, 또는 기록 툴을 이용하여 포착된 트랜잭션의 데이터 단편들(snap shots)을 말한다. 시스템은 먼저 입력 파일들을 분석하고 작업 논리에 근거하여 입력 테스트 케이스에서 날짜, 시간 또는 기간 의존적 변수 또는 제한들(총괄하여 "날짜 의존적 필드들")을 식별한다. 다음, 시스템은 작업 논리를 보존하는 방식으로 이들 필드들을 위험 날짜들, 시간, 또는 기간으로 치환한다. 여기서 위험 값들은 2000년 순응성 테스트에서 중요한 값들 - 사용자가 정의할 수도 있는 값들의 세트를 말한다. 시스템은 사용자의 필요에 따라 출력 테스트 케이스들을 생성하는 수개의 모드를 제공한다. 시스템은 소프트웨어 시스템에 있어서의 어떠한 한번의 변화에 대해서도 테스트 케이스들을 생성하도록 변형될 수 있다. 예를 들어, 7자리 전화 번호가 10자리 번호로 대체되거나 여러 가지 통화가 단일 통화(currency)로 대체될 수 있다.

Description

2000년 테스트 케이스들을 생성하는 시스템 및 방법 {SYSTEM AND METHOD FOR GENERATING YEAR 2000 TEST CASES}
수십 년간 데이터 처리 시스템에서 연도를 4자리 대신에 2자리를 사용하여 표현하는 것이 관례였다. 따라서, "1995"년은 마지막 두 자리 "95"를 이용하여 표현된다(그리고 종종 저장된다). 이러한 관례는 고가의 메모리 공간과 데이터 기재 시간을 최소화시켰다.
2000년("Y2K")에는 많은 시스템들이 두 자리 연도 "0"을 1900년을 의미하는 것으로 해석할 것이며, 이는 명백히 단지 두 자리만을 이용하여 표현되는 날짜들을 취급한 바람직하지 않은 결과이다. 이 문제는 심각한 것이며, 조직체가 그 시스템들을 "2000년 순응적"으로 만드는데 필요한 조치를 취하지 않으면 심각한 업무 결과에 처할 것이다. 예를 들어, 신용 카드 지불 기록, 국세청 세금 환불 및 심지어 비행기들이 안전하게 구별되도록 해주는 항공 교통 관제 시스템이 붕괴될 수 있다. "2000년 순응 시스템"은 20세기와 21세기 양자에 속하는 날짜들을 정확하게 연산할 수 있는 시스템이다. 범위와 시간적 제약으로 인해 Y2K "버그" 처리는 만만찮은 과제를 부여하고 있다. 세계적으로 Y2K 문제를 처리하는 비용은 수천억불에 이를 것으로 추산된다.
필요한 시간과 자원을 고려하면 애플리케이션들을 Y2K 순응적으로 만드는데 자동화된 툴(tool)이 상당히 중요한 역할을 할 것이다. 일반적으로 Y2K 변환은 두 단계 프로세스를 포함한다. 첫째, 시스템이 Y2K 순응적으로 변환되어야 한다. 둘째, 시스템이 정확하게 변환되었다는 것을 보장하기 위해 철저하게 테스트되어야 한다. 두 번째 "디버깅(debugging)" 단계는 종종 실제 변환 단계 자체보다 더 시간 및 비용 소모적일 수 있다. 현재 수많은 자동 코드/시스템 변환 툴(tool)들이 Y2K 변환의 첫 번째 단계에 이용되고 있지만, 두 번째 단계에 대해서는 일반적으로 테스트 훈련과 자동 테스트 툴들이 결여된 것으로 보인다.
본 출원은 본 명세서에 참조 문헌으로 인용되는 1997년 7월 24일자 미국 특허 출원 제 60/053,645 호 "YEAR 2000 TEST GENERATION FACTORY"에 근거한 것이다.
본 발명은 대체로 애플리케이션들(applications)이 소정의 조건에 순응적(compliant)인가를 테스트하는 시스템과 방법에 관한 것으로서, 특히 애플리케이션들이 "2000년 순응적(Year 2000 compliant)"이어서 20세기에서 21세기까지 날짜들을 정확하게 처리할 수 있는지를 결정하는 시스템과 방법에 관한 것이다.
도 1은 본 발명에 따른 시스템에 의해 수행되는 단계들을 도시한 흐름도이다.
도 2는 본 발명에 따른 시스템을 구현할 수 있는 컴퓨터 시스템의 구조를 도시한 블록도이다.
도 3은 본 발명에 따른 5개의 메인 모듈들의 블록도이다.
도 4는 본 발명에 따른 방식으로 분석기 엔진, 생성 엔진, 치환 엔진이 입력 테스트 케이스들로부터 출력 테스트 케이스들을 생성하는 방법을 도시한 블록도이다.
도 5는 입력 테스트 케이스들로부터 출력 테스트 케이스들이 생성되는 방법을 도시한 블록도이다.
본 명세서에 널리 기재된 본 발명의 목적을 달성하기 위해, 피시험 시스템(system under test)의 2000년 순응 테스트에 이용되는 테스트 케이스들을 생성하는, 데이터 프로세서에 의해 처리되는 본 발명의 방법은 : 피시험 시스템에 해당되는 하나 이상의 입력 테스트 케이스들을 데이터 프로세서에 제공하는 단계; 하나 이상의 입력 테스트 케이스들의 각각에서 제 1 세트의 소정 기준에 따라 하나 이상의 날짜 의존적(dependent) 필드들을 식별하는 단계; 그리고 제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계를 포함하며, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응 테스트에 이용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함한다.
다른 양상으로서, 본 발명은 : 피시험 시스템에 해당하는 하나 이상의 입력 테스트 케이스들을 수신하는(receiving) 인터페이스; 하나 이상의 입력 테스트 케이스들의 각각에서 제 1 세트의 소정 기준에 따라 하나 이상의 날짜 의존적 필드들을 식별하는 분석기; 그리고 제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하도록 형성된 생성 수단을 포함하며, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응 테스트에 이용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함한다.
또 다른 양상으로서, 피시험 시스템의 2000년 순응 테스트에 이용되는 테스트 케이스들을 생성하도록 데이터 프로세서를 형성할 수 있는 본 발명의 컴퓨터로 판독 가능한 매체는 데이터 프로세서로 하여금 : 피시험 시스템에 해당되는 하나 이상의 입력 테스트 케이스들의 각각에서 제 1 세트의 소정 기준에 따라 하나 이상의 날짜 의존적 필드들을 식별하는 단계; 그리고 제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계를 수행하도록 하는 프로그램 코드를 포함하며, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응 테스트에 이용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함한다
상술한 일반적 설명과 후술하는 상세한 설명 모두 예시적인 것으로서 특허청구범위에 청구되는 본 발명을 제한하지는 않는다.
이하에서는 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 한다. 동일한 도면 부호가 동일 또는 유사한 구성 요소들에 부여되었다. 본 발명은 특허청구범위에 의해 한정되며, 아래의 상세한 설명에 의해서는 그 범위가 한정되지 않는다.
본 발명에 따른 시스템과 방법들은 Y2K 변환의 테스트 측면에 목표를 둔 혁신적이고 자동화된 규칙에 근거한 방법(rule based approach)을 제공한다. 시스템과 방법은 처음으로 날짜, 시간 및 기간 등의 여러 필드들을 포함하는 소위 "입력 테스트 케이스들"의 세트를 수신하고, 이어서 피시험 시스템(SUT)이 Y2K 순응적인지를 나타낼 수 있는 날짜, 시간, 기간 등의 시나리오에 해당하는 여러 가지 "출력 테스트 케이스들"을 조직적으로(systematically) 계산한다. 테스트 케이스는 여러 가지 날짜, 시간, 기간들을 포함하며 대체로 실행(execution)을 위해 SUT로 편리하게 입력될 수 있는 포맷이다. 입력 테스트 케이스는 여러 날짜 의존적 필드들을 가지지만 Y2K 변화 테스트에 특히 관련된 날짜, 시간, 기간들을 가질 필요는 없다. 예를 들어, 입력 테스트 케이스는 기록 툴을 이용하여 획득된 보통의 트랜잭션(transaction) 데이터의 단편들(snap shots)로부터 유도될 수도 있다.
입력 테스트 케이스들에 근거하여, 본 발명의 시스템과 방법은 출력 테스트 케이스들을 생성한다. 출력 테스트 케이스들은 입력 테스트 케이스들과는 동일한 포맷이지만, 소위 "2000년 위험 날짜들" -- Y2K 변환에 대한 SUT의 결함들을 밝힐 수 있는 날짜, 시간 및 기간들을 포함할 수 있다. 이들 Y2K 위험 날짜들에는 예를 들어 1999년 12월 31일, 2000년 1월 1일; 및 2000년 2월 29일이 포함된다. 이어서 SUT가 성공적으로 변환되었는지를 결정하기 위해 이들 Y2K 위험 날짜들을 포함하는 출력 테스트 케이스들이 SUT에 의해 실행될 수 있다.
본 발명에 다른 시스템과 방법은 Y2K 순응 테스트 이상의 애플리케이션을 가진다. 이들은 소프트웨어 시스템의 임의의 시간 변화에 대한 테스트 케이스들을 생성하도록 변형될 수도 있다. 예를 들어, 이러한 애플리케이션에는 7자리 전화 번호들이 10 자리 수로 대체되는 경우 또는 여러 통화(currencies)들이 단일 통화 단위로 대체되는 경우 등이 있다.
도 1은 본 발명의 시스템에 의해 수행되는 단계들을 도시한 흐름도이다. 시스템은 입력 테스트 케이스들을 수신한다(310). 시스템이 현존하는 테스트 케이스들을 이용하거나 SUT로부터 통상적 트랜잭션을 기록함에 의해 쉽게 생성되는 테스트 케이스들을 이용하기 때문에, 시스템에 대한 입력 테스트 케이스 생성에 필요한 시간과 노력이 최소화된다. 상업적으로 이용 가능한 그런 기록 툴(또는 테스트 장비(test harness)) 중의 하나가 MYNAH 4.3 이다. 입력 테스트 케이스를 수신하는 이 단계(310)는 유저 인터페이스("UI")를 통해 수행되는데, 아래의 UI에 관한 부분에서 더 상세히 설명한다.
다음, 본 발명에 따른 시스템은 입력 테스트 케이스들을 검색하고 입력 테스트 케이스에서 날짜 의존적 필드들 및 관련된 날짜 비의존적 필드들(relevant non-date fields)(이하에서는 "표시(token)" 필드라 함)과 그들의 위치를 식별한다(단계 320). 이 검색 및 식별 단계를 "분석(parsing)" 단계라 한다. 분석 단계는 사용자에 의해 제공되는 분석 규칙들에 근거한 시스템 및 입력 테스트 케이스 내에서 날짜 의존적 필드와 표시 필드들이 존재하는 위치와 포맷에 관련된 입력 테스트 케이스의 포맷에 관한 시스템에 의해 수행된다(단계 322 참조). 이 분석 단계에서, 시스템은 또한 사용자가 제공한 분석 규칙들 중 어떤 것이 잠정적으로 부정확 또는 불완전한지를 나타내는, 사용자에 대한 요지 리포트(summary report)를 생성할 수도 있다(단계 324). 예를 들어 날짜 의존적 필드라고 사용자가 지시한 필드에서 날짜 값이 발견되지 않는다면, 사용자 제공 분석 규칙들의 세트가 잠정적으로 부정확한 것이다. 분석 단계 동안 시스템이 어느 사용자 제공 분석 규칙에도 나타나지 않은 날짜 의존적 필드들을 만나게 된다면, 사용자 제공 분석 규칙들이 잠정적으로 불완전한 것이다. 사용자가 요지 리포트를 검토하고 필요에 따라 분석 규칙들을 수정할 수 있다. 이 분석 단계는 분석 엔진("PE")에 의해 수행되는데, 이하의 PE 부분에서 더 상세히 설명한다.
시스템이 입력 테스트 케이스들에서 날짜 의존적 필드들과 관련 날짜 비의존적 필드들을 식별하고 위치를 확인하면, 시스템은 출력 테스트 케이스들을 선택적으로 생성한다(단계330). 출력 테스트 케이스들은 본질적으로 입력 테스트 케이스들의 복사본(copies)으로서 입력 테스트 케이스들과 동일한 포맷을 가진다. 그러나, 출력 테스트 케이스들의 날짜 의존적 필드들은 1999년 12월 31일 및 2000년 1월 1일과 같은 Y2K 위험 날짜들을 포함한다. 출력 테스트 케이스들이 선택적으로 생성된다는 점에 주의해야 한다. 설명을 위해, 비교적 간단한 상황으로서 테스트 케이스에 10개의 날짜 의존적 필드들과 테스트될 3개의 위험 날짜들이 있다고 하자. 선택적 생성이 없으면, 가능한 전체 케이스는 310, 즉, 거의 60,000개가 된다. 출력 테스트 케이스의 선택적 생성 단계는 생성 엔진("GE")과 치환 엔진("SE")에 의해 두 단계로 수행되는데, 이하에서 GE 및 SE 부분에 상세히 설명한다.
이들 Y2K 위험 날짜들을 포함하는 출력 테스트 케이스들이 SUT에 의해 연속적으로 실행되어 SUT로 하여금 Y2K 순응 테스트에 실패하도록 야기하는 결함들이 존재하는지를 결정하게 된다(단계 340). 하나의 구현예에서, 이는 먼저 SUT에 출력 테스트 케이스들을 실행하고 그 SUT 출력들을 이미 정확하다고 알려져 있는 SUT 출력들과 비교함에 의해 수행된다. 이미 정확하다고 알려져 있는 SUT 출력들을 생성하는 하나의 방법은 28년 반복 규칙(28-year repeat rule)으로 알려진 규칙을 이용하는 것이다. 출력 테스트 케이스들을 이용하여 SUT가 Y2K 순응적인지를 결정하는 이 단계는 출력 시뮬레이터("OS")에 의해 수행되며, 이하에서 OS 부분에서 더 상세히 설명한다.
도 2는 본 발명에 따른 시스템을 구현할 수 있는 컴퓨터 시스템에 대한 시스템 구조를 도시하고 있다. 컴퓨터 시스템(100)은 버스(102) 또는 다른 정보 전달용 전달(communication) 메커니즘, 정보 처리를 위해 버스(102)에 결합된 프로세서(104)를 포함한다. 컴퓨터 시스템(100)은 또한 프로세서(104)에 의해 실행될 정보와 명령들을 저장하기 위해 버스(102)에 연결되어 있는, 램(RAM)(106)과 같은 메인 메모리 또는 다른 동적 저장 장치도 포함한다. RAM(106)은 또한 프로세서(104)에 의해 실행되는 명령 실행 동안 일시적 변수들이나 다른 중간 정보를 저장하는데 이용될 수도 있다. 컴퓨터 시스템(100)은 또 프로세서(104)를 위한 명령과 정적 정보를 저장하기 위해 버스(102)에 연결되어 있는 롬(ROM)(108) 또는 다른 정적 저장 장치도 포함한다. 자기 디스크 또는 광 디스크와 같은 저장 장치(110)가 제공되어 정보 및 명령 저장을 위해 버스(102)에 연결된다.
컴퓨터 시스템(100)은 버스(102)를 통해 컴퓨터 사용자에게 정보를 표시하는 음극선관(CRT)과 같은 디스플레이(112)에 결합될 수 있다. 프로세서(104)로 정보와 명령 선택(command selections)을 전달하기 위해 문자와 숫자 및 다른 키들을 포함하는 입력 장치(114)가 버스(102)에 연결된다. 다른 형태의 사용자 입력 장치로는 프로세서(104)에 방향 정보와 명령 선택을 전달하고 디스플레이(112) 상에서의 커서의 움직임을 제어하기 위한 마우스, 트랙볼 또는 커서 방향키와 같은 커서 제어(116)가 있다. "컴퓨터로 판독 가능한 매체"라는 용어는 여기에서 실행을 위해 프로세서(104)에 명령을 제공하는데 관여하는 어떤 매체에도 해당된다. 그런 매체는 예를 들어 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프 또는 다른 임의의 자기 매체, CD-ROM, 또는 다른 컴퓨터로 판독 가능한 매체를 포함하는 여러 형태를 가질 수 있다.
컴퓨터 시스템(100)은 또한 버스(102)에 연결된 통신 인터페이스(118)를 포함한다. 통신 인터페이스(118)는 네트워크(122)에 연결된 링크(120)에 쌍방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(118)는 데이터 통신 연결을 LAN 또는 인터넷과 월드와이드웹("WWW")으로 제공하는 LAN 카드, ISDN 카드, 또는 모뎀일 수 있다.
본 발명에 따른 Y2K 테스트 생성 환경이 컴퓨터(100)를 이용하여 구현될 수 있다. Y2K 테스트 생성 환경은 또한 인터넷이나 월드와이드웹("WWW")을 통해 접근할 수도 있다. 프로세서(104)는 Y2K 테스트 생성 환경의 하나 이상의 명령들의 하나 이상의 시퀀스를 실행하며, 이들은 메인 메모리(106)에 저장되어 있을 수 있다. 그와 같은 명령들은 저장 장치(110)와 같은 다른 컴퓨터로 판독 가능한 매체로부터 메인 메모리(106)로 판독될 수 있다. 메인 메모리(106)에 저장된 명령 시퀀스의 실행에 의해 프로세서(104)가 이하에 설명된 프로세스 단계들을 수행한다. 대안적 구현예로서, 본 발명을 구현하기 위해 소프트웨어 명령 대신에 또는 이와 함께 전자회로가 이용될 수도 있다. 따라서, 본 발명의 구현이 하드웨어 회로와 소프트웨어의 어느 특정 조합에 제한되는 것은 아니다.
도 3은 본 발명에 따른 시스템에 5가지 모듈들을 도시하고 있다:
(1) 유저 인터페이스("UI")(210);
(2) 분석 엔진("PE")(또한 식별 또는 검색 엔진이라고도 함);
(3) 테스트 생성 엔진("GE")(230);
(4) 치환 엔진("SE"); 및
(5) 출력 시뮬레이터("OS")(250)
5개 모듈의 각각을 아래에 상세히 설명한다.
A. 유저 인터페이스("UI")
본 발명의 시스템과 사용자 사이의 상호작용은 UI를 통해 이루어진다. 시스템으로의 사용자 입력에는 : (1) 실제 입력 테스트 케이스들 및 입력 테스트 케이스들의 파일명을 기재한 카탈로그 파일; (2) 입력 테스트 케이스들 내에서 날짜 의존적 필드들의 식별하는 분석 규칙들; (3) 출력 테스트 케이스들을 생성하는데 필요할 수 있는 날짜 비의존적 필드들(이하에서는 "표시 필드들"이라 함)을 식별하는 분석 규칙들; (4) 입력 테스트 케이스들을 포착하는데 이용되는 기록 툴(또는 테스트 장비라 함)에 대한 정보; (5) 1999년 12월 31일, 2000년 1월 1일과 같은 위험 날짜 목록과 휴일 정보; (6) 날짜들 사이의 제한을 나타내는 규칙들; 및 (7) 출력 테스트 케이스들이 저장되어야 할 디렉토리명과 같은 다른 잡다한 정보.
일 구현예에서, Y2K 테스트 생성 시스템의 유저 인터페이스는 사용자가 시스템과 상호작용 하도록 월드와이드웹("WWW") 기반 인터페이스를 제공한다. 이는 멀리 떨어져 있는 사용자들(또는 피시험 시스템들)이라도 WWW를 통해 본 발명의 Y2K 테스트 생성 시스템으로 입력 테스트 케이스들을 제공하고 WWW를 통해 출력 테스트 케이스들을 수신하여 사용자가 위치한 장소에서 Y2K 순응 테스트가 이루어질 수 있도록 한다.
1. 보안 접속(Secured Access)(UI)
일 구현예에서, 유저 인터페이스는 WWW 상에서 전개되며, 누구든지 유니폼 리소스 로케이터("URL")를 알고 상업적 범용 웹 브라우저를 가지면 시스템에 접속할 수 있다. 본 발명에 따른 Y2K 테스트 생성 시스템으로의 비인가 접속을 방지하기 위해, 패스워드 기반 보안책(security feature)이 제공될 수 있다. 따라서, 정확한 로그인 네임과 패스워드를 가진 사용자들만이 테스트 생성 시스템에 접속하여 이용하게 된다. 시스템은 또한 사용자들에 대해 서로 다른 수준의 보안 및 접속 허가를 제공할 수 있다. 예를 들어, Y2K 테스트 생성 시스템의 관리자는 모든 가능한 접속 허가를 가지고 로그인할 수 있지만, 다른 사람들은 시스템의 사용자나 데이터에 관한 정보를 볼 수 있는 허가를 얻을 수 없다. 사용자가 로그인하면, 사용자가 세션(session)을 마칠 때까지 또는 소정 기간 동안 시스템을 능동적으로 상용하지 않을 때가지 현재 세션이 능동적으로 잔류하게 된다. 따라서, 브라우저를 켜놓은 채로 내버려두는 것이 민감한 데이터를 손상시키지 않도록 하기 위해 각 사용자에 대해 타임아웃 메커니즘이 유지된다. 이 보안책은 방화벽 내에 있는 사용자들뿐만 아니라 회사 인트라넷과 널리 인터넷에서 서비스를 운영하는 것을 촉진시킨다.
2. 셋업 페이지를 통한 입력(UI)
사용자의 특권(privilege)에 따라, 각 사용자에 대해 서로 다른 초기 페이지들이 디스플레이될 수 있다. 따라서, UI(210)는 개별 사용자들에 대해 본 발명의 Y2K 테스트 생성 시스템의 룩앤필(look-and-feel)의 주문형화(customization)를 허용한다. 보통 사용자들은 Y2K 시스템에 의해 지원되는 기록 툴 세트를 디스플레이하는 탑 레벨 셋업 페이지로 Y2K 시스템으로의 접속을 시작할 수 있다. 상기한 바와 같이, 기록 툴은 입력 테스트 케이스들을 생성하기 위해 시스템 트랜잭션을 기록하는데 이용되는 특정 기록 소프트웨어를 말한다. 기록 툴을 선택한 후에, 사용자는 입력 테스트 케이스들의 위치 출력 테스트 케이스들의 목표 디렉토리 등과 같은 부가 정보를 입력할 수 있다. 이 초기 셋업 페이지는 재구성가능하며 새로운 기록 툴들을 추가할 수 있도록 충분한 융통성을 제공한다.
메인, 하이 레벨 셋업 페이지는 별문제로 하고, 두 개의 부가적 셋업 페이지들이 각기 분석 엔진(220)과 생성 엔진(230)에 필요한 입력 정보에 제공될 수 있다. 두 번째 셋업 페이지는 사용자가 날짜 의존적 필드들과 카탈로그 파일을 식별하기 위한 분석 규칙들을 지정하고 브라우즈하고 편집할 수 있도록 해 준다. 세 번째 셋업 페이지는 생성 엔진(230)에 대한 입력을 공급하는데 사용되는데, 이 입력에는 사용되는 날짜 포맷, 제한 정보를 가지는 파일명, 위험 날짜들을 가지는 파일명, 시스템이 제공한 위험 날짜들과 사용자가 제공한 위험 날짜들 사이의 선택 옵션, 출력 테스트 케이스들을 생성하는데 사용되는 최적화 정도(압축요약 모드, 철저한 모드 등)의 표시가 포함된다. 이들 셋업 페이지들은 시스템 동작의 각 단계(phase)의 시작부(beginning)에서 보인다. 사용자로부터 수집된 정보는 적절하게 확인 및 포맷 지정되어 각 엔진에 입력으로 제공된다. 따라서, 두 번째 셋업 페이지로부터의 사용자 입력들은 분석 엔진(220)으로 제공되고, 세 번째 셋업 페이지로부터의 입력들은 생성 엔진(230)으로 제공된다.
3. 입력 정보의 브라우징과 편집(UI)
Y2K 테스트 생성 시스템의 UI(210)는 사용자가 모든 입력 파일들(예를 들어, 카탈로그 파일, 분석 규칙들, 날짜들 사이의 제한을 나타내는 규칙들)을 브라우즈할 수 있도록 한다. 더욱이, UI(210)는 이들 입력 파일들에 포함된 정보를 수정하는 편집 기능(edit facility)을 제공한다. 따라서, 각 셋업 페이지에서 사용자는 입력 정보를 브라우즈하고 편집할 수 있다. 예를 들어, 분석 규칙이 부정확하다고 시스템이 의심하면(예를 들어, 입력 분석 규칙이 지시한 곳에서 날짜 필드가 발견되지 않은 경우), UI(210)는 사용자가 분석 규칙들을 편집하고 수정된 분석 규칙들을 즉시 제출할 수 있도록 한다. UI(210)는 적절한 하이퍼텍스트 마크업 랭귀지("HTML")마크업을 이들 파일에 동적으로 부가하여 용이한 네비게이션과 관련 정보 편집을 위한 링크들을 제공한다. 파일들의 수정 버전들은 다시 원래의 포맷으로 저장된다.
4. 분석 엔진 출력 브라우징 및 디버깅(UI)
UI(210)는 분석 엔진(220)의 출력으로부터의 영향 분석 및 기술 요지(Impact Analysis and Technical Summary) 리포트를 사용자에게 제공하여, 사용자가 여러 상세한 레벨에서 분석 엔진(220)에 의해 생성되는 경고 및 에러 메시지들을 브라우즈할 수 있도록 한다. 예를 들어, 분석 엔진(220)의 출력 파일들로부터 UI(210)에 의해 하이 레벨 영향 분석 정보가 동적으로 생성되고 이해하기 쉽도록 표 형태로 디스플레이 된다. 분석 엔진 출력으로부터 UI(210)에 의해 더 상세한 기술 요지가 동적으로 생성되어 각 입력 테스트 케이스 내의 날짜 필드들의 주파수, 파일명 등과 같은 상세한 기술 정보를 제공한다. 영향 분석 요지가 주로 노력(efforts)의 전체적 복잡성을 제공하기 위한 것임에 비해, 기술 요지는 주제 표준화(Subject Matter Expert, "SME")에 더 관련되어 있다. 요지 정보는 표 또는 막대그래프(histogram) 형태로 디스플레이될 수 있다.
요지 정보를 브라우즈하는 것은 별문제로 하고, 사용자는 또한 디버깅 목적을 위해 경고 및 에러 정보도 브라우즈할 수 있다. 경고 및 에러 정보도 두 단계 즉, 요지와 상세 목록으로 제공된다. 요지 정보는 사용자가 분석 단계동안 문제가 발생하는 곳을 결정할 수 있도록 해 준다. 상세 목록은 여러 범주의 경고와 에러 정보에 에러가 발생한 라인, 태그(tag) 또는 값 내의 파일명, 라인 번호, 칼럼(column) 번호로 구성된 정확한 위치를 제공한다. 이 정보는 적절한 HTML 마크업과 함께 동적으로 생성되어 실제 테스트 스크립트에 대한 여러 가지 시각적 실마리와 링크를 제공한다. 분석 엔진(220)에 의해 확인된 에러 위치를 브라우즈하여 집중함에 의해, 사용자는 현존 규칙들을 쉽게 수정하고 분석 엔진(220)을 재 가동하여 정확하고 완전한 규칙 기반(rule base)을 얻을 수 있다.
5. 생성 엔진 출력의 요지 리포트(UI)
UI(210)는 생성된 출력 테스트 케이스들에 관한 여러 가지 요지 정보를 제공한다. 요지 정보는 표 및 막대그래프 형태로 디스플레이될 수 있다. 간단한 요지가 생성된 출력 테스트 케이스들의 개수, 출력 테스트 케이스들에서 사용되는 여러 가지의 사용자가 제공한 그리고 시스템이 생성한 부가적 위험 날짜 값들 등과 같은 정보를 제공할 수 있다. 상세한 요지는 각 날짜 필드에 대한 제한과 사용된 날짜 값들과 같은 정보를 제공한다. UI(210)는 또한 사용자가 새로 생성된 출력 테스트 케이스들을 디렉토리 레벨과 특정 파일 또는 테스트 케이스 레벨의 두 레벨로 브라우즈할 수 있도록 해 준다.
6. 프로세스의 디스플레이(UI)
UI(210)는 상태 막대(status bar) 정보를 제공하여 행해진 프로세스 양을 표시한다. 이 상태 정보는 분석 엔진(220)과 생성 엔진(230)의 양자에 제공된다.
7. 도움 페이지(UI)
UI(210)는 적절한 도움 페이지(help pages)를 제공하여 모든 레벨에서 사용을 촉진한다. 따라서, 사용자는 UI(210)로부터 즉시 온라인 도움을 쉽게 얻을 수 있다.
B. 분석 엔진
도 4는 분석 엔진(220), 생성 엔진(230), 치환 엔진(240)의 여러 입력과 출력을 도시한 블록도이다. 도 4에 도시된 바와 같이, 분석 엔진(220)으로의 입력에는 : (1) 하나 이상의 입력 테스트 케이스들; (2) 날짜 의존적 필드들을 식별하는 사용자 제공 분석 규칙들; (3) 출력 테스트 케이스들의 생성에 관련된 표시 필드들을 식별하는 사용자 제공 분석 규칙들; 및 (4) 날짜 의존적 필드들을 자동적으로 식별하는 시스템 제공 분석 규칙들이 포함된다. 이들 입력에 근거하여, 분석 엔진은 입력 테스트 케이스에서 관련 날짜 의존적 필드들과 표시 필드들을 식별하고 위치를 확인한다.
입력 테스트 케이스들이 시스템에 직접 제공될 수도 있고, 대안적으로 입력 테스트 케이스들의 목록이 카탈로그 파일의 형태로 제공될 수도 있다. 분석 엔진(220)은 입력 테스트 케이스들을 검색하여 관련 날짜 및 표시 필드들을 식별하기 위한 사용자 제공 또는 시스템 제공 디폴트(default) 분석 규칙과 일치하는 입력 스트링(strings)을 찾는다.
분석 규칙들은 필드 정의표(field definition tables)의 형태로 분석 엔진(220)으로 열거된다. 이들 분석 규칙들에 근거하여, 분석 엔진(220)은 적절한 필드 사용표(Field Usage Table) : (1) 날짜 필드 사용표("DFUT") 및 (2) 표시 필드 사용표("TFUT")에서 모든 일치사항(matches)들을 찾아서 기록한다(log). 첫째, 날짜 의존성 필드들은 DFUT에 기록된다. 날짜 필드 사용표는 특정 필드의 발생과 특정 입력 테스트 케이스 내에서의 필드의 위치를 기재한다. 이어서 날짜 필드 사용표는 생성 엔진(230)에 의해 이용되어 출력 테스트 케이스들에 사용되는 날짜 값들이 생성된다. 둘째, 날짜 비의존적 필드들은 TFUT에 기록된다. 표시 필드 사용표는 특정 필드의 발생과 특정 입력 테스트 케이스 내에서의 필드의 위치를 기재한다. 표시 필드 사용표는 이어서 치환 엔진(240)에 의해 이용되어 출력 테스트 케이스들이 생성된다.
필드 사용표들의 생성에 부가하여, 분석 엔진(220)은 여러 가지 경고를 기록 파일(log-file)에 기록하고, UI(210)는 기록 파일을 이용하여 추출(abstraction)의 여러 단계에서 사용자에게 피드백을 제공한다. 또한, 분석 엔진(220)은 여러 가지 날짜 필드의 사이의 이진 관계(binary relationships)(즉, 작은, 큰, 같은)를 찾고 이들 관계에 관한 정보를 제한 주파수표에 기록하도록 선택적으로 설정될 수 있다.
분석 엔진(220)은 또한 사용자가 선택적으로 불러낼 수 있는 내부(built-in) 자동 식별 기능을 가지고 있다. 이 옵션이 호출되면, 분석 엔진(220)은 어떤 사용자 제공 분석 규칙에서도 고려되지 않은 모든 의심스러운 날짜들을 플래그(flag)한다. 그러면, Y2K 시스템은 UI(210)를 통해 부가적 분석 규칙들을 수정 및/또는 추가할 것을 사용자에게 촉구할 수 있다. 사용자는 그 제의를 수락할 수 있다. 이와 달리, 예를 들어 사용자가 Y2K 시스템에 의해 플래그된 특정 날짜 필드에 관심이 없는 경우 사용자가 그 제의를 무시할 수도 있다.
1. 분석 엔진으로의 입력 파일들
분석 엔진(220)은 다음의 입력 파일들을 받아들인다.
a. 테스트 카탈로그 파일 : 테스트 카탈로그 파일은 입력 테스트 파일의 계층적 목록을 포함한다. 테스트 케이스들의 분석 순서는 테스트 카탈로그 파일의 목록에 의해 결정된다.
b. 분석 규칙 정의 파일 : 분석 규칙 정의 파일은 분석 엔진(220)이 입력 테스트 케이스들에서 관련 스트링들을 식별하기 위해 적용하는 규칙들의 목록으로 구성된다. 날짜들을 식별하는 규칙들은 표시들을 식별하는 규칙들과 구별된다. 여러 가지 날짜 식별 규칙들이 있을 수 있다. 예를 들어, 날짜들을 식별하기 위한 분석 규칙들에는 : (1) 오프셋(offset) 형태와 (2) 날짜 포맷 형태가 포함될 수 있는데, 오프셋 형태는 특정 입력 테스트 케이스에서 날짜 필드가 발견된 위치를 정확하게 명기하며, 날짜 포맷 형태는 "mm/dd/yy", "mm/dd/yyyy", 또는 "dd/mm/yy"와 같이 입력 테스트 케이스에서 사용되는 날짜들의 정확한 포맷을 명기한다.
c. 시스템 날짜 모델링표(System Date Modeling Table)
몇몇 테스트 케이스들의 실행은 시스템 클록(현재 날짜 및 시간)에 의존할 수 있다. 시스템 클록에 대한 의존도는 암시적(implicit)일 수도 있고 또는 명시적으로 모델링되어야 할 수도 있다. 암시적 모델링은 테스트 케이스에서 하나의 필드에 할당된 값이 매크로/함수 호출(Macro/Function Call) 또는 총괄적 날짜 규칙(Generic Date Rule)에 의해 계산되고 값들이 SYS를 가질 때에 발생한다. 이는 매크로/함수 호출 식별 규칙 또는 총괄적 날짜 규칙의 표현이 그 속에 스트링_SYS를 가지는 것으로 평가될 때 일어난다. 테스트 케이스의 시스템 클록에 대한 의존성을 명시적으로 모델링하기 위해서 시스템 날짜 모델링표를 이용할 수 있다.
d. 자동 식별 패턴표(Auto Identification Patterns Table)
분석 엔진(220)은 선택적으로 어떤 사용자 제공 규칙들에 의해서도 고려되지 않은 의심스러운 날짜로 보이는 패턴들을 입력 테스트 케이스들에서 찾도록 설정될 수 있다. 사용자는 자동 식별 패턴표("AIPT")를 이용하여 자동 식별의 레벨을 조정할 수 있다. 다음은 AIPT의 일 예이다.
# North American
mm-dd-yyyy y _na
mm-dd-yy y _na
yyyy-mm-dd y _na
yy-mm-dd y _na
mm-dd y _na
yymmdd y _user
mm/dd/yyyy y _na
mm/dd/yy y _na
yyyy/mm/dd y _na
mm/dd y _na
# Asian/European
dd-mm-yyyy n _asia
dd-mm-yy n _asia
dd-mm n _asia
dd/mm/yyyy n _asia
dd/mm/yy n _asia
dd/mm n _asia
dd.mm.yyyy n _europe
dd.mm.yy n _europe
# 해제 지시
MSTR off
공백 라인들 또는 첫 번째 비공백(non-white) 문자가 # 인 라인들은 코멘트이며 분석 엔진(220)에 의해 무시된다. 다른 라인들의 경우, 탭으로 구분된 필드 목록에 의해 엔트리(entry)가 주어진다. 열거된 형태(_na, _europe, _asia, 또는 _user)는 엔트리가 속하는 그룹을 표시하기 위해 사용된다. 상기 날짜 포맷들은 어떤 규칙적 표현이어도 무방하지만 dd, mm, yy, yyyy, /, 및 .는 특별한 의미를 가진다. /는 이스케이핑(escaping)이 불필요하다. "dd", "mm", "yy", 및 "yyyy"는 그 특별한 의미 이외에는 사용될 수 없다. 분리기호 없는 포맷(예를 들어, mmddyy 또는 mmdd)은 특정 바이트 수만을 가진 입력 패턴에만 적합하다. 예를 들어, mmddyy와 mmdd는 각각 6 바이트와 4 바이트 패턴에 적합하다. 다시 말해, 0404는 mmdd에 속하지만 044는 속하지 않는다.
사용자는 (1) 첫 번째 필드의 날짜 포맷을 수정하고; (2) "y" 또는 "n"을 이용하여 패턴들을 선택/비선택(selecting/unselecting)하고; (3) 새로운 엔트리들을 추가하고; (4) 두 번째와 세 번째 필드들 사이의 엔트리 범위(scope) 제한을 표시함에 의해 엔트리의 범위를 특정 입력 테스트 케이스로 제한시키고; (5) 어떤 파일 형태에 대한 자동 식별을 해제(turning off)함에 의해 사용자가 자동 식별을 미세 조정할 수 있다. 상기 예에서는, 파일 형태 MSTR에 대해 자동 식별이 해제된다.
3. 분석 엔진 출력 파일들
분석 엔진(220)은 생성 엔진(230)에 의해 이용되는 출력을 생성한다. 생성 엔진(230)을 위한 정보를 생성하는 외에, 분석 엔진(220)은 또한 UI(210)로 피드백을 제공한다. 분석 엔진(220)에 의해 생성되어 Y2K 테스트 생성 시스템의 다른 구성 요소에 의해 이용되는 정보를 여기에서 설명한다.
a. 필드 사용표(Field Usage Tables)
분석 엔진(220)이 식별하는 모든 날짜 또는 표시 필드는 날짜 필드 사용표와 표시 필드 사용표에 각각 기록된다. DFUT는 생성 엔진(230)과 치환 엔진(240)에 의해 이용되며, TFUT는 치환 엔진(240)에 의해서만 이용된다.
(1) 날짜 필드 사용표
이 표는 각 입력 테스트 케이스의 모든 날짜 필드들을 기재한다. 이 표는 각 날짜 필드의 날짜와 위치를 기재한다.
(2) 표시 필드 사용표
이 표는 각 입력 테스트 케이스의 모든 표시 필드들을 기재한다. 이 표는 각 표시 필드의 표시와 위치를 기재한다.
b. 분석 출력 파일들 -- 제한 주파수표
날짜 제한은 두 날짜 형태 사이의 이진 관계 <, =, 또는 > 이다. 각 날짜 형태에 대해 모든 경우를 식별한 후에, 분석 엔진(220)은 임의의 두 날짜 형태에 대해 관계 <, =, 또는 > 이 유효한 입력 테스트 케이스들의 개수를 선택적으로 기재할 수 있다. 다음은 샘플 제한 주파수표이다.
DD DVA 12 0 0
DD FCD 12 0 0
DD _SYS 0 0 0
DVA FCD 12 0 0
DVA _SYS 0 0 0
FCD _SYS 0 0 0
상기 예에서, DD, DVA, FCD 및 _SYS는 날짜 형태들이다. 세 번째, 네 번째, 및 다섯 번째 칼럼은 각각 칼럼에서 주어진 날짜 형태가 두 번째 칼럼에서 주어진 날짜 형태와 <, =, 또는 > 인 입력 테스트 케이스들의 개수를 나타낸다.
c. 분석 출력 파일들 -- 기록 파일(Log-file)
분석 단계에서 만나게 되는 모든 경고는 기록 파일에 기록될 수 있다. 경고가 발생하면, 분석 엔진(220)은 경고가 발생한 라인 번호를 출력하고 새로운 라인에 경고 메시지를 인쇄한다. 여러 가지 경고 메시지에는
(1) 파일을 열 때의 에러(Error in opening a file)
(2) 규칙에서의 필드 상실
(3) 규칙에서의 불법 오프셋
(4) 입력과 오프셋 날짜 규칙에서의 포맷 사이의 불일치
(5) 자동으로 식별되었지만 알 수 없는 날짜 상수가 포함된다.
4. 분석 엔진 프로세싱
분석 엔진 프로세싱은 3 단계로 이루어진다. 이 세 가지 단계를 아래에 상세히 설명한다.
a. 초기 단계(The Initialization Stage)
제 1 단계에서, 분석 엔진(220)은 모든 사용자 제공 분석 규칙들을 판독한다. 초기 단계동안, 분석 엔진(220)은 사용자 제공 입력 규칙들이 유효한지를 결정하고 잠재적 에러를 발견하면 적절한 경고를 발생시킨다.
b. 분석 규칙 프로세싱 단계
제 2 단계에서, 분석 엔진(220)은 테스트 카탈로그 파일을 열고 카탈로그 파일에 주어진 순서대로 테스트 케이스들을 분석한다.
c. 규칙 추론 단계(The Rule Inference Stage)
분석 엔진은 제한 주파수표를 생성하도록 선택적으로 설정될 수 있다. 이 표는 앞서 상세히 설명하였다.
C. 생성 엔진(GE)
도 4에 도시된 바와 같이, 생성 엔진(230)은 세 종류의 입력 : (1) 필드 제한; (2) 필드 값; 및 (3) 날짜 필드 사용표를 가진다. 이들 입력은 생성 알고리듬들 중의 하나에 의해 이용되어 사용자 제공 제한들을 유지하면서 각 필요 필드 값들을 각 필드로 위치시키는 테스트 케이스 버전들("TCV's") 세트를 생성하게 된다.
1. 생성 엔진으로의 입력들
a. 필드 제한들(Field Constraints)
이들은 사용자 제공 필드 제한들이다. 예를 들어, 입력 테스트 케이스가 주문 날짜(order date), 발송 날짜(ship date)와 같은 필드들을 가진 구매 주문 형태일 경우 주문 날짜는 항상 발송 날짜보다 앞서야 한다. 필드 제한("FC")은 아래 형태일 수 있다.
< Field1> < Operator > < Field2>
여기서, FieldN::= 필드명
Operator ::= '<' | '>' | '=' | '1/110' | '+5' 등
몇몇 예시적 FC 엔트리에 아래 사항이 포함될 수 있다.
"DUE_DATE < SHIP_DATE"
"ORDER_INVENTORY > STOCK_INVENTORY"
"%%%%%%/110 Price($)"
"ITEM_COLOR = COLOR-ITEM"
각 연산자('<', '>', '=', '/100', '+5', 등)는 다른 관련 필드에 어떤 값이 주어졌을 때 하나의 필드에 허용 가능한 값들을 추론하는데 사용된다. "ORDER_INVENTORY" 필드에 값 "10,000"이 주어지면, 10,000보다 적은 어떤 값도 "STOCK_INVENTORY" 필드에서 허용될 수 있다. "%%%%%%%%" 필드에 값 "990"이 주어지면, "Price($)" 필드에는 단지 하나의 값 "9" 만이 허용된다.
b. 필드 값들
이는 출력 테스트 케이스들의 필드들을 채우는데 사용될 여러 가지 필드 값들이다. 여기에는 Y2K 위험 날짜들도 포함된다. 필드 값들("FV")은 아래의 형태를 가진다.
< Alphanum > < type >
여기서, Alphanum ::= 문자숫자식(alphanumeric) 문자들의 스트링
type ::= "required(필요적)" |"optional(선택적)"
몇몇 예시적 FV에는 다음 사항이 포함된다.
"1999-12-31 required"
"2000-04-15 optional"
"990 required"
c. 날짜 필드 사용표
날짜 필드 사용표는 분석 엔진(220)에 의해 제공된다. 이 표는 각 입력 테스트 케이스 내의 날짜 필드들과 그 위치들을 모두 기재한다. 데이터는 아래와 같이 필드명과 입력 테스트 케이스명에 의해 색인되는 값들의 행렬로 조직된다.
입력 테스트 케이스 필드 1 필드 2 ··· 필드 N
T1 V11 V12 V1N
T2 V21 V22 V2N
···
TM VM1 VM2 ··· VMN
여기서,
TM::= 테스트 케이스
Field N ::= 필드명
V(m,n) ::= null|< Value_Used > < Position_List >
Position_List ::= < Position > | < Position > < Position_List >
m ::= 테스트 케이스 색인
n ::= 필드 색인
Value_Used ::= 문자숫자식 스트링
Position ::= 파일명, 위치 및 길이
2. 생성 엔진의 출력들
테스트 케이스 버전들
생성 알고리듬은 필드 제한("FC"), 필드 값("FV") 및 날짜 필드 사용표 데이터 구조를 가지며, 테스트 케이스 버전("TCV") 데이터 구조를 생성한다. TCV 구조는 새로 생성된 각 테스트 케이스에 대해 하나의 행을 포함한다. 열(column)은 필드 사용표의 필드명에 대응된다. 각 셀은 치환 동안 사용될 생성 값들을 포함한다.
각 셀에 저장된 값은 다음 섹션으로부터의 생성 알고리듬들 중의 하나에 의해 결정된다. 데이터는 논리 필드명과 논리 테스트 케이스명에 의해 색인된 값들의 행렬로 조직된다.
출력 테스트 케이스 필드 1 필드 2 ··· 필드 N
T10 V110 V120 V1N0
T11 V111 V121 V1N1
···
T1L(1) V11L(1) V12L(1) V1NL(1)
···
TM0 V110 V120 VN0
TM1 V111 V121 V1N1
···
TML(M) V11L(M) V12L(M) V1NL(M)
여기서,
TML ::= 테스트 케이스 M의 버전 L
FieldN::= 필드명
V(m,n,l) ::= null|< Value >
m ::= 테스트 케이스 색인
n ::= 필드 색인
l ::= 버전 색인
Value ::= 문자숫자식 스트링
3. 생성 알고리듬
생성 방법은 FV 구조로부터 테스트 케이스 버전(TCV) 구조 내에 저장된 생성 테스트 케이스들로 값들을 배치하는 몇 가지 가능한 수단들 중의 하나를 이용한다. 각 생성 방법의 목적은 모든 필요적 필드 값들이 DFUT 구조로부터의 각 필드에 의해 테스트됨을 보장하는 것이다. 이 목적은 FV 구조의 값들을 포함하는 새로운 버전의 테스트 케이스들을 생성함에 의해 충족된다. 부가적으로, 필드들 간의 관계가 각 테스트 케이스의 생성 버전들에서 유지됨을 보장하기 위해 FC 필드 제한들이 이용된다.
상기 목적 달성의 경과는 DFUT로부터의 필드들에 대해 생성 테스트 케이스들에서 이용되는 필드 값들의 범위(coverage)를 결정함에 의해 측정된다.
필드 1 필드 2 ··· 필드 N
FV1 V11 V12 V1N
FV2 V21 V22 V2N
···
FVP VP1 VP2 ··· VPN
여기서,
FVP ::= 필요한 필드 값
FieldN::= 필드명
V(p,n) ::= null|테스트 케이스
p ::= 필드 값 색인
n ::= 필드 색인
예를 들어,
a. 3개의 필요적 값들이 "2000-01-01", "2000-02-29" 및 "2000-03-01" 이고,
b. 생성에 대한 3개 필드가 "ORDER", "SHIP" 및 "DUE" 이고,
c. 두 개의 제한이 "ORDER < SHIP" 및 "SHIP < DUE" 라고 가정하자.
이 예에서, 아래의 행렬은 하나의 입력 테스트 케이스의 4개 버전이 필드 값들과 필드명들의 9개의 필요한 조합 중 8개를 어떻게 커버하는지를 나타낸다.
필드 값 ORDER SHIP DUE
2000-01-01 T1 T4 *
2000-02-29 T2 T1 T4
2000-03-01 T3 T2 T1
아래 표는 상기 행렬에서 커버링을 제공하는 테스트 케이스 T의 4 버전을 기재하고 있다.
출력 테스트 케이스 ORDER SHIP DUE
T1 2000-01-01 2000-02-29 2000-03-01
T2 2000-02-29 2000-03-01 2000-02-01+1**
T3 2000-03-01 2000-03-01+1** 2000-03-01+2**
T4 2000-01-01-1** 2000-01-01 2000-02-29
*: 이들 테스트 케이스의 4개 버전을 생성한 후에, 생성 방법은 최종 다섯 번째 테스트 케이스를 생성하여 상기 표에 표시된 "*"에 대응되는, 필드 "DUE"에 필요한 값을 커버한다.
**: 이 필드 값은 필드 제한을 충족시키기 위해 생성된다.
생성 방법들은 동일한 목적을 가지지만 다수의 테스트 케이스들이 동일 필드들을 이용할 경우 목적이 달성되는 방식에서 차이가 있다. 첫 번째 생성 방법은 철저한 방법(Exhaustive Method)인데, 이는 FV로부터의 각 값이 모든 테스트 케이스들의 각 필드로 배치됨을 보장한다. 이 방법은 각 테스트 케이스들을 독립적으로 취급하고 따라서 전체 테스트 케이스에 걸쳐 최대의 총 버전 개수가 생성된다. 두 번째(압축 우선 방법(Compressed First Method))와 세 번째(압축 전체 방법(Compressed All Method)) 생성 방법은 각 필드 값이 적어도 하나의 테스트 케이스에서 테스트됨을 보장한다. 이들 두 방법은 테스트 케이스에 걸쳐 필드 값들의 커버링을 재사용하기 때문에 "압축" 생성의 형태를 제공한다. 두 번째 또는 세 번째 생성 방법을 이용하면 테스트 케이스들이 더 적게 생성된다. 모든 본래의 테스트 케이스들이 최종 출력에 포함될 필요는 없다. 두 번째와 세 번째 방법은 다수의 테스트 케이스 버전을 생성하는 순서에 차이가 있다. 두 번째 방법은 임의의 이어지는 입력 테스트 케이스의 새로운 버전을 생성하려고 시도하기 전에 각 필드에 대해 모든 필드 값들을 완전히 테스트하기 위해 최대한 많은 버전의 첫 번째 입력 테스트 케이스를 생성한다. 세 번째 방법은 임의의 부가적 테스트 케이스 버전들의 생성 전에 각 입력 테스트 케이스의 하나의 버전을 생성한다. 이 프로세스는 입력 테스트 케이스 목록을 순환함에 의해 계속된다. 네 번째 생성 방법(압축 방법(Compressed Method))은 대체로 세 번째 방법과 동일한 처리 단계들을 따르지만, 모든 입력 테스트 케이스들이 출력 테스트 케이스들에 포함됨을 보장한다.
D. 치환 엔진("SE")
도 4에 도시된 바와 같이, 치환 엔진(SE)은 분석 엔진으로부터의 출력(필드들의 위치를 제공하는 날짜 필드 사용표와 표시 필드 사용표)과 생성 엔진(230)으로부터의 출력(제조된 테스트 케이스들의 크기와 내용을 제공하는 테스트 케이스 버전들)을 취한다. 이 정보는 입력 필드 값들이 Y2K 위험 날짜들을 포함하는 생성(generated) 필드로 대체된 입력 테스트 케이스들의 사본들(copies)을 생성하는데 이용된다. 부가적으로, SE(240)는 테스트 케이스들에 걸쳐 표시 값들과 같은 다른 필드 값들을 유일무이하게(uniquely) 선택적으로 대체한다. 이 특징은 테스트 케이스 내의 필드가 각 테스트 케이스에 유일무이해야하는 값들을 포함하는 경우에 이용된다. 예를 들어, 판매 시스템의 한 곳에 있는 고객명 또는 재고 목록 시스템의 부품 번호는 각 출력 테스트 케이스에 대해 서로 달라야 한다.
1. 입력들
a. 치환 규칙들
치환 규칙(SR)은 다음의 형태이다.
< name > < data type > < modifier > < value list >
여기서,
name ::= PE(220)에 의해 발견된 각 형태의 필드에 할당된 표식
data type ::= "INTEGER" | "TEXT", 등
modifier ::= "INCREMENT" | "CYCLE"
value list ::= < value > | < value > ',' < value list >
value ::= 문자숫자식 문자들
어떤 예시적 SR 엔트리는 다음을 포함한다.
(1) "고객명 TEXT CYCLE Jones,Smith,Zeller"
(2) "부품번호 INTEGER INCREMENT 1000"
(3) "청색 TEXT CYCLE Baby,Steel,Light,Navy"
b. 날짜 필드 사용표
c. 표시 필드 사용표
d. 테스트 케이스 버전들
2. 출력들
출력 테스트 케이스들은 디렉토리 구조로 생성될 수 있으며, 이는 원본(original)을 그대로 반영하는 복수의 사본들이다. 도 5는 이 복사 프로세스를 도시하고 있다. 입력 테스트 케이스들(T1내지 TN)의 각각은 선택된 생성 알고리듬에 따라 적절한 회수만큼 복사된다(예를 들어, N' 내지 N'' 회).
출력 테스트 케이스들을 출력하는 다른 방법(option)은 "변수화 출력 모드(Parameterized Output Mode)"를 이용하는 것이다. 여기서는, 하나의 테스트 케이스의 서로 다른 버전들에 대해 서로 다른 파일들을 생성하는 대신에, 사용자가 테스트 케이스의 변수화 버전을 생성할 것을 결정할 수 있다. 이 옵션에 따라 시스템은 (1) 변수화 절차(적절한 하드 코드 값들(hard coded values) 등이 데이터 파일로부터 값이 호출될 수 있는 변수들(variables)로 대체됨); (2) 그 절차에 대한 구동 루틴; 및 (3) 그 절차의 변수들에 대한 입력을 포함하는 데이터 파일을 생성한다. 구동 루틴은 데이터 파일을 열 것이며, 데이터 파일의 각 행의 데이터에 대해 변수들의 값들이 실제 데이터로 대체되는 절차를 호출한다. 이 방법은 저장 공간의 감소와 테스트 케이스들의 유지 면에서 개선을 가져온다.
3. 치환 알고리듬
SE(240)는 3단계 프로세스로 치환 단계를 수행한다.
a. 필요한 만큼 입력 테스트 케이스들의 사본을 만든다. 도 5 참조.
b. 입력 필드 값들을 TCV 및 데이터 필드 사용표에 따라 생성 값들(generated values)로 대체한다.
c. 원래 필드 값들을 SR 및 표시 필드 사용표에 따라 치환 값들로 대체한다.
E. 출력 시뮬레이터("OS")
본 발명의 일 실시예에서, 본 발명의 시스템은 아래와 같이 Y2K 순응 테스트 케이스들에 대해 기대(expected) 출력을 생성한다. 모든 출력 테스트 케이스 즉, "T"에 대해, 시스템은 두 개의 중간 테스트 케이스 즉, "I1"과 "I2"를 생성한다. 중간 테스트 케이스는 T에서의 각 날짜 발생(every date occurrence)에서 n*28 년을 감산함에 의해 얻어지며, 여기서 n은 감산 후에 모든 날짜들이 20 세기에 있게 되도록 0보다 큰 정수이다. "n"은 I1과 I2에 대해 달라야 한다. 전형적으로 n = 1 또는 2 이다. I1과 I2는 개선 전의 시스템(unrenovated system) 상에서 실행되고, 출력 O1과 O2가 포착된다. 출력 테스트 케이스는 개선된 시스템 상에서 실행되고, 그로부터 출력 O가 포착된다. Y2K 순응 테스트를 하는 동안, O(T로부터의 출력)는 O1과 O2가 일치하는 경우에는 O1 및 O2와 일치해야 하고, O1과 O2가 서로 다른 경우에는 달라야 한다. 그렇지 않으면, 출력 테스트 케이스 T는 개선된 시스템에 밝혀지지 않은 잠재적 Y2K "버그"를 가지게 된다. 비록 여기서는 단지 n*28 방법만이 설명되었으나, 다른 적절한 테스트 방법도 이용될 수 있다. 예를 들어, 본 발명의 출력 테스트 케이스에 근거한 시스템 출력들이 정확하다고 알려진 다른 시스템 출력과 비교될 수도 있다.
F. 부가적 기능
비록 이상에서 개시된 시스템과 방법이 Y2K 순응 테스트 케이스 생성을 위한 것이지만, 본 발명의 시스템과 방법은 일관에 치환 패턴이나 규칙을 따르는 대량 변화가 소스 코드에 행해진 어떤 경우에도 적용될 수 있다. 그런 변화의 예로는 : 숫자식으로 문자숫자식으로 입력 변수 형태가 변화되는 경우; 시스템의 입력을 나타내는데 사용되는 단위가 lb 에서 kg 로, 또는 GMT에서 EST로 변화되는 경우 등; 그리고 전화 번호가 7자리에서 10 자리 숫자로 변화되는 경우 등이 있다. 본 발명에 따른 시스템과 방법은 출력 테스트 케이스 시나리오를 열거할 때 사용되는 적절한 "위험" 값들의 세트를 적용함에 의해 그런 변화를 쉽고 신속하게 테스트하는데 이용될 수 있다.
본 발명의 범위와 내용을 벗어남이 없이도 본 발명의 시스템과 방법에 다양한 수정과 변형이 가해질 수 있음은 당업자에게는 명백할 것이다. 본 발명의 다른 구현예들도 당업자가 본 발명의 이상에서 개시된 본 발명의 실시예와 본 발명의 명세서를 고려하면 자명해질 것이다. 명세서와 상기 예들은 단지 특허청구범위에 따른 본 발명의 내용에 대한 예시적 내용으로만 고려되어야 한다.

Claims (39)

  1. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 방법으로서, 데이터 프로세서에 의해 수행되는 방법에 있어서,
    피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들을 데이터 프로세서로 제공하는 단계;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계; 그리고
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계를 포함하는데, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  2. 제 1 항에 있어서,
    상기 제공 단계는 상기 하나 이상의 입력 테스트 케이스들을 월드와이드웹을 통해 데이터 프로세서로 제공하는 단계를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  3. 제 1 항에 있어서,
    상기 식별 단계에서 상기 제 1 세트의 소정 기준은 데이터 프로세서에 의해 제공되는 자동 날짜 식별 규칙들을 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  4. 제 1 항에 있어서,
    상기 식별 단계는 상기 식별 단계 동안 검출된 임의의 잠재적 에러들의 리포트를 생성하는 단계를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  5. 제 1 항에 있어서,
    상기 식별 단계에서 상기 제 1 세트의 소정 기준은 사용자 제공 규칙들을 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  6. 제 5 항에 있어서,
    상기 사용자 제공 규칙들이 잠재적으로 부정확한지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  7. 제 5 항에 있어서,
    상기 사용자 제공 규칙들이 잠재적으로 불완전한지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  8. 제 5 항에 있어서,
    잠재적으로 부정확하거나 불완전한 사용자 제공 규칙들을 식별하는 단계; 그리고
    일부 또는 전부의 잠재적으로 부정확 또는 불완전한 사용자 제공 규칙들의 수정을 허용하는 단계를 더 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  9. 제 1 항에 있어서,
    상기 선택적 생성 단계는 하나 이상의 출력 테스트 케이스 세트에서 상기 하나 이상의 출력 테스트 케이스들을 생성하는 단계를 포함하는데, 상기 제 2 세트의 소정 기준은 출력 테스트 케이스들의 각 세트가 하나 이상의 입력 테스트 케이스들과 대응됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  10. 제 9 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 각 출력 테스트 케이스 세트의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  11. 제 9 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  12. 제 9 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 각 입력 테스트가 적어도 하나의 대응되는 출력 테스트 케이스 세트를 가지며 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  13. 제 1 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 상기 출력 테스트 케이스들이 사용자 제공 제한들에 따름을 보장하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  14. 제 1 항에 있어서,
    상기 하나 이상의 출력 테스트 케이스 세트들을 월드와이드웹을 통해 제공하는 단계를 더 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  15. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 방법으로서, 데이터 프로세서에 의해 수행되는 방법에 있어서,
    피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들을 데이터 프로세서로 제공하는 단계;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계;
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계를 포함하는데, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하며; 그리고
    상기 피시험 시스템에서 상기 출력 테스트 케이스들을 실행함에 의해 피시험 시스템이 2000년 순응적인지를 결정하는 단계를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  16. 제 15 항에 있어서,
    상기 결정 단계는,
    제 1 세트의 시스템 출력들을 제공하는 단계를 포함하는데, 상기 제 1 세트의 시스템 출력들은 피시험 시스템에서 상기 출력 테스트 케이스들을 실행함에 의해 생성되며;
    정확하다고 알려진 제 2 세트의 시스템 출력들을 제공하는 단계; 그리고
    피시험 시스템에서 임의의 잠재적 에러를 검출하기 위해 상기 제 1 및 제 2 세트의 시스템 출력들을 비교하는 단계를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  17. 제 15 항에 있어서,
    상기 결정 단계는,
    제 1 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 1 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 제 1 세트의 테스트 케이스들을 실행함에 의해 생성되며,
    제 2 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 2 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 다른 제 2 세트의 테스트 케이스들을 실행함에 의해 생성되며,
    제 3 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 3 세트의 시스템 출력은 출력 테스트 케이스들을 실행함에 의해 생성되며,
    상기 제 1 및 제 2 세트의 시스템 출력들을 비교하는 단계를 포함하며; 그리고
    상기 제 1 세트와 제 2 세트의 시스템 출력들이 일치 또는 불일치할 때 제 3 세트의 시스템 출력들이 제 1 세트의 시스템 출력들과 일치 또는 불일치함을 결정하는 단계를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  18. 제 17 항에 있어서,
    상기 제 1 및 제 2 세트의 테스트 케이스들은 상기 출력 테스트 케이스들의 날짜 의존적 필드들의 각 날짜에서 n*28 년을 감산함에 의해 상기 출력 테스트 케이스들로부터 생성되며, n 은 0 보다 큰 정수이며 상기 제 1 세트의 테스트 케이스와 제 2 세트의 테스트 케이스에 대해 다른 것을 특징으로 하는 테스트 케이스 생성 방법.
  19. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 방법으로서, 데이터 프로세서에 의해 수행되는 방법에 있어서,
    제 1 세트의 소정 기준에 따라 피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계; 그리고
    제 2 세트의 소정 기준에 따라 출력 테스트 케이스들의 변수화 버전들을 선택적으로 생성하는 단계를 포함하는데, 상기 각 출력 테스트 케이스의 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하며, 출력 테스트 케이스들보다 간결한 상기 변수화 버전들이 상기 출력 테스트 케이스들을 생성하는데 사용될 수 있는 것을 특징으로 하는 테스트 케이스 생성 방법.
  20. 피시험 시스템의 전환 순응성 테스트를 위한 테스트 케이스들을 생성하는 방법으로서, 데이터 프로세서에 의해 수행되는 방법에 있어서,
    피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들을 데이터 프로세서로 제공하는 단계;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 전환 의존적 필드들을 식별하는 단계; 그리고
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계를 포함하는데, 각 출력 테스트 케이스에서 적어도 하나의 전환 의존적 필드가 전환 순응성 테스트에 사용되는 위험 전환 값 세트로부터의 하나의 위험 전환 값을 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  21. 제 20 항에 있어서,
    상기 전환은 통화 단위를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  22. 제 20 항에 있어서,
    상기 전환은 시간 단위를 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  23. 제 20 항에 있어서,
    상기 전환은 계량 단위들을 포함하는 것을 특징으로 하는 테스트 케이스 생성 방법.
  24. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 시스템에 있어서,
    피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들을 수신하는 인터페이스;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 분석기; 그리고
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하도록 구성된 생성 수단을 포함하는데, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  25. 제 24 항에 있어서,
    상기 생성 수단은 하나 이상의 출력 테스트 케이스 세트에서 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하도록 구성되는데, 상기 제 2 세트의 소정 기준은 출력 테스트 케이스들의 각 세트가 하나 이상의 입력 테스트 케이스들과 대응됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  26. 제 25 항에 있어서,
    상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 각 출력 테스트 케이스 세트의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  27. 제 25 항에 있어서,
    상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  28. 제 25 항에 있어서,
    상기 제 2 세트의 소정 기준은 각 입력 테스트가 적어도 하나의 대응되는 출력 테스트 케이스 세트를 가지며 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  29. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 시스템에 있어서,
    하나 이상의 입력 테스트 케이스들을 수신하는 인터페이스;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 분석기;
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하도록 구성된 생성 수단을 포함하는데, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하며; 그리고
    피시험 시스템이 2000년 순응적인지를 결정하도록 구성된 테스트 수단을 포함하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  30. 제 29 항에 있어서,
    상기 테스트 수단은,
    제 1 세트의 시스템 출력을 수신하는 수단을 포함하는데, 상기 제 1 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 제 1 세트의 테스트 케이스들을 실행함에 의해 생성되며;
    제 2 세트의 시스템 출력을 수신하는 수단을 포함하는데, 상기 제 2 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 다른 제 2 세트의 테스트 케이스들을 실행함에 의해 생성되며, 상기 제 1 및 제 2 세트의 테스트 케이스들은 상기 출력 테스트 케이스들의 각 날짜에서 n*28 년을 감산함에 의해 상기 출력 테스트 케이스들로부터 생성되며, n 은 0 보다 큰 정수이며 상기 제 1 세트의 테스트 케이스와 제 2 세트의 테스트 케이스에 대해 다르며;
    제 3 세트의 시스템 출력을 수신하는 수단을 포함하는데, 상기 제 3 세트의 시스템 출력은 출력 테스트 케이스들을 실행함에 의해 생성되며,
    상기 제 1 및 제 2 세트의 시스템 출력들을 비교하는 수단을 포함하며; 그리고
    상기 제 1 세트와 제 2 세트의 시스템 출력들이 일치 또는 불일치할 때 제 3 세트의 시스템 출력들이 제 1 및 제 2 세트의 시스템 출력들과 일치 또는 불일치함을 결정하는 수단을 포함하는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  31. 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 시스템에 있어서,
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 분석기; 그리고
    제 2 세트의 소정 기준에 따라 출력 테스트 케이스들의 변수화 버전들을 선택적으로 생성하도록 구성된 생성 수단을 포함하는데, 상기 각 출력 테스트 케이스의 변수화 버전의 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하며, 출력 테스트 케이스들보다 간결한 상기 변수화 버전들이 상기 출력 테스트 케이스들을 생성하는데 사용될 수 있는 것을 특징으로 하는 테스트 케이스 생성 시스템.
  32. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 데이터 프로세서를 구성할 수 있는 컴퓨터로 판독 가능한 매체에 있어서,
    제 1 세트의 소정 기준에 따라 피시험 시스템에 대응되는 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계; 그리고
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계로서, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하는 단계를 상기 데이터 프로세서가 수행하도록 하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  33. 제 32 항에 있어서,
    상기 선택적 생성 단계는 하나 이상의 출력 테스트 케이스 세트에서 상기 하나 이상의 출력 테스트 케이스들을 생성하는 단계를 포함하는데, 상기 제 2 세트의 소정 기준은 출력 테스트 케이스들의 각 세트가 하나 이상의 입력 테스트 케이스들과 대응됨을 보장하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  34. 제 33 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 각 출력 테스트 케이스 세트의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  35. 제 33 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  36. 제 33 항에 있어서,
    상기 선택적 생성 단계에서 상기 제 2 세트의 소정 기준은 각 입력 테스트가 적어도 하나의 대응되는 출력 테스트 케이스 세트를 가지며 상기 위험 날짜 세트로부터의 각 위험 날짜가 상기 출력 테스트 케이스들의 각 날짜 의존적 필드로 적어도 한번 배치됨을 보장하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  37. 피시험 시스템의 2000년 순응성 테스트에 이용되는 테스트 케이스들을 생성하는 데이터 프로세서를 구성할 수 있는 컴퓨터로 판독 가능한 매체에 있어서,
    하나 이상의 입력 테스트 케이스들을 데이터 프로세서로 제공하는 단계;
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계;
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들을 선택적으로 생성하는 단계로서, 각 출력 테스트 케이스에서 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에서 중요한 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하는 단계; 그리고
    피시험 시스템이 2000년 순응적인지를 결정하는 단계를 상기 데이터 프로세서가 수행하도록 하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  38. 제 37 항에 있어서,
    상기 결정 단계는,
    제 1 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 1 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 제 1 세트의 테스트 케이스들을 피시험 시스템에서 실행함에 의해 생성되며;
    제 2 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 2 세트의 시스템 출력은 모든 날짜들이 20세기에 속하는 다른 제 2 세트의 테스트 케이스들을 피시험 시스템에서 실행함에 의해 생성되며, 상기 제 1 및 제 2 세트의 테스트 케이스들은 상기 출력 테스트 케이스들의 각 날짜에서 n*28 년을 감산함에 의해 상기 출력 테스트 케이스들로부터 생성되며, n 은 0 보다 큰 정수이며 상기 제 1 세트의 테스트 케이스와 제 2 세트의 테스트 케이스에 대해 다르며;
    제 3 세트의 시스템 출력을 제공하는 단계를 포함하는데, 상기 제 3 세트의 시스템 출력은 출력 테스트 케이스들을 피시험 시스템에서 실행함에 의해 생성되며;
    상기 제 1 및 제 2 세트의 시스템 출력들을 비교하는 단계를 포함하며; 그리고
    상기 제 1 세트와 제 2 세트의 시스템 출력들이 일치 또는 불일치할 때 제 3 세트의 시스템 출력들이 제 1 및 제 2 세트의 시스템 출력들과 일치 또는 불일치함을 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  39. 2000년 순응성 테스트를 위한 테스트 케이스들을 생성하는 데이터 프로세서를 구성할 수 있는 컴퓨터로 판독 가능한 매체에 있어서,
    제 1 세트의 소정 기준에 따라 하나 이상의 입력 테스트 케이스들의 각각에서 하나 이상의 날짜 의존적 필드들을 식별하는 단계; 그리고
    제 2 세트의 소정 기준에 따라 하나 이상의 출력 테스트 케이스들의 하나 이상의 변수화 버전 세트에서의 출력 테스트 케이스들의 변수화 버전들을 선택적으로 생성하는 단계로서, 출력 테스트 케이스들의 각 변수화 버전 세트는 하나의 입력 테스트 케이스에 대응되며, 상기 각 출력 테스트 케이스의 적어도 하나의 날짜 의존적 필드가 2000년 순응성 테스트에 사용되는 위험 날짜 세트로부터의 하나의 위험 날짜를 포함하며, 출력 테스트 케이스들보다 간결한 상기 변수화 버전들이 상기 출력 테스트 케이스들을 생성하는데 사용될 수 있는 단계를 상기 데이터 프로세서가 수행하도록 하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
KR1020007000787A 1997-07-24 1998-07-21 2000년 테스트 케이스들을 생성하는 시스템 및 방법 KR20010022215A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5364597P 1997-07-24 1997-07-24
US60/053,645 1997-07-24
PCT/US1998/015020 WO1999005598A2 (en) 1997-07-24 1998-07-21 System and method for generating year 2000 test cases

Publications (1)

Publication Number Publication Date
KR20010022215A true KR20010022215A (ko) 2001-03-15

Family

ID=21985652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007000787A KR20010022215A (ko) 1997-07-24 1998-07-21 2000년 테스트 케이스들을 생성하는 시스템 및 방법

Country Status (10)

Country Link
US (1) US6041330A (ko)
EP (1) EP1021763A4 (ko)
JP (1) JP2001511557A (ko)
KR (1) KR20010022215A (ko)
CN (1) CN1265207A (ko)
AU (1) AU728009B2 (ko)
CA (1) CA2297901C (ko)
ID (1) ID25875A (ko)
TW (1) TW498201B (ko)
WO (1) WO1999005598A2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425118B1 (en) * 1997-07-18 2002-07-23 Compaq Computer Corporation System for automatically generating tests to ensure binary compatibility between software components produced by a source-to-source computer language translator
US6317871B1 (en) 1997-07-18 2001-11-13 Compaq Computer Corporation System for ensuring the accuracy of file structures in a source-to-source computer program translator
US6240546B1 (en) * 1998-07-24 2001-05-29 International Business Machines Corporation Identifying date fields for runtime year 2000 system solution process, method and article of manufacture
US6708180B1 (en) * 1998-08-14 2004-03-16 International Business Machines Corporation Method and apparatus for runtime remediation of object-code instructions in a computer program
US6253336B1 (en) * 1998-08-20 2001-06-26 International Business Machines Corporation Predicting year-2000 instruction failures
US6279127B1 (en) * 1998-08-20 2001-08-21 International Business Machines Corporation System for predicting year-2000 instruction failures
US6295539B1 (en) * 1998-09-14 2001-09-25 Computer Associates Think, Inc. Dynamic determination of optimal process for enforcing constraints
US6523172B1 (en) * 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method
US6389588B1 (en) * 1999-02-04 2002-05-14 Relativity Technologies Method and system of business rule extraction from existing applications for integration into new applications
US6634026B1 (en) * 1999-06-10 2003-10-14 General Electric Company Method and apparatus for correcting common errors in multiple versions of a computer program
US6725380B1 (en) * 1999-08-12 2004-04-20 International Business Machines Corporation Selective and multiple programmed settings and passwords for web browser content labels
US6715108B1 (en) * 1999-10-12 2004-03-30 Worldcom, Inc. Method of and system for managing test case versions
US6493635B1 (en) * 1999-11-01 2002-12-10 3Dgeo Development, Inc. Remote access and automated dialog building for seismic processing
US7113914B1 (en) * 2000-04-07 2006-09-26 Jpmorgan Chase Bank, N.A. Method and system for managing risks
US8522082B1 (en) * 2000-04-28 2013-08-27 International Business Machines Corporation Method and apparatus for identifying remediation failures in year-2000 remediation programs
US20020032538A1 (en) * 2000-05-09 2002-03-14 Lee Young-Seok Software test system and method
US6823478B1 (en) * 2000-09-12 2004-11-23 Microsoft Corporation System and method for automating the testing of software processing environment changes
US6577982B1 (en) * 2001-01-30 2003-06-10 Microsoft Corporation Model-based testing via combinatorial designs
US20030003432A1 (en) * 2001-05-16 2003-01-02 Kinzhalin Arzhan I System and method for automated assertion acquisition in a Java compatibility testing environment
US7243090B2 (en) * 2001-05-16 2007-07-10 Sun Microsystems, Inc. System and method for specification tracking in a Java compatibility testing environment
US7240243B2 (en) * 2002-03-28 2007-07-03 International Business Machines Corporation System and method for facilitating programmable coverage domains for a testcase generator
WO2005050397A2 (en) * 2003-11-17 2005-06-02 International Barcode Corporation System and method of ensuring quality control of software
US20050234976A1 (en) * 2004-04-20 2005-10-20 Relativity Technologies, Inc. System and method for deriving an object oriented design from the business rules of a legacy application
US7398514B2 (en) 2004-09-29 2008-07-08 Microsoft Corporation Test automation stack layering
US7587393B2 (en) * 2004-12-20 2009-09-08 Microsoft Corporation Long running requests
US7305374B2 (en) * 2006-01-26 2007-12-04 International Business Machines Corporation Method, system and program product for automated testing of changes to externalized rules
US20080040352A1 (en) * 2006-08-08 2008-02-14 Kenneth Alexander Ellis Method for creating a disambiguation database
US20080163159A1 (en) * 2007-01-03 2008-07-03 Relativity Technologies, Inc. System and method for extracting UML models from legacy applications
US8997091B1 (en) * 2007-01-31 2015-03-31 Emc Corporation Techniques for compliance testing
US20090158255A1 (en) * 2007-12-18 2009-06-18 Electronics And Telecommunications Research Institute Test method and test device for unit code using unit test code
CN101251825B (zh) * 2008-04-03 2010-04-14 北京星网锐捷网络技术有限公司 一种生成测试用例的方法和装置
CN101377758B (zh) * 2008-07-14 2010-06-23 北京星网锐捷网络技术有限公司 一种生成测试用例的方法和装置
TW201025217A (en) * 2008-12-30 2010-07-01 Ind Tech Res Inst System and method for estimating state of carrier
US8732667B2 (en) * 2009-11-13 2014-05-20 Microsoft Corporation Debugging services for domain specific languages
FR2964286B1 (fr) * 2010-08-27 2012-08-17 Alcatel Lucent Procede et dispositif de test non perturbatif de fonctionnement d'une application de fourniture d'informations accessibles a certaines dates
CN102622528B (zh) * 2012-04-16 2015-02-18 广东双利电缆有限公司 一种制造铝合金杆所需配方参数的自动生成方法及系统
US9992243B2 (en) 2012-09-17 2018-06-05 International Business Machines Corporation Video conference application for detecting conference presenters by search parameters of facial or voice features, dynamically or manually configuring presentation templates based on the search parameters and altering the templates to a slideshow
US9984173B2 (en) * 2014-02-24 2018-05-29 International Business Machines Corporation Automated value analysis in legacy data
DE102016002897A1 (de) * 2015-04-28 2016-11-03 Giesecke & Devrient Gmbh Wertdokumentbearbeitungsvorrichtung mit einem Datenkommunikationssystem und Verfahren zur Verteilung von Sensordaten in einer Wertdokumentbearbeitungsvorrichtung
US10782942B1 (en) * 2019-09-13 2020-09-22 Capital One Services, Llc Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation
CN113822021B (zh) * 2021-08-23 2024-03-01 太原市高远时代科技有限公司 一种实现测试用例文件格式转换的方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737609A (en) * 1994-10-18 1998-04-07 Marcam Corporation Method and apparatus for testing object-oriented programming constructs
US5630118A (en) * 1994-11-21 1997-05-13 2000, Inc. System and method for modifying and operating a computer system to perform date operations on date fields spanning centuries
US5838979A (en) * 1995-10-31 1998-11-17 Peritus Software Services, Inc. Process and tool for scalable automated data field replacement
US5600836A (en) * 1995-11-14 1997-02-04 Turn Of The Century Solution, Inc. System and method for processing date-dependent information which spans one or two centuries
US5761668A (en) * 1996-03-08 1998-06-02 Adamchick; J. David Method and apparatus for converting computer software and databases for the year 2000
US5644762A (en) * 1996-05-14 1997-07-01 Resolve 2000, Inc. Method and apparatus for recording and reading date data having coexisting formats
US5808889A (en) * 1996-06-28 1998-09-15 Data Integrity, Incorporated System and method for identifying and correcting computer operations involving two digit year dates
US5740442A (en) * 1996-08-27 1998-04-14 Hitachi Data Systems Corporation Method and apparatus for identifying and correcting date calculation errors caused by truncated year values
US5862380A (en) * 1996-08-29 1999-01-19 Matridigm Corporation Test method for revised data fields in a program
US5794048A (en) * 1996-08-29 1998-08-11 Matridigm Corporation Method for classification of year-related data fields in a program
US5806067A (en) * 1996-10-21 1998-09-08 Catch/21 Enterprises, Inc. Method and apparatus for data processing with conversion of ambiguous data structures
US5809500A (en) * 1997-02-26 1998-09-15 Century Technology Services, Inc. System for converting programs and databases to correct year 2000 processing errors
US5852824A (en) * 1997-05-22 1998-12-22 Brown; Roger W. Apparatus and method for processing year-date data in computer systems

Also Published As

Publication number Publication date
CA2297901C (en) 2004-04-13
ID25875A (id) 2000-11-09
WO1999005598A3 (en) 1999-04-29
JP2001511557A (ja) 2001-08-14
AU728009B2 (en) 2001-01-04
US6041330A (en) 2000-03-21
TW498201B (en) 2002-08-11
CN1265207A (zh) 2000-08-30
WO1999005598A2 (en) 1999-02-04
EP1021763A2 (en) 2000-07-26
CA2297901A1 (en) 1999-02-04
EP1021763A4 (en) 2006-12-06
AU8501798A (en) 1999-02-16

Similar Documents

Publication Publication Date Title
KR20010022215A (ko) 2000년 테스트 케이스들을 생성하는 시스템 및 방법
US6876314B1 (en) Self-generating automatic code generator
US6647390B2 (en) System and methods for standardizing data for design review comparisons
US7216340B1 (en) Analysis data validation tool for use in enterprise architecture modeling with result based model updating
US7340475B2 (en) Evaluating dynamic expressions in a modeling application
US5898872A (en) Software reconfiguration engine
US6978440B1 (en) System and method for developing test cases using a test object library
US7424702B1 (en) Data integration techniques for use in enterprise architecture modeling
US5452449A (en) Interactive multi-module source code analyzer that matches and expands call and entry statement parameters
US8176002B2 (en) Method and system for user alteration of the configuration of a data warehouse
US8239757B2 (en) System and method for creating and modifying test data files
US6775827B1 (en) Real-time program audit software
US7203671B1 (en) System and method for validating the technical correctness of an OLAP reporting project
US6915313B2 (en) Deploying predefined data warehouse process models
US20080249978A1 (en) Apparatus, and system for certificate of mailing
WO2001088703A1 (en) System for developing data collection software applications
US7908249B1 (en) Closed-loop feedback control system for online services
CN1332302C (zh) 用于提供计算机程序代码的维护环境的方法和系统
MXPA00000613A (en) System and method for generating year 2000 test cases
AU778165B2 (en) Real-time program audit software
JPH09101886A (ja) プログラム部品の自動抽出・再利用装置
Sneed Checking Consistency and Completeness of Software Systems
JP2001084163A (ja) 更新処理の影響事前調査装置及び方法、更新処理プログラムの動作テスト装置及び方法
CN116933761A (zh) 一种料号数据自动对比方法、系统、存储介质及电子设备
JPH09179763A (ja) データベースの更新方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee