KR101020132B1 - 금융 업무 프로그램의 자동 테스트 시스템 및 방법 - Google Patents

금융 업무 프로그램의 자동 테스트 시스템 및 방법 Download PDF

Info

Publication number
KR101020132B1
KR101020132B1 KR1020080034096A KR20080034096A KR101020132B1 KR 101020132 B1 KR101020132 B1 KR 101020132B1 KR 1020080034096 A KR1020080034096 A KR 1020080034096A KR 20080034096 A KR20080034096 A KR 20080034096A KR 101020132 B1 KR101020132 B1 KR 101020132B1
Authority
KR
South Korea
Prior art keywords
data
test
financial
program
script
Prior art date
Application number
KR1020080034096A
Other languages
English (en)
Other versions
KR20090075600A (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 KR20090075600A publication Critical patent/KR20090075600A/ko
Application granted granted Critical
Publication of KR101020132B1 publication Critical patent/KR101020132B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • 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
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 금융 업무 프로그램의 자동 테스트 시스템 및 방법에 관한 것으로서, 자동 테스트 시스템은 테스트 DB 및 금융 단말기를 포함한다. 테스트 DB는 제1 내지 제3 스크립트 데이터들을 저장한다. 금융 단말기는 금융 업무 프로그램을 실행하는 기능과, 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여 금융 업무 프로그램을 자동으로 테스트하는 기능을 포함한다. 금융 단말기는, 사용자 인터페이스부, 저장 공간, 및 테스트 자동화 처리부를 포함한다. 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은 금융 업무 프로그램의 테스트 작업을 자동화하고, 테스트 비용 및 시간을 줄이고, 고객의 개인 정보가 외부로 유출되는 것을 방지할 수 있다.
Figure R1020080034096
프로그램, 테스트, 자동 승인, 스크립트

Description

금융 업무 프로그램의 자동 테스트 시스템 및 방법{Automation test system and method for a financial work program}
본 발명은 테스트 시스템 및 방법에 관한 것으로서, 더욱 상세하게는, 금융 업무 프로그램의 자동 테스트 시스템 및 방법에 관한 것이다.
일반적으로, 은행이나 증권회사 등과 같이 금융 관련 서비스를 제공하는 금융 기관은 금융 업무를 전산화하고 간소화하기 위해 금융 업무 프로그램을 사용하고 있다. 금융 업무 프로그램은 금융 기관 내에서 사용되는 각종 금융 단말기들 및 주변 기기들을 사용자의 요구에 맞게 동작시키고, 금융 단말기를 통하여 사용자에게 해당 업무의 처리 과정을 보여준다. 따라서 사용자는 금융 거래 업무에 필요한 서류들을 직접 수기로 작성할 필요 없이 금융 단말기를 조작하는 것에 의해 다양하고 복잡한 업무를 간편하고 신속하게 처리할 수 있다. 최근에는 고객의 다양한 요구를 충족시키기 위해, 더욱 다양하고 신속한 금융 업무를 가능하게 하고, 다양한 금융 서비스를 고객들에게 제공할 수 있는 다기능화된 금융 업무 프로그램들이 개발되고 있다. 한편, 새로 개발된 금융 업무 프로그램이 금융 기관의 금융 시스템에 적용되기 이전에 테스트 담당자는 금융 업무 프로그램의 테스트 작업을 실행한다. 테스트 과정에서, 테스트 담당자는 금융 업무 프로그램이 실제로 금융 시스템 내에서 정상적으로 실행되는 지의 여부를 확인하고, 각 금융 거래 업무의 처리 과정별로 발생할 수 있는 오류들을 체크 한다. 종래의 금융 업무 프로그램의 테스트 과정은 테스트 담당자의 수작업에 의해만 이루어진다. 종래의 금융 업무 프로그램의 테스트 과정을 간략히 설명하면 다음과 같다. 먼저, 테스트 담당자가 해당 금융 업무 프로그램이 탑재된 금융 단말기에 각각의 금융 거래 업무 케이스(case)별로, 금융 거래를 위한 테스트 데이터들을 직접 입력하여, 금융 업무 프로그램을 실행시킨다. 이 후, 테스트 담당자는 캡처(capture) 프로그램을 이용하여, 금융 단말기에 표시되는 테스트 결과 화면을 하나하나 수작업으로 캡처한다. 테스트 담당자는 캡처한 화면의 이미지 중, 예를 들어, 고객의 계좌번호나 이름 등과 같은 개인 정보가 표시된 부분을 검은색 등으로 덧칠하는 이미지 수정 작업을 실행하여, 개인 정보가 보이지 않도록 처리한다. 이때, 테스트 담당자는 캡처된 화면의 일부분을 검은색으로 덧칠만 할 뿐이므로, 이미지 파일의 원본은 손상되지 않고 그대로 유지된다. 이 후, 테스트 담당자는 수정된 이미지 파일과 테스트 의견 등을 포함하는 테스트 결과 파일을 작성한다. 금융 업무 프로그램의 개발자는 테스트 담당자가 작성한 테스트 결과 파일을 검토하여, 금융 업무 프로그램의 오류를 확인하고, 해당 오류를 수정한 후, 테스트 담당자에게 수정된 금융 업무 프로그램에 대한 재테스트를 의뢰한다. 수정된 금융 업무 프로그램에 대한 재테스트 과정은 상술한 것과 동일하게 테스트 담당자의 수작업에 의해 이루어진다.
상술한 것과 같이, 종래의 금융 업무 프로그램의 테스트 방식은 테스트 담당 자의 수작업에 의해 이루어지므로, 테스트 담당자에 의한 금융 업무 프로그램의 테스트 작업과, 프로그램 개발자에 의한 금융 업무 프로그램의 수정 작업이 교대로 반복될수록, 테스트 담당자의 업무는 더욱 과중 된다. 결국, 테스트 담당자는 업무 과중으로 인하여 잘못된 테스트 작업을 실행하는 실수를 범하게 되고, 그 결과, 잘못된 테스트 결과가 초래될 수 있다. 또한, 종래의 금융 업무 프로그램의 테스트 방식에서는, 금융 업무 프로그램의 테스트를 위한 각 테스트 케이스와 관련한 데이터들을 테스트 담당자가 직접 작성해야 한다. 금융 업무 프로그램의 다양한 테스트를 위해서는, 각 거래 업무에 대해 대량의 테스트용 데이터들이 요구되지만, 실제로, 테스트 담당자가 제한된 테스트 시간 내에 대량의 테스트용 데이터들을 수작업에 의해 작성하는 것은 매우 어려운 일이다. 또한, 종래의 금융 업무 프로그램의 테스트 방식은 테스트 담당자의 수작업에 의해 이루어지므로, 그 테스트 작업이 매우 번거롭고, 테스트 비용 및 시간 또한 증가하는 문제가 있다. 이러한 문제는 테스트 대상 화면의 입력 항목이 복잡할수록 더욱 심각하게 나타난다. 또한, 종래의 테스트 방식에 의하면, 테스트 담당자가 다양한 거래 업무(즉, 테스트 케이스)와 관련한 금융 업무 프로그램의 테스트를 실행하는 것이 어렵다. 왜냐하면, 금융 업무 프로그램을 테스트하기 위한 테스트 데이터와 테스트 케이스의 수가 증가할수록 테스트 절차가 더욱 복잡해지고, 테스트 시간이 더욱 길어지기 때문이다. 따라서 테스트 담당자는 제한된 수의 테스트 케이스들에 대해서만 금융 업무 프로그램을 테스트할 수 있다. 또, 종래의 테스트 방식에서는 테스트 담당자가 캡처한 화면 이미지의 개인 정보 부분을 검은색으로 덧칠한, 수정된 이미지 파일을 사용하여 테스 트 결과 파일을 작성한다. 하지만, 수정된 이미지 파일은 이미지 복원 처리에 의해 원래의 캡처한 화면 이미지 파일로 복원될 수 있기 때문에, 수정된 이미지 파일이 외부에 유출될 경우, 고객의 개인 정보가 유출될 위험이 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 금융 업무 프로그램의 실행에 따른 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 자동으로 기록하고, 그 기록된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 실제로 금융 기관의 영업점에서 이루어진 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 이전의 테스트 시 사용된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 기초하여, 금융 업무 프로그램을 자동으로 재실행시켜 테스트하고, 그 테스트 결과를 자동으로 수집 및 가공하여 저장함으로써, 금융 업무 프로그램의 테스트 작업을 자동화하고, 고객의 개인 정보 유출을 방지하고, 테스트 비용 및 테스트 시간을 줄일 수 있는 금융 업무 프로그램의 자동 테스트 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 금융 업무 프로그램의 실행에 따른 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 자동으로 기록하고, 그 기록된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 실제로 금융 기관의 영업점에서 이루어진 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 이전의 테스트 시 사용된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 기초하여, 금융 업무 프로그램을 자동으로 재실행시켜 테스트하고, 그 테스트 결과를 자동으로 수집 및 가공하여 저장함으로써, 금융 업무 프로그램의 테스트 작업을 자동화하고, 고객의 개인 정보 유출을 방 지하고, 테스트 비용 및 테스트 시간을 줄일 수 있는 금융 업무 프로그램의 자동 테스트 방법을 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 금융 업무 프로그램의 자동 테스트 시스템은, 테스트 DB, 금융 단말기, 및 로그 데이터 수집기를 포함한다. 테스트 DB는 제1 내지 제3 스크립트 데이터들을 저장한다. 금융 단말기는 금융 업무 프로그램을 실행하는 기능과, 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여 금융 업무 프로그램을 자동으로 테스트하는 기능을 포함한다.
금융 단말기는, 사용자 인터페이스부, 저장 공간, 및 테스트 자동화 처리부를 포함한다. 사용자 인터페이스는 사용자의 입력에 따라 입력 신호를 출력한다. 저장 공간은 JCM(java control manager) 프로그램과, 금융 업무 프로그램을 저장한다. JCM 프로그램은 기록 명령에 응답하여, 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 금융 업무 프로그램을 재실행시키는 프로그램이다.
테스트 자동화 처리부는 입력 신호에 응답하여, 저장 공간 내에 저장된 JCM 프로그램 및 금융 업무 프로그램 중 적어도 하나를 판독(read)하여, JCM 프로그램 및 금융 업무 프로그램 중 적어도 하나를 실행하고, 기록 명령 또는 재실행 명령을 출력하는 메인 컨트롤러를 포함한다.
테스트 자동화 처리부는 제1 XML 데이터들을 제1 스크립트 데이터들로 변환하여 테스트 DB에 저장한다. 테스트 자동화 처리부는 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여, 제1 테스트용 XML 데이터들을 출력한다. 테스트 자동화 처리부는 금융 업무 프로그램이 재실행됨에 따라 발생되는 테스트 결과 정보들을 수집하고, 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 테스트 결과 정보들에 기초하여 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성한다. 테스트 자동화 처리부는 테스트 결과 정보들과 테스트 결과 보고서 파일을 테스트 DB에 저장한다.
로그 데이터 수집기는, 금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 제3 스크립트 데이터들을 생성한다.
로그 데이터들은 금융 기관 내에서 사용되는 영업점 금융 단말기들 각각에 저장된 로그 데이터들을 포함한다. 영업점 금융 단말기들 각각은, 하나의 금융 거래 업무를 실행할 때마다 해당 금융 거래 업무에 대한 로그 데이터를 발생하여 저장하고, 자신에 저장된 로그 데이터들을 상기 영업점 DB에 주기적으로 저장한다.
제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 테스트 자동화 처리부가 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이다. 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 금융 업무 프로그램의 자동 테스트 시스템은, 테스트 DB 및 복수의 금융 단말기들을 포함한다. 테스트 DB는 제1 내지 제3 스크립트 데이터들을 저장한다. 복수의 금융 단말기들은 금융 업무 프로그램을 실행하는 기능과, 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여 금융 업무 프로그램을 자동으로 테스트하는 기능을 각각 포함한다.
복수의 금융 단말기들 각각은, 사용자 인터페이스부, 저장 공간, 및 테스트 자동화 처리부를 포함한다. 사용자 인터페이스는 사용자의 입력에 따라 입력 신호를 출력한다. 저장 공간은 JCM(java control manager) 프로그램과, 금융 업무 프로그램을 저장한다. JCM 프로그램은 기록 명령에 응답하여, 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 금융 업무 프로그램을 재실행시키는 프로그램이다.
테스트 자동화 처리부는 입력 신호에 응답하여, 저장 공간 내에 저장된 JCM 프로그램 및 금융 업무 프로그램 중 적어도 하나를 판독하여, JCM 프로그램 및 금융 업무 프로그램 중 적어도 하나를 실행하고, 기록 명령 또는 재실행 명령을 출력하는 메인 컨트롤러를 포함한다.
테스트 자동화 처리부는 제1 XML 데이터들을 제1 스크립트 데이터들로 변환하여 테스트 DB에 저장한다. 테스트 자동화 처리부는 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여, 제1 테스트용 XML 데이터들을 출력한다. 테스트 자동화 처리부는 금융 업무 프로그램이 재실행됨에 따라 발생되는 테스트 결과 정보들을 수집하고, 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 테스트 결과 정보들에 기초하여 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성한다. 테스트 자동화 처리부는 테스트 결과 정보들과 테스트 결과 보고서 파일을 테스트 DB에 저장한다.
제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 테스트 자동화 처리부가 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이다. 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 또 다른 일면에 따른 금융 업무 프로그램의 자동 테스트 시스템은, 테스트 DB, 저장 공간, 및 테스트 자동화 처리부를 포함한다. 테스트 DB는 제1 내지 제3 스크립트 데이터들, 테스트 결과 정보들, 및 테스트 결과 보고서 파일을 저장한다.
저장 공간은 JCM(java control manager) 프로그램과, 금융 업무 프로그램을 저장하고, 금융 단말기 내에 포함된다. JCM 프로그램은 기록 명령에 응답하여, 금융 단말기에서 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 금융 단말기에서 금융 업무 프로그램을 재실행시키는 프로그램이다.
테스트 자동화 처리부는 사용자의 입력에 따라 기록 명령 또는 재실행 명령을 금융 단말기에 출력한다. 테스트 자동화 처리부는 제1 XML 데이터들을 제1 스크립트 데이터들로 변환하여 테스트 DB에 저장하고, 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여, 제1 테스트용 XML 데이터들을 출력하고, 금융 업무 프로그램이 재실행되는 동안, 금융 단말기로부터 테스트 결과 정보들을 수신하고, 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 테스트 결과 정보들에 기초하여 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성하고, 테스트 결과 정보들과 테스트 결과 보고서 파일을 테스트 DB에 저장한다.
금융 단말기 내에 포함된 컨트롤러가 JCM 프로그램과 금융 업무 프로그램 중 적어도 하나를 실행한다. 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 테스트 자동화 처리부가 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함한다.
상기한 기술적 과제를 달성하기 위한 본 발명의 더욱 또 다른 일면에 따른 금융 업무 프로그램의 자동 테스트 시스템은, 테스트 DB, 복수의 저장 공간들, 복수의 테스트 자동화 처리부들, 및 중앙 제어기를 포함한다. 테스트 DB는 제1 내지 제3 스크립트 데이터들, 테스트 결과 정보들, 및 테스트 결과 보고서 파일을 저장한다.
복수의 저장 공간들은 복수의 JCM 프로그램들과 복수의 금융 업무 프로그램들을 각각 저장하는 저장 공간들로서, 복수의 금융 단말기들 내에 각각 포함된다.
복수의 테스트 자동화 처리부들은 복수의 금융 단말기들에 각각 연결되고, 사용자의 입력에 따라 기록 명령 또는 재실행 명령을 복수의 금융 단말기에 각각 출력한다. 중앙 제어기는 기 복수의 테스트 자동화 처리부들의 동작을 제어한다.
복수의 금융 단말기 내에 각각 포함되는 복수의 컨트롤러들이, 복수의 JCM 프로그램들과 복수의 금융 업무 프로그램들 중 적어도 하나를 각각 실행한다.
복수의 JCM 프로그램들 각각은, 기록 명령에 응답하여, 복수의 금융 단말기들 중 자신에 대응하는 하나에서 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 자신에 대응하는 금융 단말기에서 금융 업무 프로그램을 재실행시키는 프로그램이다.
복수의 테스트 자동화 처리부들 각각은, 자신에 연결된 금융 단말기로부터 수신되는 제1 XML 데이터들을 제1 스크립트 데이터들로 변환하여 테스트 DB에 저장하고, 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여, 제1 테스트용 XML 데이터들을 자신에 연결된 금융 단말기에 출력하고, 자신에 연결된 금융 단말기에서 금융 업무 프로그램이 재실행되는 동안, 자신에 연결된 금융 단말기로부터 테스트 결과 정보들을 수신하고, 자신에 연결된 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 테스트 결과 정보들에 기초하여 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성하고, 테스트 결과 정보들과 테스트 결과 보고서 파일을 테스트 DB에 저장한다.
제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 복수의 테스트 자동화 처리부들 각각이 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함한다.
상기한 다른 기술적 과제를 달성하기 위한 본 발명에 따른 금융 업무 프로그램의 자동 테스트 방법은, 금융 단말기에서 금융 업무 프로그램이 실행될 때, 각 금융 업무별 및 각 주변기기의 동작별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 자동으로 기록하는 단계; 기록된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제1 스크립트 데이터들, 또는 이전의 테스트 시 사용된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제2 스크립트 데이터들, 또는 실제로 금융 기관의 영업점에서 이루어진 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제3 스크립트 데이터들에 기초하여, 금융 업무 프로그램을 자동으로 재실행시키는 단계; 및 금융 업무 프로그램의 재실행 결과에 따른 테스트 결과를 자동으로 수집 및 가공하여 저장하는 단계를 포함한다.
제3 스크립트 데이터들은, 로그 데이터 수집기가 금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 생성한 것이다. 로그 데이터들은, 금융 기관 내에서 사용되는 영업점 금융 단말기들이 금융 거래 업무를 실행할 때마다 발생하여 주기적으로 영업점 DB에 저장한 것이다.
상술한 것과 같이, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은, 금융 업무 프로그램의 실행에 따른 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 자동으로 기록하고, 그 기록된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 실제로 금융 기관의 영업점에서 이루어진 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들, 또는 이전의 테스트 시 사용된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 기초하여, 금융 업무 프로그램을 자동으로 재실행시켜 테스트하고, 그 테스트 결과를 자동으로 수집 및 가공하여 저장하므로, 금융 업무 프로그램의 테스트 작업을 자동화할 수 있고, 테스트 비용 및 테스트 시간을 줄일 수 있다.
또한, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은, 테스트 결과를 자동으로 수집하여 가공할 때, 테스트 결과 화면의 원본 이미지가 복구되지 않도록, 테스트 결과 화면 이미지 중 고객의 개인 정보가 표시된 부분 위에 검은색의 스텐실(stencil) 이미지를 겹친 후, 테스트 결과 화면의 원본 이미지와 스텐실 이미지를 하나의 이미지 파일로 생성하므로, 고객의 개인 정보가 외부로 유출되는 것을 방지할 수 있다.
또, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은, 이전의 테스트 시 사용되었던 테스트 케이스 데이터(즉, 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들)를 이용하거나, 또는 금융 기관의 특정 영업 지점에서 특정 시간 동안 이루어진 실제의 금융 거래에 따른 테스트 케이스 데이터를 이용하여, 금융 업무 프로그램을 테스트할 수 있다. 사용자는 금융 업무 프로그램의 자동 테스트 시스템을 통하여, 금융 업무 프로그램의 실행에 따라 자동으로 기록된 테스트 케이스 데이터, 또는 이전의 테스트 시 사용된 테스트 케이스 데이터를 편집 및 수정할 수 있다. 그 결과, 금융 업무 프로그램의 자동 테스트 시스템은 사용자에 의해 편집 및 수정된 테스트 케이스 데이터를 이용하여 금융 업무 프로그램을 다양한 조건으로 테스트할 수 있다. 결국, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은 대량의 테스트 케이스 데이터들을 이용하여 금융 업무 프로그램의 다양한 테스트를 실행할 수 있으므로, 금융 업무 프로그램의 오류를 정밀하게 검출할 수 있다.
한편, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은 금융 단말기의 승인 요청 시 자동으로 승인을 대행하는 책임자 승인 처리기를 포함하므로, 금융 업무 프로그램의 테스트 동안, 책임자의 승인이 필요한 금융 거래 업무에 대해 테스트 담당자가 일일이 개입할 필요가 없는, 금융 업무 프로그램의 자동 테스트를 실현할 수 있다. 또, 본 발명에 따른 금융 업무 프로그램의 자동 테스트 시스템 및 방법은, 금융 단말기 외에, 통장 리더기, 통장 프린터기 등과 같은 주변기기의 동작이 필요한 금융 거래 업무에 대해, 마치 주변기기들이 실제로 동작하는 것처럼, 주변기기가 동작할 때 출력하는 신호를 유사하게 발생시켜, 주변기기 의 동작을 대행하는 주변기기 제어부를 포함하므로, 금융 업무 프로그램의 테스트 동안, 주변기기의 동작이 필요 없고, 주변기기의 조작을 위해 테스트 담당자가 일일이 개입할 필요가 없는, 금융 업무 프로그램의 자동 테스트를 실현할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명의 제1 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 도시한 블록도이다. 도면의 간략화를 위해, 도 1에서 각 장치들 간의 송수신 신호들에 대한 도시가 생략된다. 자동 테스트 시스템(100)은 테스트 자동화 처리부(110), JCM(Java Control Manager) 프로그램(120)과 금융 업무 프로그램이 저장된 금융 단말기(210)내의 저장 공간(미도시), 테스트 DB(130), 장치 인터페이스(interface)부(140), 책임자 승인 처리기(150), 로그(log) 데이터 수집기(160), 및 승인 DB(170)를 포함한다. 도면의 간략화를 위해, 도 1에는 JCM 프로그램(120)이 JCM으로만 도시된다.
테스트 자동화 처리부(110)는 메인 컨트롤러(111), 스크립트 엔진(script engine)(112), 테스트 데이터 처리부(113), 패키지(package) 거래 처리부(114), 온라인 로그 재현부(115), 보고서 자동 생성부(116), 및 사용자 인터페이스부(117)를 포함한다. 메인 컨트롤러(111)는 스크립트 엔진(112), 테스트 데이터 처리부(113), 패키지 거래 처리부(114), 온라인 로그 재현부(115), 및 보고서 자동 생성부(116)의 동작을 각각 제어한다. 여기에서, 스크립트 엔진(112), 테스트 데이터 처리부(113), 패키지 거래 처리부(114), 온라인 로그 재현부(115), 및 보고서 자동 생성부(116) 각각은 테스트 자동화 처리부(110)의 저장 공간(미도시) 내에 저장된 프로그램들 중 하나일 수 있다. 이 경우, 메인 컨트롤러(111)는 사용자 인터페이스부(117)를 통한 사용자의 입력에 따라 상기 저장 공간에 저장된 프로그램들 중 적어도 하나를 판독하고, 그 판독한 프로그램의 동작을 실행한다.
한편, 메인 컨트롤러(111)는 주변기기부(220)의 주변기기 제어부(221)에 기록 명령(REC) 또는 재실행 명령(REP)을 출력할 수 있다. 이때, 장치 인터페이스부(140)가 메인 컨트롤러(111)와 주변기기 제어부(221) 간의 모든 송수신 데이터(또는 신호)를 상호 인터페이스 한다. 메인 컨트롤러(111)는 주변기기 제어부(221)에 기록 명령(REC)을 출력한 후, 주변기기 제어부(221)로부터 각 주변기기들(예를 들어, 핀 패드(pin pad)(222), 직불카드 발급기(223), IC 리더기(224), 통장 프린터(225), 및 통장 리더기(226) 등)의 동작에 따른 동작 정보(OPR)를 포함하는 XML(Extensible Markup Language) 데이터들(XPD1∼XPDQ)(Q는 정수)을 수신하여, 스크립트 엔진(112)에 출력한다. 메인 컨트롤러(111)는 스크립트 엔진(112)으로부터 수신되는 스크립트 데이터들(SCP1∼SCPH)(H는 정수)을 테스트 DB(130)에 저장한다. 또, 메인 컨트롤러(111)는 주변기기 제어부(221)에 재실행 명령(REP)을 출력한 후, 테스트용 XML 데이터들(TXPDT1∼TXPDTV)(V는 정수)을 주변기기 제어부(221)에 출력한다.
메인 컨트롤러(111)는 JCM 프로그램(120)에 기록 명령(REC) 또는 재실행 명령(REP)을 출력할 수 있다. 메인 컨트롤러(111)는 JCM 프로그램(120)에 기록 명령(REC)을 출력한 후, JCM 프로그램(120)으로부터 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 포함하는 XML(Extensible Markup Language) 데이터들(XDAT1∼XDATJ)(J는 정수)를 수신하여, 스크립트 엔진(112)에 출력한다. 또, 메인 컨트롤러(111)는 JCM 프로그램(120)에 재실행 명령(REP)을 출력한 후, 테스트용 XML 데이터들(TXDAT1∼TXDATN)(N은 정수)을 JCM 프로그램(120)에 출력한다. 메인 컨트롤러(111)는 사용자 인터페이스부(117)를 통하여 수신되는 입력 신호(INS)에 응답하여, 금융 업무 프로그램을 테스트하는 데 필요한 각종 제어 동작을 실행한다. 선택적으로, 사용자 인터페이스부(117)를 통하여 수신되는 입력 신호(INS)에 응답하여, 스크립트 엔진(112), 테스트 데이터 처리부(113), 패키지 거래 처리부(114), 및 온라인 로그 재현부(115) 중 적어도 하나가 해당 동작을 실행할 수 있다.
또, 메인 컨트롤러(111)는 스크립트 엔진(112)으로부터 수신되는 스크립트 데이터들(SCDF1∼SCDFM)(M은 정수)을 테스트 DB(130)에 저장한다. 이때, 메인 컨트롤러(111)는 스크립트 데이터들(SCDF1∼SCDFM)을 각각의 테스트 케이스(즉, 거래 업무) 별로 저장한다. 예를 들어, 금융 업무 프로그램이 특정 계좌에 특정 금액을 입금하는 하나의 거래 업무를 재실행하는 데에 스크립트 데이터들(SCDF1∼SCDF5)이 필요한 경우, 메인 컨트롤러(111)는 스크립트 데이터들(SCDF1∼SCDF5)을 하나의 테스트 케이스 데이터로서 테스트 DB(130)에 저장한다. 또, 메인 컨트롤러(111)는 각 거래 화면에 대한 오브젝트(object) 목록(즉, 각 거래 화면에 사용되는 유저 인터페이스(UI) 목록)을 테스트 DB(130)에 저장한다. 메인 컨트롤러(111)는 테스트 데 이터 처리부(113) 또는 패키지 거래 처리부(114)가 동작할 때, 테스트 DB(130)로부터 스크립트 데이터들(SCDF1∼SCDFM 또는 SCDS1∼SCDSL)(L은 각각 정수)을 판독하여, 테스트 데이터 처리부(113) 또는 패키지 거래 처리부(114)에 출력한다. 메인 컨트롤러(111)는 온라인 로그 재현부(115)가 동작할 때, 테스트 DB(130)로부터 스크립트 데이터들(SCDT1∼SCDTP)(P는 각각 정수)을 판독하여, 온라인 로그 재현부(115)에 출력한다. 여기에서, 스크립트 데이터들(SCDF1∼SCDFM)은 스크립트 엔진(112)이 XML 데이터들(XDAT1∼XDATJ)을 변환함으로써 생성된 데이터들이다. 또, 스크립트 데이터들(SCDS1∼SCDSL)은 이전에 금융 업무 프로그램의 테스트 시 사용된 데이터들이다. 스크립트 데이터들(SCDT1∼SCDTP)은 영업점 금융 단말기(230)에서 실제로 실행된 금융 거래 정보를 포함한다. 스크립트 데이터들(SCDF1∼SCDFM, SCDS1∼SCDSL, SCDT1∼SCDTP)은 각각 특정 거래 업무들과 관련한 이벤트들의 흐름 및 각 이벤트들에 대한 정보들을 포함한다. 스크립트 데이터들(SCDF1∼SCDFM, SCDS1∼SCDSL, SCDT1∼SCDTP)은 통장 계좌 번호, 거래 금액 등과 같은 거래 내역을 나타내는 변수, 일자, 코드값 등을 포함할 수 있다.
스크립트 엔진(112)은 메인 컨트롤러(111) 및 장치 인터페이스부(140)를 통하여 주변기기 제어부(221)로부터 수신된 XML 데이터들(XPD1∼XPDQ)을 스크립트 데이터들(SCP1∼SCPH)로 변환하여 메인 컨트롤러(111)에 출력한다. 또, 스크립트 엔진(112)은 금융 업무 프로그램이 금융 단말기(210)에서 재실행될 때, 메인 컨트롤러(111)를 통하여 테스트 DB(130)로부터 수신되는 스크립트 데이터들(SCP1∼SCPH)를 테스트용 XML 데이터들(TXPDT1∼TXPDTV)로 변환하여 메인 컨트롤러(111)에 출력한다. 스크립트 엔진(112)은 JCM 프로그램(120)으로부터 수신된 XML 데이터들(XDAT1∼XDATJ)을 스크립트 데이터들(SCDF1∼SCDFM)로 변환하여 메인 컨트롤러(111)에 출력한다. 스크립트 엔진(112)은 금융 업무 프로그램이 금융 단말기(210)에서 재실행될 때, 테스트 데이터 처리부(113)로부터 수신되는 테스트 케이스 데이터들(즉, 스크립트 데이터들(SCE1∼SCEG)(G는 정수)), 또는 패키지 거래 처리부(114)로부터 수신되는 테스트 케이스 데이터들(즉, 스크립트 데이터들(SCED1∼SCEDF)(F는 정수)), 또는 온라인 로그 재현부(115)로부터 수신되는 테스트 케이스 데이터들(즉, 스크립트 데이터들(SCDT1∼SCDTP) 중 일부)을 테스트용 XML 데이터들(TXDAT1∼TXDATN)로 변환하여 메인 컨트롤러(111)에 출력한다.
테스트 데이터 처리부(113)는 메인 컨트롤러(111)의 제어에 따라 동작할 수도 있고, 사용자 인터페이스부(117)로부터 수신되는 입력 신호(INS)에 응답하여 동작할 수도 있다. 테스트 데이터 처리부(113)는 메인 컨트롤러(111)를 통하여 테스트 DB(130)로부터 수신되는 스크립트 데이터들(SCDF1∼SCDFM 또는 SCDS1∼SCDSL)을 분석하고, 도 3에 도시된 것과 같이, 사용자가 입력해야 할 데이터 목록을 그리드(grid) 형태로 구성한 편집화면을 사용자 인터페이스부(117)에 포함된 표시 장치(미도시)의 화면상에 출력한다. 그 결과, 사용자는 사용자 인터페이스부(117)에 포함된 입력부(미도시)를 조작하여, 특정 거래 업무에 대해 반복하고 싶은 테스트 횟수만큼 그리드에 라인을 추가하고, 금융 업무 프로그램의 테스트 실행시 금융 단말기(210)의 화면에 입력될 데이터를 그리드의 각 칼럼에 입력한다. 이를 좀 더 상세히 설명하면, 도 3에서, 하나의 행(예를 들어, 실선 박스들로 표시된 행, 즉, 거 래 업무 번호 37, 계좌번호 4001, 거래 금액 20,000, ...)에 포함된 각 데이터들이 하나의 테스트 케이스 데이터이다. 따라서 사용자는 거래 업무(37)에 대해 각기 다른 데이터들을 이용하여 3회의 테스트를 실행하고자 할 경우, 점선 박스들로 표시한 것처럼 행들을 추가한 후, 그 추가한 행들의 각 셀에 해당 데이터를 입력한다. 이때, 사용자는 각 셀에 직접 데이터를 입력할 수도 있지만, 이전의 테스트 시 사용된 거래 업무(37)에 대한 테스트 케이스 데이터들을 입력할 수도 있다. 이러한 테스트 케이스 데이터의 생성 방식에 의해, 사용자는 테스트를 위한 데이터들을 자동화된 방법으로 편리하게 대량으로 생성하여 테스트 자료로 활용할 수 있다. 테스트 데이터 처리부(113)에 의해 편집 및 생성된 테스트 케이스 데이터들(즉, 스크립트 데이터들(SCE1∼SCEG))은 메인 컨트롤러(111)를 통하여, 테스트 DB(130)에 저장될 수 있다. 한편, 테스트 데이터 처리부(113)는 상기 그리드에서 사용자가 통화나 날짜와 같이 정형화되어 있는 수치 값을 입력할 때, 각 라인별로 순차적으로 증가하는 수치 값들이 각각 입력되도록 하는 룰셋(rule-set) 기능을 포함한다. 또, 테스트 데이터 처리부(113)는, 메인 컨트롤러(111)를 통하여 금융 단말기(210) 내의 저장 공간(미도시)에 저장된 기존의 금융 단말기에서 사용하는 코드값들을, 직접 읽어서 사용자에게 보여주는 구분 코드 구성 기능을 포함한다.
패키지 거래 처리부(114)는 메인 컨트롤러(111)의 제어에 따라 동작할 수도 있고, 사용자 인터페이스부(117)로부터 수신되는 입력 신호(INS)에 응답하여 동작할 수도 있다. 패키지 거래 처리부(114)는 상호 연관성이 있는 금융 거래 업무들과 관련한 각각의 테스트 케이스 데이터들을 하나의 패키지 업무로 묶어서 일괄적으로 테스트할 수 있도록 한, 테스트 케이스 데이터들의 조합 기능을 사용자에게 제공한다. 도 5를 참고하여 패키지 거래 처리부(114)의 동작을 좀 더 상세히 설명한다. 예를 들어, 도 5에 도시된 것과 같이, 조회 업무(A) → 입금 업무(B) → 출금 업무(C) → 입금 업무(B) → 출금 업무(C) → 세금 납부 업무(D) → 조회 업무(A)의 순서로 이루어지는 상호 연관된 금융 거래 업무들이 존재할 수 있다. 여기에서, 이들 금융 거래 업무들이 상호 연관된 이유는, 예를 들어, 첫 번째 입금 업무(B)가 처리되지 않을 경우, 이 후에 실행되는 출금 업무(C)는 실행될 수 없기 때문이다. 패키지 거래 처리부(114)는 스크립트 데이터들(SCDF1∼SCDFM 또는 SCDS1∼SCDSL)을 포함하는 복수의 테스트 케이스 데이터들(미도시)을 사용자 인터페이스부(117)의 표시 장치에 표시한다. 여기에서, 하나의 테스트 케이스 데이터가 하나의 금융 거래 업무를 나타낸다. 사용자가 사용자 인터페이스부(117)의 입력부를 조작함에 따라, 패키지 거래 처리부(114)가 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집한다. 이 후, 금융 업무 프로그램의 테스트 시, 패키지 거래 처리부(114)는 편집된 패키지 업무와 관련한 테스트 데이터들(즉, 스크립트 데이터들(SCED1∼SCEDF))을 거래 순서대로 메인 컨트롤러(111)에 출력한다. 사용자는 패키지 거래 처리부(114)를 통하여, 관련된 복수의 금융 거래를 하나로 묶은 패키지 금융 업무에 대한 테스트를 선택할 수 있다. 금융 업무 프로그램의 테스트 과정에서는, 기본적으로 하나의 금융 거래 업무가 하나의 테스트 단위로 간주 된다. 그러나 금융 거래 업무에는, 하나의 거래 업무로부터 파생된 수많은 금융 업무들이 존재하기 때문에, 패키지 업무에 포함되는 복수의 금융 업무들을 각각 순차적으로 실행하도록 하여, 금융 업무 프로그램을 테스트할 필요가 있다. 따라서, 자동 테스트 시스템(100)에 의하면, 상호 연관된 금융 거래 업무에 대한 통합적인 테스트가 가능하다.
온라인 로그 재현부(115)는 메인 컨트롤러(111)의 제어에 따라 동작할 수도 있고, 사용자 인터페이스부(117)로부터 수신되는 입력 신호(INS)에 응답하여 동작할 수도 있다. 온라인 로그 재현부(115)는 테스트 DB(130)에 저장된 스크립트 데이터들(SCDT1∼SCDTP) 중에서 금융 업무 프로그램의 테스트에 이용할 일부를 사용자가 선택하도록 하기 위한 화면을 사용자 인터페이스부(117)의 표시 장치에 출력한다. 이 후, 사용자가 사용자 인터페이스부(117)의 입력부를 조작하여, 스크립트 데이터들(SCDT1∼SCDTP) 중 일부를 선택하기 위한 정보들을 입력하면, 온라인 로그 재현부(115)가 이를 분석하고, 특정 영업 시간 동안의 특정 텔러(teller)(예를 들어, 업무를 가장 많이 수행한 특정 텔러)의 실제 금융 거래 정보를 포함하는 스크립트 데이터들(SCDT1∼SCDTP 중 일부)을 메인 컨트롤러(111)를 통하여 테스트 DB(130)로부터 수신한다. 온라인 로그 재현부(115)는 스크립트 데이터들(SCDT1∼SCDTP 중 일부)을 거래 순서대로 메인 컨트롤러(111)에 출력한다. 온라인 로그 재현부(115)의 동작에 의해, 자동 테스트 시스템(100)은 금융 거래 업무들 중에서 가장 거래가 빈번한 폭주 금융 거래 업무에 대해, 대량의 테스트 데이터를 이용하여 금융 업무 프로그램을 테스트할 수 있다. 또한, 온라인 로그 재현부(115)의 동작에 의해, 자동 테스트 시스템(100)은 금융 기관의 영업일 중 가장 거래가 많은 특정 영업일에 이루어진 거래 업무와 관련한 대량의 테스트 데이터를 이용하여 금융 업무 프로그램을 테스트할 수 있다.
보고서 자동 생성부(116)는 금융 업무 프로그램의 테스트를 위한 재실행 과정 동안, 그 재실행 결과에 따라 금융 단말기(210)에 의해 출력되는 테스트 결과 정보들(TRSLT1∼TRSLTU)(U는 정수)을, 메인 컨트롤러(111)를 통하여 수신한다. 이 후, 보고서 자동 생성부(116)는 테스트 결과 정보들(TRSLT1∼TRSLTU)에 기초하여, 금융 업무 프로그램의 오류 여부를 체크한 후, 테스트 결과 정보들(TRSLT1∼TRSLTU)을 다시 메인 컨트롤러(111)를 통하여, 테스트 DB(130)에 저장한다.
한편, 메인 컨트롤러(111)는 금융 단말기(210)의 테스트 결과 화면들을 각각 캡처(capture)하고, 그 캡처한 이미지 파일들을 보고서 자동 생성부(116)에 출력한다. 보고서 자동 생성부(116)는 메인 컨트롤러(111)로부터 수신한 캡처 이미지 파일들을 가공한다. 여기에서, 보고서 자동 생성부(116)가 캡처 이미지 파일을 가공하는 동작을 좀 더 상세히 설명한다. 일반적으로, 금융 업무 프로그램의 테스트 결과에 따라 금융 단말기(210)는 그 결과 화면을 출력한다. 이 결과 화면에는 고객의 계좌번호나 이름 등이 표시된다. 하지만, 보안 규정상 이러한 고객 정보는 테스트 결과 보고서에서 보이지 않도록 처리해야 한다. 따라서, 보고서 자동 생성부(116)는 캡처 이미지 파일에 포함되는, 하나의 테스트 케이스(즉, 하나의 금융 거래 업무)에 대한 결과 화면 이미지에서, 고객의 개인정보가 표시된 부분 위에 검은색 등으로 된 스텐실 이미지를 겹친 채로, 결과 화면 이미지와 스텐실 이미지를 하나의 이미지로 가공한다. 이 후, 보고서 자동 생성부(116)는 가공된 이미지 파일과 테스트 결과 내용을 포함하는 테스트 결과 보고서 파일(TREPORT)을 생성한다. 여기에 서, 보고서 자동 생성부(116)에 의해 가공된 이미지 파일은, 상기 결과 화면 이미지(즉, 원본 이미지)를 복구할 수 없는 상태로 된다. 따라서, 이 가공된 이미지 파일이 외부에 유출되더라도 고객의 개인 정보가 유출되는 것이 방지될 수 있다. 이 후, 보고서 자동 생성부(116)는 테스트 결과 보고서 파일(TREPORT)을 메인 컨트롤러(111)를 통하여 테스트 DB(130)에 저장한다.
JCM 프로그램(120)은 메인 컨트롤러(111)의 제어에 따라 동작한다. JCM 프로그램(120)은 메인 컨트롤러(111)로부터 기록 명령(REC)을 수신하면, 금융 단말기(210)에서 금융 업무 프로그램이 실행될 때 발생하는 이벤트 정보들을, 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 포함하는 XML 데이터들(XDAT1∼XDATJ)로 변환하여, 메인 컨트롤러(111)에 출력한다. 여기에서, 금융 단말기(210)는 새로 개발된 금융 업무 프로그램을 테스트할 때에만 사용되는 테스트 전용 단말기이다. 이처럼 금융 업무 프로그램의 테스트를 위해, 테스트 전용 금융 단말기(210)가 사용되는 이유는, 금융 업무 프로그램의 테스트를 위해, 실제로 금융 기관 내에서 사용되는 영업점 금융 단말기(230)가 사용될 경우, 실제의 금융 거래가 이루어지기 때문이다. 따라서, 금융 업무 프로그램을 테스트할 때에는 테스트 전용 금융 단말기(210)에 의해 가상의 금융 거래가 이루어지도록 하고 있다. 한편, 도 1에서 상세한 도시가 생략되었지만, 테스트 전용 금융 단말기(210)에 의한 가상의 금융 거래를 위해, 테스트 전용 금융 단말기(210)에는 영업점 금융 단말기(230)에 연결된 금융 시스템들과 동일한 형태의 테스트 전용 금융 시스템들(예를 들어, 책임자의 단말기, 외부 금융 기관 서버의 기능을 대행하는 호스트 서버 등)이 연결될 수 있다.
JCM 프로그램(120)이 이벤트 정보들을 XML 데이터들(XDAT1∼XDATJ)로 변환하는 동작과 관련한 내용을 상세히 설명하면 다음과 같다. 금융 기관 내에서 사용되는 금융 업무 프로그램은 현재 애플릿(applet) 형식의 프로그램이다. 예를 들어, 사용자가 금융 단말기(210)를 통하여 하나의 금융 거래 업무를 실행할 때, 애플릿은 수많은 이벤트들(즉, 버튼 클릭, 콤보 선택, 숫자 입력 등)을 발생시킨다. 이때, JCM 프로그램(120)은 이 이벤트가 발생하는 객체의 ID와 이벤트 종류를 XML 형식의 XML 데이터들(XDAT1∼XDATJ)로 변환한다. 도 2에 도시된 거래 업무 화면을 참고하면, 하나의 금융 거래 업무를 실행시키기 위해, 사용자가 입력해야 할 정보들이 표시되어 있다. 사용자는 금융 단말기(210)를 조작하여, 거래 업무 번호(37) → 계좌 번호(4001) → 거래 금액(20,000) → ... → 거래 확인의 순서로 입력한다. 이때, 사용자가 거래 화면에 표시된 정보들에 해당 데이터를 모두 입력한 후, 거래 확인 버튼을 입력하면 하나의 금융 거래 업무가 완료된다. JCM 프로그램(120)은 사용자가 거래 화면에 입력한 순서대로 하나씩 발생된 이벤트들을 추적한다. 즉, JCM 프로그램(120)은 키보드 후킹(Keyboard Hooking), 및 마우스 후킹(Mouse Hooking) 기능에 의해, 사용자가 금융 단말기(210)를 조작할 때, 키보드, 마우스 등의 움직임을 추적한다. 이 후, JCM 프로그램(120)은 이벤트 정보들을 XML 데이터들(XDAT1∼XDATJ)로 변환한다. 예를 들어, 사용자가 거래 업무 번호의 입력란에 "37"을 입력할 때, 거래 업무 번호(37)에 대한 하나의 이벤트가 발생한다. 이와 마찬가지로, 사용자가 계좌 번호의 입력란에 "4001"을 입력할 때에도, 계좌 번호(4001)에 대한 하나의 이벤트가 발생한다.
또, JCM 프로그램(120)은 메인 컨트롤러(111)로부터 재실행 명령(REP)을 수신하고, 테스트용 XML 데이터들(TXDAT1∼TXDATN)을 수신하면, 테스트용 XML 데이터들(TXDAT1∼TXDATN)에 기초하여 다시 순서대로 이벤트들을 발생시킨다. 그 결과, 마치 애플릿이 자동으로 동작하는 것과 동일한 과정이 금융 단말기(210) 내에서 재실행된다. 금융 단말기(210) 내에 포함된 컨트롤러(미도시)가 기록 명령(REC) 또는 재실행 명령(REP)에 응답하여 JCM 프로그램과, 금융 업무 프로그램을 실행한다.
테스트 DB(130)는 메인 컨트롤러(111)로부터 수신되는 스크립트 데이터들(SCDF1∼SCDFM)을 저장한다. 테스트 DB(130)에는 이전에 금융 업무 프로그램의 테스트 시 사용된 스크립트 데이터들(SCDS1∼SCDSL)이 누적되어 저장될 수 있다. 또, 테스트 DB(130)는 테스트 데이터 처리부(113)에 의해 편집 및 생성된 스크립트 데이터들(SCE1∼SCEG)을 더 저장할 수 있다. 테스트 DB(130)는 영업점 금융 단말기(230)에서 실제로 실행된 금융 거래 정보를 포함하는 스크립트 데이터들(SCDT1∼SCDTP)을 더 저장할 수 있고, 메인 컨트롤러(111)로부터 수신되는 테스트 결과 보고서 파일(TREPORT)을 저장한다. 이 경우, 각 데이터들은 테스트 DB(130)의 서로 다른 저장 영역에 각각 저장될 수 있다.
장치 인터페이스부(140)는 메인 컨트롤러(111)와 주변기기부(220) 간의 송수신 신호를 상호 인터페이스 한다. 여기에서, 주변기기부(220)는 주변기기 제어부(221), 핀 패드(pin pad)(222), 직불카드 발급기(223), IC 리더기(224), 통장 프린터(225), 및 통장 리더기(226) 등을 포함할 수 있다. 도 1에서는, 자동 테스트 시스템(100)에 주변기기부(220)가 포함되지 않는 것으로 도시되었지만, 자동 테스 트 시스템(100)은 주변기기부(220)를 더 포함할 수 있다.
주변기기 제어부(221)는 장치 인터페이스부(140)를 통하여 메인 컨트롤러(111)로부터 기록 명령(REC) 또는 재실행 명령(REP)을 수신한다. 주변기기 제어부(221)는 기록 명령(REC)에 응답하여, 주변기기들의 동작에 따른 이벤트 정보들을 XML 데이터들(XPD1∼XPDQ)로 변환하여 메인 컨트롤러(111)에 출력한다. 또, 주변기기 제어부(221)는 장치 인터페이스부(140)를 통하여 메인 컨트롤러(111)로부터 수신되는 재실행 명령(REP) 및 테스트용 XML 데이터들(TXPDT1∼TXPDTV)에 기초하여, 주변기기들의 동작을 대행한다. 즉, 주변기기 제어부(221)는 테스트용 XML 데이터들(TXPDT1∼TXPDTV)에 기초하여, 핀 패드(222), 직불카드 발급기(223), IC 리더기(224), 통장 프린터(225), 및 통장 리더기(226) 등의 주변기기들 중 적어도 하나가 동작할 때 출력하는 데이터 신호와 동일한 데이터 신호를 발생하여 금융 단말기(210)에 출력한다.
따라서, 해당 주변기기가 실제로 동작하지 않더라도, 금융 단말기(210)는 주변기기 제어부(221)로부터 데이터 신호를 수신하고, 해당 주변기기가 동작한 것으로 인식한다. 이 경우, 다수의 주변 기기들의 동작을 하나의 주변기기 제어부(221)가 전담하므로, 주변 기기들의 소모적인 반복 동작에 따라 증가할 수 있는 테스트 시간이 절약될 수 있다. 또한, 사용자는 금융 업무 프로그램의 테스트 시, 주변 기기들의 동작을 위한 조작(예를 들어, 핀 패드(222)에 계좌의 비밀번호를 입력하거나, 또는 통장 프린터(225)에 통장을 삽입하는 등의 조작)을 할 필요가 없다. 상술한 것과 같이, 주변기기 제어부(221)는 자동 테스트 시스템(100)이 사람의 개입 없이 금융 업무 프로그램을 자동으로 테스트할 수 있도록 한다.
책임자 승인 처리기(150)는 금융 업무 프로그램이 재실행되는 동안(즉, 금융 업무 프로그램의 테스트 시), 금융 단말기(210)로부터 책임자 승인 요청 메시지(REQM)를 수신할 때, 승인 요청 메시지(REQM)에 포함된 정보들(즉, 텔러의 ID 정보 및 업무 ID 정보)을 승인 DB(170)에 저장된 정보들에 대조하고, 그 대조 결과에 따라 자동 승인 정보(APP)를 승인 DB(170) 저장한 후, 금융 단말기(210)에 승인 완료 메시지(FINM)를 출력한다. 그 결과, 금융 단말기(210)가 승인 DB(170)에 저장된 자동 승인 정보(APP)를 확인 한 후, 다음 업무를 진행한다. 여기에서, 승인 DB(170) 내에는 아래의 표들에서 나타낸 것과 같은 테이블 정보가 저장된다.
텔러 ID 정보 승인 책임자 ID 정보
101 201
102 202
.
.
.
.
.
.
111 222
[표 1]에서 참조되는 것과 같이, 각 텔러에 대한 승인 처리는 각 텔러별로 정해진 책임자에 의해서 실행된다. 따라서, 책임자 승인 처리기(150)는 금융 업무 프로그램이 재실행되는 동안(즉, 금융 업무 프로그램의 테스트 시), 금융 단말기(210)로부터 책임자 승인 요청 메시지(REQM)를 수신할 때, 승인 요청 메시지(REQM)에 포함된 정보(즉, 텔러의 ID 정보)를 승인 DB(170)에 저장된 정보에 대조하고, 승인 요청한 텔러에 해당하는 승인 책임자의 자동 승인 정보(APP)를 승인 DB(170) 저장한다.
텔러 ID 정보 업무 ID 정보 승인 책임자 ID 정보 승인 여부 정보
101 301 201 Y
102 302 202 -
.
.
.
.
.
.
.
.
.
.
.
.
책임자 승인 처리기(150)가 승인 요청한 텔러에 해당하는 승인 책임자의 자동 승인 정보(APP)를 승인 DB(170) 저장할 때, [표 2]에 표시된 것과 같이, 승인 여부 정보 란에 "Y"를 입력하여 저장한다. 그 결과, 금융 단말기(210)가 책임자 승인 처리기(150)로부터 수신되는 승인 완료 메시지(FINM)에 응답하여, 승인 DB(170)의 승인 여부 정보에 기초하여, 승인 여부를 확인한 후, 다음의 업무를 진행한다.
책임자의 승인과 관련하여, 좀 더 상세히 설명하면, 예를 들어, 은행과 같은 금융 기관 내에서는 금융 업무 담당자가 특정 금액 이상의 돈을 이체할 경우, 영업점의 상사(즉, 책임자)에게 승인을 받아야 한다. 전산적으로 금융 업무 담당자가 책임자의 승인을 요청할 경우, 해당 책임자의 단말기에 승인 요청 메시지가 전달되며, 이를 확인한 책임자는 해당 거래를 승인한다. 이 후 금융 업무 담당자는 해당 금액을 이체할 수 있다. 자동 테스트 시스템(100)이 금융 업무 프로그램을 테스트하는 과정에서도, 각 거래 업무에 따라 책임자의 승인이 필요한 경우가 발생할 수 있다. 이 경우, 책임자 승인 처리기(150)가 원격의 책임자의 단말기에서 승인이 실행되는 것처럼 자동으로 승인을 대행한다. 따라서 책임자 승인 처리기(150)는 자동 테스트 시스템(100)이 사람의 개입 없이 금융 업무 프로그램을 자동으로 테스트할 수 있도록 한다.
로그 데이터 수집기(160)는 금융 기관 내에서 사용되는 영업점 금융 단말기들(230)에 각각 저장된 로그 데이터들(LGDT1∼LGDTV)(V는 정수) 중 일부 또는 전체를 주기적으로 자동 수집한다. 영업점 금융 단말기들(230)은 금융 기관 내에서 사용되는 영업점 DB(240)에 주기적으로 로그 데이터들(LGDT1∼LGDTV)을 저장할 수 있다. 그 결과, 로그 데이터 수집기(160)는 영업점 DB(240)에 저장된 로그 데이터들(LGDT1∼LGDTV) 중 일부 또는 전체를 자동 수집한다. 로그 데이터 수집기(160)는 로그 데이터들(LGDT1∼LGDTV) 중 일부 또는 전체에 기초하여 스크립트 데이터들(SCDT1∼SCDTP)을 생성하여, 테스트 DB(130)에 저장한다. 로그 데이터 수집기(160)는 로그 데이터들(LGDT1∼LGDTV)을 수집할 때, 테스트에 필요한 데이터만을 수집하고, 로그 데이터들(LGDT1∼LGDTV)로부터 발생된 스크립트 데이터들 중에서, 테스트 DB(130)에 저장된 스크립트 데이터들(SCDF1∼SCDFM, SCDS1∼SCDSL)에 매칭되는 스크립트 데이터들(SCDT1∼SCDTP)만을 수집한다. 예를 들어, 도 4에 도시된 것과 같이, 동일한 금융 거래 업무(37)에 대해, 변경 전의 금융 업무 프로그램과, 변경 후의 금융 업무 프로그램은, 입력 화면이 서로 다를 수 있다. 여기에서, 영업점 금융 단말기(230)가 변경 전의 금융 업무 프로그램을 사용하여 금융 거래 업무를 처리하고, 그 결과로서 로그 데이터를 생성하고, 자동 테스트 시스템(100)이 변경 후의 금융 업무 프로그램을 테스트하는 경우가 존재할 수 있다. 이 경우, 로그 데이터 수집기(160)는 변경 후의 금융 업무 프로그램의 재실행을 위해 필요한 "거래업무번호(37)", "계좌번호(4001)", "거래금액(20,000)", ...., "거래확인"을 나타내는 스크립트 데이터들만을 수집한다. 또, 로그 데이터 수집기(160)는 변경 후의 금융 업무 프로그램이 재실행되는데에 필요하지 않은 "비밀 번호(1234)"를 나타내는 스크립트 데이터를 수집하지 않는다. 또, 변경 전의 금융 업무 프로그램에서 존재하는 금융 업무(예를 들어, 50)가 변경 후의 금융 업무 프로그램에는 포함되지 않을 수도 있다. 이 경우, 로그 데이터 수집기(160)는 금융 업무(50)에 대한 스크립트 데이터들을 수집하지 않는다. 결국, 로그 데이터 수집기(160)는 로그 데이터로부터 변환된 스크립트 데이터들을, 테스트 DB(130)에 저장된 스크립트 데이터들(SCDF1∼SCDFM, SCDS1∼SCDSL)에 대조하면서, 필요한 스크립트 데이터들만을 수집한다. 따라서, 자동 테스트 시스템(100)은 로그 데이터로부터 발생된 각 테스트 케이스의 스크립트 데이터들을 재사용하여 금융 업무 프로그램을 테스트할 수 있다. 그 결과, 자동 테스트 시스템(100)은 금융 기관의 특정 영업일, 특정 텔러의 실거래 데이터를 이용하여, 실제의 거래와 동일하게 금융 업무 프로그램을 테스트할 수 있다. 여기에서, 로그 데이터에 대해 간략히 설명하면 다음과 같다. 통상적으로, 금융 기관 내에서 사용되는 영업점 금융 단말기(230)는 하나의 금융 거래 업무에 대해 하나의 로그 데이터를 반드시 발생한다. 로그 데이터는 해당 업무의 내용, 처리 행원의 번호, 및 금융 단말기를 통하여 입력된 모든 수치 값들을 포함한다. 각 금융 거래 업무에 대한 로그 데이터들은 영업점 금융 단말기(230) 내에 저장되거나, 또는 영업점 DB(240)에 저장된다. 금융 기관에서 각 금융 거래 업무에 대한 로그 데이터들을 보유하고 있는 이유는, 추후에 특정 금융 거래에 대한 사고 발생 시, 금융 담당자가 영업점 금융 단말기(230) 또는 영업점 DB(240)에 저장된 로그 데이터를 이용하여, 응급 대처할 수 있도록 하기 위함이다.
다음으로, 자동 테스트 시스템(100)의 동작 과정을 상세히 설명한다.
사용자 인터페이스부(117)를 통하여, 사용자(또는 테스트 담당자)가 자동 테스트 시스템(100)의 기록 동작을 선택한다. 그 결과, 메인 컨트롤러(111)가 JCM 프로그램(120) 및 주변기기 제어부(221)에 기록 명령(REC)을 출력한다. 이 후, 사용자는 금융 단말기(210)를 조작하여, 금융 단말기(210)에 탑재된 변경된 금융 업무 프로그램을 실행시키고, 각 금융 거래 업무별로 최초로 한번 씩 거래 업무를 수행한다. 이때, 사용자는 주변기기부(220)에 포함된 주변기기들의 동작이 필요한 금융 업무에 대해서는 각 주변기기들이 실제로 동작하도록 주변기기들을 조작한다. JCM 프로그램(120)은 기록 명령(REC)에 응답하여, 금융 단말기(210)에서 발생되는 이벤트 정보들을 XML 데이터들(XDAT1∼XDATJ)로 변환하여 출력한다. 또, 주변기기 제어부(221)는 기록 명령(REC)에 응답하여, 주변기기들의 동작에 따른 이벤트 정보들을 XML 데이터들(XPD1∼XPDQ)로 변환하여 출력한다.
메인 컨트롤러(111)는 JCM 프로그램(120)으로부터 수신되는 XML 데이터들(XDAT1∼XDATJ)을 스크립트 엔진(112)에 출력하고, 장치 인터페이스부(140)를 통하여 주변기기 제어부(221)로부터 수신되는 XML 데이터들(XPD1∼XPDQ)을 스크립트 엔진(112)에 출력한다. 스크립트 엔진(112)은 XML 데이터들(XDAT1∼XDATJ)을 스크립트 데이터들(SCDF1∼SCDFM)로 변환하고, XML 데이터들(XPD1∼XPDQ)을 스크립트 데이터들(SCP1∼SCPH)로 변환한다. 이 후, 스크립트 엔진(112)은 스크립트 데이터들(SCDF1∼SCDFM) 및 스크립트 데이터들(SCP1∼SCPH)을 메인 컨트롤러(111)에 다시 출력한다. 메인 컨트롤러(111)는 스크립트 데이터들(SCDF1∼SCDFM) 및 스크립트 데이터들(SCP1∼SCPH)을 테스트 DB(130)에 저장한다. 상술한 JCM 프로그램(120), 주변기기 제어부(221), 스크립트 엔진(112), 및 메인 컨트롤러(111)에 의한, 금융 업무 및 주변기기 동작에 따른 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 동작은 하나의 금융 업무 단위로 실행된다. 이 과정은 금융 업무 프로그램의 각 금융 업무별 이벤트들의 흐름과 각 이벤트들에 대한 입력 데이터들, 및 주변기기의 동작 정보를 스크립트화 하기 위한, 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 과정이다.
이 후, 사용자가 금융 업무 프로그램의 전체 금융 업무를 모두 수행하면, 사용자 인터페이스부(117)를 통하여, 자동 테스트 시스템(100)의 재실행 동작을 선택한다. 이때, 사용자는 금융 업무 프로그램을 재실행 시키는데 사용될 테스트 케이스 데이터들을 선택하거나, 또는 생성한다. 즉, 사용자는 테스트 DB(130)에 저장된 스크립트 데이터들(SCDF1∼SCDFM, SCDS1∼SCDSL, SCDT1∼SCDTP) 중에서 일부 스크립트 데이터들을 선택하거나, 또는 선택한 스크립트 데이터들을 편집한다. 여기에서, 사용자가 필요에 따라 스크립트 정보들을 변경하여 금융 업무 프로그램의 재실행 시 입력되는 값들을 변경할 수 있다. 한편, 테스트 데이터 처리부(113)는 사용자에게 테스트 케이스 데이터들의 편집 기능을 제공한다. 또, 사용자는 패키지 거래 처리부(114)의 기능을 이용하여, 상호 관련된 복수의 금융 거래 업무를 하나의 패키지 업무로 편집할 수 있다. 또, 사용자는 온라인 로그 재현부(115)의 기능을 이용하여, 테스트 DB(130)에 저장된 실제의 금융 거래에 따른 테스트 케이스 데이터를 선택할 수 있다. 여기에서, 하나의 금융 거래 업무, 즉, 하나의 테스트 케이스는 금융 업무 프로그램을 테스트하기 위한 하나의 단위이다. 테스트 케이스는 여러 줄의 스크립트 데이터들로 구성되어 있다.
이 후, 메인 컨트롤러(111)가 사용자에 의해 선택 또는 편집된 테스트용 스크립트 데이터들(즉, SCE1∼SCEG, 또는 SCED1∼SCEDF, 또는 SCDT1∼SCDTP 중 일부)을, 테스트 데이터 처리부(113), 또는 패키지 거래 처리부(114), 또는 온라인 로그 재현부(115)로부터 수신한다. 메인 컨트롤러(111)는 테스트용 스크립트 데이터들(SCE1∼SCEG, 또는 SCED1∼SCEDF, 또는 SCDT1∼SCDTP 중 일부)을 스크립트 엔진(112)에 출력한다. 또, 메인 컨트롤러(111)는 스크립트 데이터들(SCP1∼SCPH)을 테스트 DB(130)로부터 판독하여 스크립트 엔진(112)에 출력한다. 스크립트 엔진(112)은 테스트용 스크립트 데이터들(SCE1∼SCEG, 또는 SCED1∼SCEDF, 또는 SCDT1∼SCDTP 중 일부)을 테스트용 XML 데이터들(TXDAT1∼TXDATN)로 변환하여, 메인 컨트롤러(111)에 출력한다. 또, 스크립트 엔진(112)은 스크립트 데이터들(SCP1∼SCPH)을 테스트용 XML 데이터들(TXPDT1∼TXPDTV)로 변환하여 메인 컨트롤러(111)에 출력한다. 메인 컨트롤러(111)는 JCM 프로그램(120)과 주변기기 제어부(221)에 재실행 명령(REP)을 출력한다. 또, 메인 컨트롤러(111)는 JCM 프로그램(120)에 테스트용 XML 데이터들(TXDAT1∼TXDATN)을 출력하고, 주변기기 제어부(221)에 테스트용 XML 데이터들(TXPDT1∼TXPDTV)을 출력한다. 그 결과, JCM 프로그램(120)이 테스트용 XML 데이터들(TXDAT1∼TXDATN)에 기초하여 다시 순서대로 이벤트들을 발생시키고, 주변기기 제어부(221)가 테스트용 XML 데이터들(TXPDT1∼TXPDTV)에 기초하여, 해당 주변기기의 동작 시 발생되는 데이터 신호와 동일한 데이터 신호를 금융 단말기(210)에 출력한다. 즉, 주변기기 제어부(221)는 마치 주변기기들이 실제로 동작하는 것과 유사한 테스트 환경을 금융 단말기(210)에 제공한다. 그 결과, 금융 단말기(210) 내에서 금융 업무 프로그램 및 주변기기들의 동작이 재실행된다. 금융 업무 프로그램의 재실행 과정에서, 금융 단말기(210)로부터 책임자 승인 요청 메시지(REQM)를 수신할 때, 책임자 승인 처리기(150)는 승인 요청 메시지(REQM)에 포함된 정보들을 승인 DB(170)에 저장된 정보들에 대조하고, 그 대조 결과에 따라 자동 승인 정보(APP)를 승인 DB(170) 저장한 후, 금융 단말기(210)에 승인 완료 메시지(FINM)를 출력한다. 그 결과, 금융 단말기(210)가 승인 DB(170)에 저장된 자동 승인 정보(APP)를 확인 한 후, 다음 업무를 진행한다.
이 후, 보고서 자동 생성부(116)는 금융 업무 프로그램의 재실행 결과에 따라 금융 단말기(210)에 의해 출력되는 테스트 결과 정보들(TRSLT1∼TRSLTU)(U는 정수)을, 메인 컨트롤러(111)를 통하여 수신한다. 보고서 자동 생성부(116)는 테스트 결과 정보들(TRSLT1∼TRSLTU)에 기초하여, 금융 업무 프로그램의 오류 여부를 체크한 후, 테스트 결과 정보들(TRSLT1∼TRSLTU)을 다시 메인 컨트롤러(111)에 출력한다. 메인 컨트롤러(111)는 테스트 결과 정보들(TRSLT1∼TRSLTU)을 테스트 DB(130)에 저장한다.
한편, 메인 컨트롤러(111)는 금융 단말기(210)의 테스트 결과 화면들을 각각 캡처(capture)하고, 그 캡처한 이미지 파일들을 보고서 자동 생성부(116)에 출력한다. 보고서 자동 생성부(116)는 메인 컨트롤러(111)로부터 수신한 캡처 이미지 파일들을 가공한다. 여기에서, 보고서 자동 생성부(116)가 캡처 이미지 파일을 가공하는 동작을 좀 더 상세히 설명한다. 일반적으로, 금융 업무 프로그램의 테스트 결과에 따라 금융 단말기(210)는 그 결과 화면을 출력한다. 이 결과 화면에는 고객의 계좌번호나 이름 등이 표시된다. 하지만, 보안 규정상 이러한 고객 정보는 테스트 결과 보고서에서 보이지 않도록 처리해야 한다. 따라서, 보고서 자동 생성부(116)는 캡처 이미지 파일에 포함되는, 하나의 테스트 케이스(즉, 하나의 금융 거래 업무)에 대한 결과 화면 이미지에서, 고객의 개인정보가 표시된 부분 위에 검은색 등으로 된 스텐실 이미지를 겹친 채로, 결과 화면 이미지와 스텐실 이미지를 하나의 이미지로 가공한다. 이 후, 보고서 자동 생성부(116)는 가공된 이미지 파일과 테스트 결과 내용을 포함하는 테스트 결과 보고서 파일(TREPORT)을 생성한다. 여기에서, 보고서 자동 생성부(116)에 의해 가공된 이미지 파일은, 상기 결과 화면 이미지(즉, 원본 이미지)를 복구할 수 없는 상태로 된다. 따라서, 이 가공된 이미지 파일이 외부에 유출되더라도 고객의 개인 정보가 유출되는 것이 방지될 수 있다. 이 후, 보고서 자동 생성부(116)는 테스트 결과 보고서 파일(TREPORT)을 메인 컨트롤러(111)에 출력한다. 메인 컨트롤러(111)는 테스트 결과 보고서 파일(TREPORT)을 테스트 DB(130)에 저장한다.
따라서, 프로그램 개발자는 테스트 DB(130)에 저장된 테스트 결과 보고서 파일(TREPORT)을 토대로 거래 차이를 확인하고, 금융 업무 프로그램의 오류를 확인할 수 있다. 여기에서, 금융 업무 프로그램의 오류는 예를 들어, 데이터 오류, 보안 오류, 스크립트 명령에 따른 해당 모듈 실행의 실패 오류 등을 포함할 수 있다. 자동 테스트 시스템(100)에 의하면, 금융 업무 프로그램을 일체 변형하지 않는 테스트(즉, 블랙박스(black box) 테스트)가 가능하고, 동일한 금융 업무에 대해 다량의 데이터를 이용하여 테스트를 반복 수행함으로써 다양한 거래에 대한 테스트가 가능하다. 또, 자동 테스트 시스템(100)은 상호 연관성이 있는 금융 거래 업무들을 하나의 패키지로 묶어서 일괄적으로 테스트할 수 있다. 이 경우, 자동 테스트 시스템(100)은 패키지 금융 업무에 포함되는 복수의 금융 업무들이 각각 순차적으로 실행되도록, 금융 업무 프로그램을 재실행시킨다. 따라서, 자동 테스트 시스템(100)에 의하면, 상호 연관된 금융 거래 업무에 대한 통합적인 테스트가 가능하다.
자동 테스트 시스템(100)에서는, 테스트 DB(130)에, 금융 업무 프로그램의 테스트 시 발생된 오류에 대한 정보(즉, 테스트 결과 정보)와, 오류가 발생된 금융 거래 업무에 대한 정보(즉, 금융 업무 또는 패키지 금융 업무에 대한 스크립트 데이터들)가 모두 저장된다. 따라서, 사용자에 의해 금융 업무 프로그램에 대한 테스트 요청이 수시로 이루어지는 경우, 또는 테스트 시 발생한 오류에 대해 프로그램 개발자가 금융 업무 프로그램을 수정한 후, 수정한 금융 업무 프로그램을 다시 테스트할 때, 자동 테스트 시스템(100)이 이전의 테스트 시 발생한 오류와 관련된 해당 금융 거래 업무를 우선적으로 즉시 테스트하여, 해당 오류가 해소되었는지의 여부를 신속하게 체크할 수 있다. 또한, 수정한 금융 업무 프로그램을 다시 테스트할 때에는, 자동 테스트 시스템(100)이 상술한 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 과정을 생략하고, 금융 업무 프로그램을 재실행시키는 과정만을 반복할 수 있다. 즉, 자동 테스트 시스템(100)은 해당 금융 업무 프로그램에 대한 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 동작을 초기에 한 번만 실행한다. 이 후, 자동 테스트 시스템(100)은 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대한 기록이 완료된 금융 업무 프로그램을 사용자가 원하는 횟수만큼 반복적으로 재실행시킴으로써, 테스트 할 수 있다. 한편, 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록이 실행되지 않은 새로 개발된 금융 업무 프로그램을 테스트 하기 위해서는, 자동 테스트 시스템(100)이 상술한 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 과정을 실행한 후, 새로 개발된 금융 업무 프로그램을 재실행시킨다.
상술한 것과 같이, 자동 테스트 시스템(100)은 금융 업무 프로그램의 테스트 시간 및 비용을 대폭적으로 줄일 수 있다. 또, 자동 테스트 시스템(100)은 금융 업무 프로그램이 금융 기관의 금융 시스템에 적용되기 이전, 또는 이후, 또는 해당 금융 기관의 영업 시간 중에라도 언제든 필요할 때 금융 업무 프로그램을 테스트할 수 있다. 해당 금융 기관의 영업 시간 중에 금융 업무 프로그램을 테스트할 경우, 자동 테스트 시스템(100)은 별도로 분리된 테스트용 금융 단말기를 통하여 금융 업무 프로그램을 테스트하므로, 영업 중 사용되는 금융 단말기들의 동작에는 전혀 영향을 주지 않는다. 자동 테스트 시스템(100)은 금융 업무 프로그램의 테스트 시, 책임자 자동 승인 및 주변기기의 자동화를 통하여, 사람의 개입 없이 신속하고 신뢰성 있는 테스트를 실행할 수 있다.
도 6은 본 발명의 제2 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다. 자동 테스트 시스템(300)은 테스트 DB(310), 책임자 승인 처리기(320), 로그 데이터 수집기(330), 승인 DB(340), 중앙 제어기(350), 복수의 테스트 자동화 처리부들(TA1∼TAK)(K는 정수), 복수의 장치 인터페이스부들(IF1∼IFK)(K는 정수), 및 복수의 JCM 프로그램들(M1∼MK)과 복수의 금융 업무 프로그램들이 각각 저장된 복수의 금융 단말기(FT1∼FTK)내의 저장 공간들(미도시)을 포함한다. 도면의 간략화를 위해, 도 6에는 JCM 프로그램들(M1∼MK)이 JCM으로만 도시된다.
자동 테스트 시스템(300)은 복수의 금융 단말기들(FT1∼FTK)에 각각 탑재된 금융 업무프로그램을 동시에 테스트할 수 있다. 자동 테스트 시스템(300)의 구성 및 구체적인 동작은 상술한 자동 테스트 시스템(100)과 유사하므로, 본 실시예에서는 설명의 중복을 피하기 위해, 자동 테스트 시스템들(300, 100) 간의 차이점을 중심으로 설명하기로 한다. 자동 테스트 시스템들(300, 100) 간의 차이점은 자동 테스트 시스템(300)이 복수의 테스트 자동화 처리부들(TA1∼TAK), 복수의 장치 인터페이스부들(IF1∼IFK)을 포함하는 것이다. 복수의 테스트 자동화 처리부들(TA1∼TAK) 및 복수의 JCM 프로그램들(M1∼MK)에 의해, 복수의 금융 단말기들(FT1∼FTK) 각각에 대한 테스트 케이스 데이터(즉, 스크립트 데이터들)를 분배할 수 있다. 따라서, 복수의 JCM 프로그램들(M1∼MK)에 의해, 금융 단말기들(FT1∼FTK)에 탑재된 금융 업무 프로그램들이 서로 다른 금융 거래 업무를 실행하도록 할 수 있다. 즉, 금융 단말기들(FT1∼FTK)에 대해 서로 다른 금융 업무의 테스트가 실시될 수 있다. 예를 들어, 금융 단말기(FT1)에서는 금융 업무들(A, B, C)에 대한 테스트가 실행될 수 있고, 금융 단말기(FT2)에서는 금융 업무들(X, Y, Z)에 대한 테스트가 실행될 수 있다. 한편, 금융 단말기들(FT1∼FTK) 각각의 금융 업무 프로그램의 재실행 과정에서 주변기기의 동작이 필요한 경우, 주변기기부들(P1∼PK)에 각각 포함된 주변기기 제어부가, 주변기기가 실제로 동작하는 것과 유사한 테스트 환경을 금융 단말기들(FT1∼FTK)에 각각 제공한다. 또, 금융 업무 프로그램의 재실행 과정에서, 금융 단말기들(FT1∼FTK)로부터 책임자 승인 요청 메시지들(REQM1∼REQMK)을 수신할 때, 책임자 승인 처리기(320)가 책임자 승인 요청 메시지들(REQM1∼REQMK)을 승인 DB(340)에 저장된 정보들에 대조하고, 그 대조 결과에 따라 자동 승인 정보들(APP1∼APPK)을 승인 DB(340) 저장한 후, 금융 단말기들(FT1∼FTK)에 승인 완료 메시지(FINM1∼FINMK)를 각각 출력한다. 그 결과, 금융 단말기들(FT1∼FTK)이 승인 DB(340)에 저장된 자동 승인 정보들(APP1∼APPK)을 각각 확인한 후, 다음 업무를 각각 진행한다. 중앙 제어기(350)는 복수의 테스트 자동화 처리부들(TA1∼TAK)의 동작을 제어한다. 한 명의 사용자가 원격에서 중앙 제어기(350)를 사용하여, 복수의 테스트 자동화 처리부들(TA1∼TAK)의 금융 업무 프로그램 자동 테스트 동작을 각각 실행시킬 수 있다.
한편, 도 6에서는, 자동 테스트 시스템(300)에 주변기기부들(P1∼PK)이 포함되지 않는 것으로 도시되었지만, 자동 테스트 시스템(300)은 주변기기부들(P1∼PK)을 더 포함할 수 있다.
도 7은 본 발명의 제3 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다. 자동 테스트 시스템(400)은 금융 단말기(401), 테스트 DB(402), 책임자 승인 처리기(403), 승인 DB(404), 로그 데이터 수집기(405), 및 주변기기부(406)를 포함한다. 금융 단말기(401)는 테스트 자동화 처리부(410), JCM 프로그램(420)과 금융 업무 프로그램(450)이 저장된 저장공간(미도시), 장치 인터페이스부(430), 및 사용자 인터페이스부(440)를 포함한다. 도면의 간략화를 위해, 도 6에는 JCM 프로그램(420)이 JCM으로만 도시된다.
금융 단말기(401) 내의 저장 공간(미도시)에는 금융 업무 프로그램(450)이 저장된다. 테스트 자동화 처리부(410)는 메인 컨트롤러(411), 스크립트 엔진(412), 테스트 데이터 처리부(413), 패키지 거래 처리부(414), 온라인 로그 재현부(415), 및 보고서 자동 생성부(416)를 포함한다. 여기에서, 스크립트 엔진(412), 테스트 데이터 처리부(413), 패키지 거래 처리부(414), 온라인 로그 재현부(415), 및 보고서 자동 생성부(416) 각각은 금융 단말기(401)의 저장 공간 내에 저장된 프로그램들 중 하나일 수 있다. 메인 컨트롤러(411), 스크립트 엔진(412), 테스트 데이터 처리부(413), 패키지 거래 처리부(414), 온라인 로그 재현부(415), 및 보고서 자동 생성부(416)의 구체적인 동작은 상술한 메인 컨트롤러(111), 스크립트 엔진(112), 테스트 데이터 처리부(113), 패키지 거래 처리부(114), 온라인 로그 재현부(115), 및 보고서 자동 생성부(116)의 동작과 유사하므로, 이들에 대한 동작 설명은 생략된다. 또, 장치 인터페이스부(430) 역시 금융 단말기(401)의 저장 공간 내에 저장된 프로그램들 중 하나일 수 있다. JCM 프로그램(420) 및 장치 인터페이스부(430)의 동작은 상술한 JCM 프로그램(120) 및 장치 인터페이스부(140)의 동작과 유사하고, 사용자 인터페이스부(440)의 동작 역시 상술한 사용자 인터페이스부(117)의 동작과 유사하므로, 이들에 대한 동작 설명 역시 생략된다.
한편, 사용자 인터페이스부(440)는 사용자 인터페이스부(117)와 유사하게 표시 장치(미도시)와 입력부(미도시)를 포함하고, 사용자 인터페이스부(440)의 표시 장치에 금융 업무 프로그램(450)의 재실행 결과에 따른 테스트 결과 화면들이 표시될 수 있다. 또한, 사용자 인터페이스부(440)의 표시 장치는, 테스트 데이터 처리부(413), 패키지 거래 처리부(414), 및 온라인 로그 재현부(415) 각각의 동작과 관련한 화면들을 더 표시할 수 있다.
테스트 DB(402), 책임자 승인 처리기(403), 승인 DB(404), 로그 데이터 수집기(405), 및 주변기기부(406)의 동작은 상술한 테스트 DB(130), 책임자 승인 처리기(150), 승인 DB(170), 로그 데이터 수집기(160), 및 주변기기부(220의 동작과 유사하므로, 이들에 대한 동작 설명도 생략된다.
상술한 것과 같이, 금융 단말기(401) 내에 테스트 자동화 처리부(410), JCM 프로그램(420), 및 장치 인터페이스부(430)가 포함되어 있으므로, 자동 테스트 시스템(400)의 구성이 좀 더 간소화될 수 있다. 여기에서, 금융 단말기(401)는 금융 단말기(210)와 유사하게, 새로 개발된 금융 업무 프로그램을 테스트할 때에만 사용되는 테스트 전용 단말기이다.
도 8은 본 발명의 제4 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다. 자동 테스트 시스템(500)은 복수의 금융 단말기들(TAA1∼TAAK)(K는 정수), 복수의 주변기기부들(PP1∼PPK)(K는 정수), 중앙 제어기(510), 테스트 DB(520), 책임자 승인 처리기(530), 승인 DB(540), 및 로그 데이터 수집기(550)를 포함한다. 자동 테스트 시스템(500)은 복수의 금융 단말기들(TAA1∼TAAK)에 각각 탑재된 금융 업무프로그램(564)을 동시에 테스트할 수 있다. 자동 테스트 시스템(500)의 구성 및 구체적인 동작은 상술한 자동 테스트 시스템(400)과 유사하므로, 본 실시예에서는 설명의 중복을 피하기 위해, 자동 테스트 시스템들(500, 400) 간의 차이점들을 중심으로 설명하기로 한다. 자동 테스트 시스템들(500, 400) 간의 차이점은 자동 테스트 시스템(500)이 중앙 제어기(510)를 더 포함하는 것이다. 한 명의 사용자가 원격에서 중앙 제어기(510)를 사용하여, 복수의 금융 단말기들(TAA1∼TAAK)의 금융 업무 프로그램 자동 테스트 기능을 각각 실행시킬 수 있다. 중앙 제어기(510)는 중앙 사용자 인터페이스부(511)와 중앙 제어부(512)를 포함한다. 중앙 사용자 인터페이스부(511)는 도 7에 도시된 사용자 인터페이스부(440)와 동일한 기능을 실행할 수 있다. 하지만, 복수의 금융 단말기들(TAA1∼TAAK)이 금융 업무 프로그램(564)을 각각 재실행함에 따른 테스트 결과 화면들은 복수의 금융 단말기들(TAA1∼TAAK) 각각의 사용자 인터페이스부(440)에 표시된다. 즉, 중앙 사용자 인터페이스부(511)는 테스트 결과 화면들의 표시 기능을 포함하지 않는다. 중앙 제어부(512)는 사용자가 중앙 사용자 인터페이스부(511)를 조작함에 따라, 복수의 금융 단말기들(TAA1∼TAAK)이 금융 업무 프로그램(564)을 각각 자동으로 테스트하도록 제어한다.
자동 테스트 시스템들(500, 400) 간의 차이점은 자동 테스트 시스템(500)이 복수의 금융 단말기들(TAA1∼TAAK)과 복수의 주변기기부들(PP1∼PPK)을 포함하는 것이다. 복수의 금융 단말기들(TAA1∼TAAK)과 복수의 주변기기부들(PP1∼PPK)에 의해, 각각 서로 다른 금융 업무가 동시에 테스트될 수 있다. 예를 들어, 금융 단말기(TAA1)에서는 금융 업무들(A, B, C)에 대한 테스트가 실행될 수 있고, 금융 단말기(TAA2)에서는 금융 업무들(X, Y, Z)에 대한 테스트가 실행될 수 있다. 한편, 금융 단말기들(TAA1∼TAAK) 각각의 금융 업무 프로그램의 재실행 과정에서 주변기기의 동작이 필요한 경우, 주변기기부들(PP1∼PPK)에 각각 포함된 주변기기 제어부가, 주변기기가 실제로 동작하는 것과 유사한 테스트 환경을 금융 단말기들(TAA1∼TAAK)에 각각 제공한다. 또, 금융 업무 프로그램의 재실행 과정에서, 금융 단말기들(TAA1∼TAAK)로부터 책임자 승인 요청 메시지들(REQM1∼REQMK)을 수신할 때, 책임자 승인 처리기(530)가 책임자 승인 요청 메시지들(REQM1∼REQMK)을 승인 DB(540)에 저장된 정보들에 대조하고, 그 대조 결과에 따라 자동 승인 정보들(APP1∼APPK)을 승인 DB(540) 저장한 후, 금융 단말기들(TAA1∼TAAK)에 승인 완료 메시지(FINM1∼FINMK)를 각각 출력한다. 그 결과, 금융 단말기들(TAA1∼TAAK)이 승인 DB(340)에 저장된 자동 승인 정보들(APP1∼APPK)을 각각 확인한 후, 다음 업무를 각각 진행한다. 여기에서, 금융 단말기들(TAA1∼TAAK) 각각은 새로 개발된 금융 업무 프로그램을 테스트할 때에만 사용되는 테스트 전용 단말기이다.
상술한 것과 같이, 자동 테스트 시스템(500)은 복수의 금융 단말기의 금융 업무 프로그램을 동시에 테스트할 수 있으므로, 테스트 시간을 더욱 단축할 수 있을 뿐만 아니라, 복수의 금융 단말기가 동시에 동작할 때 발생할 수 있는 오류를 체크할 수 있다.
상기한 실시 예들은 본 발명을 설명하기 위한 것으로서 본 발명이 이들 실시 예에 국한되는 것은 아니며, 본 발명의 범위 내에서 다양한 실시예가 가능하다. 또한, 설명되지는 않았으나, 균등한 수단도 또한 본 발명에 그대로 결합되는 것이라 할 것이다. 따라서 본 발명의 진정한 보호범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
도 1은 본 발명의 제1 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 도시한 블록도이다.
도 2는 도 1에 도시된 자동 테스트 시스템의 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들의 기록 과정을 설명하기 위한 거래 업무 화면의 일례이다.
도 3은 도 1에 도시된 테스트 데이터 처리부의 동작을 설명하기 위한 테스트 케이스 편집 화면의 일례이다.
도 4는 도 1에 도시된 로그 데이터 수집기의 동작을 설명하기 위한 거래 업무 화면의 일례이다.
도 5는 도 1에 도시된 패키지 거래 처리부의 동작을 설명하기 위한 패키지 금융 업무의 거래 절차를 나타내는 도면이다.
도 6은 본 발명의 제2 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다.
도 7은 본 발명의 제3 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다.
도 8은 본 발명의 제4 실시예에 따른 금융 업무 프로그램의 자동 테스트 시스템을 개략적으로 나타내는 도면이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100, 300, 400, 500: 자동 테스트 시스템
110, TA1∼TAK, 410, 561: 테스트 자동화 처리부
120, M1∼MK, 420, 562: JCM
130, 310, 402, 520: 테스트 DB
140, IF1∼IFK, 430, 563: 장치 인터페이스부
150, 320, 403, 530: 책임자 승인 처리기
160, 330, 405, 550: 로그 데이터 수집기
170, 340, 404, 540: 승인 DB
350, 510: 중앙 제어기
210, FT1∼FTK, 401, TAA1∼TAAK: 금융 단말기
220, P1∼PK, 406, PP1∼PPK: 주변기기부

Claims (44)

  1. 제1 내지 제3 스크립트 데이터들을 저장하는 테스트 DB; 및
    금융 업무 프로그램을 실행하는 기능과, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여 상기 금융 업무 프로그램을 자동으로 테스트하는 기능을 포함하는 금융 단말기를 포함하고,
    상기 금융 단말기는,
    사용자의 입력에 따라 입력 신호를 출력하는 사용자 인터페이스부;
    기록 명령에 응답하여, 상기 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 업무 프로그램을 재실행시키는 프로그램인 JCM(java control manager) 프로그램과, 상기 금융 업무 프로그램을 저장하는 저장 공간; 및
    상기 입력 신호에 응답하여, 상기 저장 공간 내에 저장된 상기 JCM 프로그램 및 상기 금융 업무 프로그램 중 적어도 하나를 판독하여, 상기 JCM 프로그램 및 상기 금융 업무 프로그램 중 적어도 하나를 실행하고, 상기 기록 명령 또는 상기 재실행 명령을 출력하는 메인 컨트롤러를 포함하고, 상기 제1 XML 데이터들을 상기 제1 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여, 상기 제1 테스트용 XML 데이터들을 출력하고, 상기 금융 업무 프로그램이 재실행됨에 따라 발생되는 테스트 결과 정보들을 수집하고, 상기 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하는 테스트 자동화 처리부; 및
    금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 상기 제3 스크립트 데이터들을 생성하는 로그 데이터 수집기를 포함하고,
    상기 로그 데이터들은 상기 금융 기관 내에서 사용되는 영업점 금융 단말기들 각각에 저장된 로그 데이터들을 포함하고, 상기 영업점 금융 단말기들 각각은, 하나의 금융 거래 업무를 실행할 때마다 해당 금융 거래 업무에 대한 로그 데이터를 발생하여 저장하고, 자신에 저장된 로그 데이터들을 상기 영업점 DB에 주기적으로 저장하고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 테스트 자동화 처리부가 상기 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  2. 제1항에 있어서,
    상기 제1 XML 데이터들은 상기 금융 업무 프로그램의 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  3. 삭제
  4. 제1 내지 제3 스크립트 데이터들을 저장하는 테스트 DB; 및
    금융 업무 프로그램을 실행하는 기능과, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여 상기 금융 업무 프로그램을 자동으로 테스트하는 기능을 포함하는 금융 단말기를 포함하고,
    상기 금융 단말기는,
    사용자의 입력에 따라 입력 신호를 출력하는 사용자 인터페이스부;
    상기 금융 업무 프로그램과, 상기 금융 업무 프로그램을 자동으로 테스트하기 위해 사용되는 프로그램들로서, JCM(java control manager) 프로그램, 테스트 데이터 처리 프로그램, 스크립트 엔진 프로그램, 보고서 자동 생성 프로그램, 패키지 거래 처리 프로그램, 온라인 로그 재현 프로그램, 및 장치 인터페이스 프로그램을 저장하는 저장 공간; 및
    상기 입력 신호에 응답하여, 상기 저장 공간 내에 저장된 전체 프로그램들 중 적어도 하나를 실행하는 메인 컨트롤러를 포함하고,
    상기 JCM 프로그램은, 기록 명령에 응답하여, 상기 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 업무 프로그램을 재실행시키는 프로그램이고,
    상기 테스트 데이터 처리 프로그램은, 상기 제1 또는 제2 스크립트 데이터들을 분석하고, 상기 사용자가 입력해야 할 데이터 목록을 그리드(grid) 형태로 구성한 편집화면을 상기 사용자 인터페이스부에 포함된 표시 장치에 표시하고, 사용자에 의해 편집 및 생성된 제5 스크립트 데이터들을 출력하는 프로그램이고,
    상기 스크립트 엔진 프로그램은, 상기 제1 XML 데이터들과, 상기 금융 단말기에 연결되는 주변기기부에 포함된 주변기기 제어부로부터 수신되는 제2 XML 데이터들을, 상기 제1 스크립트 데이터들과 제4 스크립트 데이터들로 각각 변환하고, 상기 금융 업무 프로그램이 재실행될 때, 상기 제5 스크립트 데이터들을 상기 제1 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 제2 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 제2 테스트용 XML 데이터들로 변환하고, 상기 메인 컨트롤러로부터 수신되는 상기 제5 스크립트 데이터들, 또는 제6 스크립트 데이터들, 또는 상기 제3 스크립트 데이터들 중 일부를 상기 제1 테스트용 XML 데이터들로 변환하는 프로그램이고,
    상기 보고서 자동 생성 프로그램은, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 상기 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하는 프로그램이고,
    상기 패키지 거래 처리 프로그램은, 상기 제1 또는 제2 스크립트 데이터들을 포함하는 복수의 테스트 케이스 데이터들을 상기 사용자 인터페이스부의 표시 장치의 화면에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집하여, 그 편집된 패키지 업무와 관련한 상기 제6 스크립트 데이터들을 출력하는 프로그램이고,
    상기 온라인 로그 재현 프로그램은, 상기 제3 스크립트 데이터들 중 일부를 선택하기 위한 화면을 상기 사용자 인터페이스부의 표시 장치에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 상기 제3 스크립트 데이터들 중 일부를 선택하여 출력하는 프로그램이고,
    상기 메인 컨트롤러는, 상기 입력 신호에 응답하여, 상기 기록 명령 또는 상기 재실행 명령을 출력하고, 상기 기록 명령을 출력한 후, 상기 JCM 프로그램으로부터 수신되는 상기 제1 XML 데이터들과, 상기 금융 단말기에 연결되는 주변기기부에 포함된 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 상기 스크립트 엔진 프로그램에 전달하고, 상기 스크립트 엔진 프로그램으로부터 상기 제1 및 제4 스크립트 데이터들을 수신하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리 프로그램에 전달하고, 상기 테스트 DB로부터 판독한 상기 제4 스크립트 데이터들과, 상기 테스트 데이터 처리 프로그램으로부터 수신되는 상기 제5 스크립트 데이터들을 상기 스크립트 엔진 프로그램에 전달하고, 상기 스크립트 엔진 프로그램으로부터 상기 제1 및 제2 테스트용 XML 데이터들을 수신하여, 상기 제1 테스트용 XML 데이터들을 상기 JCM 프로그램에 전달하고, 상기 제2 테스트용 XML 데이터들을 상기 장치 인터페이스 프로그램을 통하여 상기 주변기기 제어부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안 발생되는 상기 테스트 결과 정보들을 수집하고, 상기 사용자 인터페이스부의 상기 표시 장치에 표시되는 상기 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들과 상기 캡처한 이미지 파일들을 상기 보고서 자동 생성 프로그램에 전달하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하고,
    상기 메인 컨트롤러는, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리 프로그램 또는 상기 패키지 거래 처리 프로그램에 전달하거나, 또는 상기 테스트 DB로부터 상기 제3 스크립트 데이터들을 판독하여 상기 온라인 로그 재현 프로그램에 전달하고, 상기 테스트 데이터 처리 프로그램으로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 패키지 거래 처리 프로그램으로부터 수신되는 상기 제6 스크립트 데이터들, 또는 상기 온라인 로그 재현 프로그램으로부터 수신되는 상기 제3 스크립트 데이터들 중 일부를 상기 스크립트 엔진 프로그램에 전달하고,
    상기 복수의 테스트 케이스 데이터들 중, 하나의 테스트 케이스 데이터는 하나의 금융 거래 업무를 나타내고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 스크립트 엔진 프로그램이 상기 제1 테스트용 XML 데이터들을 발생하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  5. 삭제
  6. 제1항에 있어서,
    상기 금융 단말기에 연결되는 주변기기부를 더 포함하고,
    상기 주변기기부는,
    상기 메인 컨트롤러에서 실행되는 금융 거래 업무에 따라 각각 선택적으로 동작하고, 그 동작에 따른 데이터 신호를 각각 출력하는 복수의 주변기기들; 및
    상기 복수의 주변 기기들 중 적어도 하나의 데이터 신호를 상기 금융 단말기에 전송하고, 상기 금융 단말기와 상기 주변기기들 간을 상호 인터페이스 하는 주변기기 제어부를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  7. 제6항에 있어서,
    상기 주변기기들은, 핀 패드, 직불카드 발급기, IC 리더기, 통장 프린터, 및 통장 리더기 중 적어도 하나를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  8. 제6항에 있어서,
    상기 금융 단말기는, 상기 주변기기 제어부와 상기 테스트 자동화 처리부 간의 통신을 인터페이스 하는 장치 인터페이스부를 더 포함하고,
    상기 주변기기 제어부는 상기 기록 명령에 응답하여, 상기 주변기기들의 동작에 따른 제2 이벤트 정보들을 제2 XML 데이터들로 변환하여 상기 테스트 자동화 처리부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 자동 테스트 시스템이 사람의 개입 없이 상기 금융 업무 프로그램을 자동으로 테스트하도록 하기 위해, 상기 재실행 명령 및 제2 테스트용 XML 데이터들에 기초하여, 상기 주변기기들 중 적어도 하나가 동작할 때 출력하는 데이터 신호와 동일한 데이터 신호를 발생하여 상기 금융 단말기에 출력함으로써, 상기 주변기기들 중 적어도 하나의 동작을 대행하고,
    상기 테스트 자동화 처리부는 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 제4 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때 상기 테스트 DB로부터 상기 제4 스크립트 데이터들을 판독하여 상기 제2 테스트용 XML 데이터들로 변환하여 출력하는 금융 업무 프로그램의 자동 테스트 시스템.
  9. 삭제
  10. 제8항에 있어서,
    상기 테스트 자동화 처리부는,
    상기 제1 또는 제2 스크립트 데이터들을 분석하고, 상기 사용자가 입력해야 할 데이터 목록을 그리드(grid) 형태로 구성한 편집화면을 상기 사용자 인터페이스부에 포함된 표시 장치에 표시하고, 사용자에 의해 편집 및 생성된 제5 스크립트 데이터들을 출력하는 테스트 데이터 처리부;
    상기 제1 및 제2 XML 데이터들을 상기 제1 및 제4 스크립트 데이터들로 각각 변환하고, 상기 금융 업무 프로그램이 재실행될 때, 상기 제5 스크립트 데이터들을 상기 제1 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 상기 제2 테스트용 XML 데이터들로 변환하는 스크립트 엔진; 및
    상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 상기 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하는 보고서 자동 생성부를 더 포함하고,
    상기 메인 컨트롤러는, 상기 기록 명령을 출력한 후, 상기 JCM 프로그램으로부터 수신되는 상기 제1 XML 데이터들과 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제4 스크립트 데이터들을 수신하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리부에 출력하고, 상기 테스트 DB로부터 판독한 상기 제4 스크립트 데이터들과, 상기 테스트 데이터 처리부로부터 수신되는 상기 제5 스크립트 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제2 테스트용 XML 데이터들을 수신하여, 상기 제1 테스트용 XML 데이터들을 상기 JCM 프로그램에 전달하고, 상기 제2 테스트용 XML 데이터들을 상기 장치 인터페이스부를 통하여 상기 주변기기 제어부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안 발생되는 상기 테스트 결과 정보들을 수집하고, 상기 사용자 인터페이스부의 상기 표시 장치에 표시되는 상기 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들과 상기 캡처한 이미지 파일들을 상기 보고서 자동 생성부에 출력하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하는 금융 업무 프로그램의 자동 테스트 시스템.
  11. 제10항에 있어서,
    상기 테스트 자동화 처리부는,
    상기 제1 또는 제2 스크립트 데이터들을 포함하는 복수의 테스트 케이스 데이터들을 상기 사용자 인터페이스부의 표시 장치의 화면에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집하여, 그 편집된 패키지 업무와 관련한 제6 스크립트 데이터들을 출력하는 패키지 거래 처리부; 및
    상기 제3 스크립트 데이터들 중 일부를 선택하기 위한 화면을 상기 사용자 인터페이스부의 표시 장치에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 상기 제3 스크립트 데이터들 중 일부를 선택하여 출력하는 온라인 로그 재현부를 더 포함하고,
    상기 메인 컨트롤러는, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리부 또는 상기 패키지 거래 처리부에 출력하거나, 또는 상기 테스트 DB로부터 상기 제3 스크립트 데이터들을 판독하여 상기 온라인 로그 재현부에 출력하고, 상기 테스트 데이터 처리부로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 패키지 거래 처리부로부터 수신되는 상기 제6 스크립트 데이터들, 또는 상기 온라인 로그 재현부로부터 수신되는 상기 제3 스크립트 데이터들 중 일부를 상기 스크립트 엔진에 출력하고,
    상기 스크립트 엔진은, 상기 메인 컨트롤러로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 제6 스크립트 데이터들, 또는 상기 제3 스크립트 데이터들 중 일부를 상기 제1 테스트용 XML 데이터들로 변환하고,
    상기 복수의 테스트 케이스 데이터들 중, 하나의 테스트 케이스 데이터는 하나의 금융 거래 업무를 나타내는 금융 업무 프로그램의 자동 테스트 시스템.
  12. 제10항에 있어서,
    상기 보고서 자동 생성부는, 상기 캡처한 이미지 파일에 포함되는, 하나의 금융 거래 업무에 대한 결과 화면 이미지에서, 고객의 개인정보가 표시된 부분 위에 스텐실 이미지를 겹친 채로, 결과 화면 이미지와 스텐실 이미지를 하나의 이미지로 가공함으로써, 가공된 이미지 파일로부터 상기 결과 화면 이미지가 복구되지 않도록 하고, 가공된 이미지 파일과, 상기 체크 결과에 따른 테스트 결과 내용을 포함하는 상기 테스트 결과 보고서 파일을 생성하는 금융 업무 프로그램의 자동 테스트 시스템.
  13. 제1항에 있어서,
    텔러 ID 정보, 각 텔러 별로 정해진 승인 책임자 ID 정보, 및 자동 승인 정보를 저장하는 승인 DB; 및
    상기 금융 업무 프로그램이 재실행되는 동안, 상기 금융 단말기로부터 승인 요청 메시지를 수신할 때, 상기 승인 요청 메시지에 포함된 텔러 ID 정보를 상기 승인 DB에 저장된 상기 텔러 ID 정보에 대조하고, 그 대조 결과에 따라 상기 자동 승인 정보를 상기 승인 DB 저장한 후, 상기 금융 단말기에 승인 완료 메시지를 출력하는 책임자 승인 처리기를 더 포함하고,
    상기 메인 컨트롤러는 상기 승인 DB에 저장된 상기 자동 승인 정보를 확인한 후, 상기 금융 업무 프로그램의 다음 업무를 실행하는 금융 업무 프로그램의 자동 테스트 시스템.
  14. 금융 단말기에서 금융 업무 프로그램이 실행될 때, 각 금융 거래 업무별 및 각 주변기기의 동작별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 자동으로 기록하는 단계;
    기록된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제1 스크립트 데이터들, 또는 이전의 테스트 시 사용된 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제2 스크립트 데이터들, 또는 실제로 금융 기관의 영업점에서 이루어진 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들에 대응하는 제3 스크립트 데이터들에 기초하여, 금융 업무 프로그램을 자동으로 재실행시키는 단계; 및
    상기 금융 업무 프로그램의 재실행 결과에 따른 테스트 결과를 자동으로 수집 및 가공하여 저장하는 단계를 포함하고,
    상기 제3 스크립트 데이터들은, 로그 데이터 수집기가 금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 생성한 것이고,
    상기 로그 데이터들은, 상기 금융 기관 내에서 사용되는 영업점 금융 단말기들이 금융 거래 업무를 실행할 때마다 발생하여 주기적으로 상기 영업점 DB에 저장한 것인 금융 업무 프로그램의 자동 테스트 방법.
  15. 제14항에 있어서,
    상기 금융 업무 프로그램을 자동으로 재실행시키는 단계와, 상기 테스트 결과를 자동으로 수집 및 가공하여 저장하는 단계를 반복하는 단계를 더 포함하는 금융 업무 프로그램의 자동 테스트 방법.
  16. 제14항에 있어서, 상기 기록 단계는,
    테스트 자동화 처리부에 의해, 사용자의 입력에 따라 기록 명령을 출력하는 단계;
    JCM 프로그램에 의해, 상기 기록 명령에 응답하여, 상기 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML 데이터들로 변환하는 단계;
    주변기기 제어부에 의해, 상기 금융 단말기에 연결된 주변기기들의 동작에 따른 제2 이벤트 정보들을 제2 XML 데이터들로 변환하는 단계; 및
    상기 테스트 자동화 처리부에 의해, 상기 제1 및 제2 XML 데이터들을 제1 및 제4 스크립트 데이터들로 변환하여 테스트 DB에 저장하는 단계를 포함하는 금융 업무 프로그램의 자동 테스트 방법.
  17. 제16항에 있어서,
    상기 금융 업무 프로그램을 자동으로 재실행시키는 단계는,
    상기 테스트 자동화 처리부에 의해, 사용자의 입력에 따라 재실행 명령을 출력하는 단계;
    상기 테스트 자동화 처리부에 의해, 상기 테스트 DB로부터 상기 제1 스크립트 데이터들 또는 상기 제2 스크립트 데이터들 또는 상기 제3 스크립트 데이터들과, 상기 제4 스크립트 데이터들을 판독하는 단계;
    상기 테스트 자동화 처리부에 의해, 상기 제1 또는 제2 또는 제3 스크립트 데이터들에 기초하여, 제1 테스트용 XML 데이터들을 출력하고, 상기 제4 스크립트 데이터들에 기초하여 제2 테스트용 XML 데이터들을 출력하는 단계;
    상기 JCM 프로그램에 의해, 상기 재실행 명령에 응답하여, 상기 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 단말기에서 상기 금융 업무 프로그램을 재실행시키는 단계; 및
    상기 주변기기 제어부에 의해, 상기 재실행 명령 및 상기 제2 테스트용 XML 데이터들에 기초하여, 상기 주변기기들 중 적어도 하나의 동작을 대행하는 단계를 포함하고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 테스트 자동화 처리부가 상기 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 방법.
  18. 제17항에 있어서,
    상기 금융 업무 프로그램을 자동으로 재실행시키는 단계는, 상기 금융 단말기에서 상기 금융 업무 프로그램이 재실행되는 동안, 책임자 승인 처리기에 의해, 상기 금융 단말기로부터 수신되는 승인 요청 메시지에 응답하여, 자동 승인 정보를 승인 DB에 저장한 후, 승인 완료 메시지를 상기 금융 단말기에 출력하는 단계를 더 포함하고,
    상기 금융 단말기는 상기 승인 DB에 저장된 상기 자동 승인 정보를 확인한 후, 다음 업무를 진행하는 금융 업무 프로그램의 자동 테스트 방법.
  19. 제1 내지 제3 스크립트 데이터들을 저장하는 테스트 DB; 및
    금융 업무 프로그램을 실행하는 기능과, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여 상기 금융 업무 프로그램을 자동으로 테스트하는 기능을 각각 포함하는 복수의 금융 단말기들을 포함하고,
    상기 복수의 금융 단말기들 각각은,
    사용자의 입력에 따라 입력 신호를 출력하는 사용자 인터페이스부;
    기록 명령에 응답하여, 상기 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 업무 프로그램을 재실행시키는 프로그램인 JCM(java control manager) 프로그램과, 상기 금융 업무 프로그램을 저장하는 저장 공간; 및
    상기 입력 신호에 응답하여, 상기 저장 공간 내에 저장된 상기 JCM 프로그램 및 상기 금융 업무 프로그램 중 적어도 하나를 판독하여, 상기 JCM 프로그램 및 상기 금융 업무 프로그램 중 적어도 하나를 실행하고, 상기 기록 명령 또는 상기 재실행 명령을 출력하는 메인 컨트롤러를 포함하고, 상기 제1 XML 데이터들을 상기 제1 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여, 상기 제1 테스트용 XML 데이터들을 출력하고, 상기 금융 업무 프로그램이 재실행됨에 따라 발생되는 테스트 결과 정보들을 수집하고, 상기 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 테스트 결과 보고서 파일을 생성하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하는 테스트 자동화 처리부를 포함하고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 테스트 자동화 처리부가 상기 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  20. 제19항에 있어서,
    금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 상기 제3 스크립트 데이터들을 생성하는 로그 데이터 수집기를 더 포함하고,
    상기 로그 데이터들은 상기 금융 기관 내에서 사용되는 영업점 금융 단말기들 각각에 저장된 로그 데이터들을 포함하고, 상기 영업점 금융 단말기들 각각은, 하나의 금융 거래 업무를 실행할 때마다 해당 금융 거래 업무에 대한 로그 데이터를 발생하여 저장하고, 자신에 저장된 로그 데이터들을 상기 영업점 DB에 주기적으로 저장하는 금융 업무 프로그램의 자동 테스트 시스템.
  21. 삭제
  22. 제1 내지 제3 스크립트 데이터들을 저장하는 테스트 DB; 및
    금융 업무 프로그램을 실행하는 기능과, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여 상기 금융 업무 프로그램을 자동으로 테스트하는 기능을 각각 포함하는 복수의 금융 단말기를 포함하고,
    상기 복수의 금융 단말기 각각은,
    사용자의 입력에 따라 입력 신호를 출력하는 사용자 인터페이스부;
    상기 금융 업무 프로그램과, 상기 금융 업무 프로그램을 자동으로 테스트하기 위해 사용되는 프로그램들로서, JCM(java control manager) 프로그램, 테스트 데이터 처리 프로그램, 스크립트 엔진 프로그램, 보고서 자동 생성 프로그램, 패키지 거래 처리 프로그램, 온라인 로그 재현 프로그램, 및 장치 인터페이스 프로그램을 저장하는 저장 공간; 및
    상기 입력 신호에 응답하여, 상기 저장 공간 내에 저장된 전체 프로그램들 중 적어도 하나를 실행하는 메인 컨트롤러를 포함하고,
    상기 JCM 프로그램은, 기록 명령에 응답하여, 상기 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML(extensible markup language) 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 업무 프로그램을 재실행시키는 프로그램이고,
    상기 테스트 데이터 처리 프로그램은, 상기 제1 또는 제2 스크립트 데이터들을 분석하고, 상기 사용자가 입력해야 할 데이터 목록을 그리드(grid) 형태로 구성한 편집화면을 상기 사용자 인터페이스부에 포함된 표시 장치에 표시하고, 사용자에 의해 편집 및 생성된 제5 스크립트 데이터들을 출력하는 프로그램이고,
    상기 스크립트 엔진 프로그램은, 상기 제1 XML 데이터들과, 해당 금융 단말기에 연결되는 주변기기부에 포함된 주변기기 제어부로부터 수신되는 제2 XML 데이터들을, 상기 제1 스크립트 데이터들과 제4 스크립트 데이터들로 각각 변환하고, 상기 금융 업무 프로그램이 재실행될 때, 상기 제5 스크립트 데이터들을 상기 제1 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 제2 테스트용 XML 데이터들로 변환하고, 상기 메인 컨트롤러로부터 수신되는 상기 제5 스크립트 데이터들, 또는 제6 스크립트 데이터들, 또는 상기 제3 스크립트 데이터들 중 일부를 상기 제1 테스트용 XML 데이터들로 변환하는 프로그램이고,
    상기 보고서 자동 생성 프로그램은, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 상기 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하는 프로그램이고,
    상기 패키지 거래 처리 프로그램은, 상기 제1 또는 제2 스크립트 데이터들을 포함하는 복수의 테스트 케이스 데이터들을 상기 사용자 인터페이스부의 표시 장치의 화면에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집하여, 그 편집된 패키지 업무와 관련한 상기 제6 스크립트 데이터들을 출력하는 프로그램이고,
    상기 온라인 로그 재현 프로그램은, 상기 제3 스크립트 데이터들 중 일부를 선택하기 위한 화면을 상기 사용자 인터페이스부의 표시 장치에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 상기 제3 스크립트 데이터들 중 일부를 선택하여 출력하는 프로그램이고,
    상기 메인 컨트롤러는, 상기 입력 신호에 응답하여, 상기 기록 명령 또는 상기 재실행 명령을 출력하고, 상기 기록 명령을 출력한 후, 상기 JCM 프로그램으로부터 수신되는 상기 제1 XML 데이터들과, 상기 금융 단말기에 연결되는 주변기기부에 포함된 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 상기 스크립트 엔진 프로그램에 전달하고, 상기 스크립트 엔진 프로그램으로부터 상기 제1 및 제4 스크립트 데이터들을 수신하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리 프로그램에 전달하고, 상기 테스트 DB로부터 판독한 상기 제4 스크립트 데이터들과, 상기 테스트 데이터 처리 프로그램으로부터 수신되는 상기 제5 스크립트 데이터들을 상기 스크립트 엔진 프로그램에 전달하고, 상기 스크립트 엔진 프로그램으로부터 상기 제1 및 제2 테스트용 XML 데이터들을 수신하여, 상기 제1 테스트용 XML 데이터들을 상기 JCM 프로그램에 전달하고, 상기 제2 테스트용 XML 데이터들을 상기 장치 인터페이스 프로그램을 통하여 상기 주변기기 제어부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안 발생되는 상기 테스트 결과 정보들을 수집하고, 상기 사용자 인터페이스부의 상기 표시 장치에 표시되는 상기 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들과 상기 캡처한 이미지 파일들을 상기 보고서 자동 생성 프로그램에 출력하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하고,
    상기 메인 컨트롤러는, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리 프로그램 또는 상기 패키지 거래 처리 프로그램에 전달하거나, 또는 상기 테스트 DB로부터 상기 제3 스크립트 데이터들을 판독하여 상기 온라인 로그 재현 프로그램에 전달하고, 상기 테스트 데이터 처리 프로그램으로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 패키지 거래 처리 프로그램으로부터 수신되는 상기 제6 스크립트 데이터들, 또는 상기 온라인 로그 재현 프로그램으로부터 수신되는 상기 제3 스크립트 데이터들 중 일부를 상기 스크립트 엔진 프로그램에 전달하고,
    상기 복수의 테스트 케이스 데이터들 중, 하나의 테스트 케이스 데이터는 하나의 금융 거래 업무를 나타내고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 스크립트 엔진 프로그램이 상기 제1 테스트용 XML 데이터들을 발생하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  23. 제19항에 있어서,
    상기 복수의 금융 단말기들에 각각 하나씩 연결되는 복수의 주변기기부들을 더 포함하고,
    상기 복수의 주변기기부들 각각은,
    상기 복수의 금융 단말기들 중 자신에 대응하는 하나의 상기 메인 컨트롤러에서 실행되는 금융 거래 업무에 따라 각각 선택적으로 동작하고, 그 동작에 따른 데이터 신호를 각각 출력하는 복수의 주변기기들; 및
    상기 복수의 주변 기기들 중 적어도 하나의 데이터 신호를, 상기 복수의 금융 단말기들 중 자신에 대응하는 하나에, 전송하고, 상기 복수의 금융 단말기들 중 자신에 대응하는 하나와, 상기 주변기기들 간을 상호 인터페이스 하는 주변기기 제어부를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  24. 제23항에 있어서,
    상기 복수의 금융 단말기 각각은, 상기 주변기기 제어부와 상기 메인 컨트롤러 간의 통신을 인터페이스 하는 장치 인터페이스부를 더 포함하고,
    상기 주변기기 제어부는 상기 기록 명령에 응답하여, 상기 주변기기들의 동작에 따른 제2 이벤트 정보들을 제2 XML 데이터들로 변환하여 상기 장치 인터페이스부를 통하여 상기 메인 컨트롤러에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 자동 테스트 시스템이 사람의 개입 없이 상기 금융 업무 프로그램을 자동으로 테스트하도록 하기 위해, 상기 재실행 명령 및 제2 테스트용 XML 데이터들에 기초하여, 상기 주변기기들 중 적어도 하나가 동작할 때 출력하는 데이터 신호와 동일한 데이터 신호를 발생하여 상기 복수의 금융 단말기들 중 자신에 대응하는 하나에 출력함으로써, 상기 주변기기들 중 적어도 하나의 동작을 대행하고,
    상기 테스트 자동화 처리부는 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 제4 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때 상기 테스트 DB로부터 상기 제4 스크립트 데이터들을 판독하여 상기 제2 테스트용 XML 데이터들로 변환하여 출력하는 금융 업무 프로그램의 자동 테스트 시스템.
  25. 삭제
  26. 제19항에 있어서,
    텔러 ID 정보, 각 텔러 별로 정해진 승인 책임자 ID 정보, 및 자동 승인 정보를 저장하는 승인 DB; 및
    상기 금융 업무 프로그램이 재실행되는 동안, 상기 복수의 금융 단말기들 중 적어도 하나로부터 승인 요청 메시지를 수신할 때, 상기 승인 요청 메시지에 포함된 텔러 ID 정보를 상기 승인 DB에 저장된 상기 텔러 ID 정보에 대조하고, 그 대조 결과에 따라 상기 자동 승인 정보를 상기 승인 DB 저장한 후, 해당 금융 단말기에 승인 완료 메시지를 출력하는 책임자 승인 처리기를 더 포함하고,
    해당 금융 단말기의 메인 컨트롤러는 상기 승인 DB에 저장된 상기 자동 승인 정보를 확인한 후, 상기 금융 업무 프로그램의 다음 업무를 실행하는 금융 업무 프로그램의 자동 테스트 시스템.
  27. 제19항에 있어서,
    상기 금융 업무 프로그램이 상기 복수의 금융 단말기들에서 각각 재실행될 때, 상기 복수의 금융 단말기들에서 각각 실행되는 금융 거래 업무들은 서로 다른 금융 업무 프로그램의 자동 테스트 시스템.
  28. 제24항에 있어서,
    상기 테스트 자동화 처리부는,
    상기 제1 또는 제2 스크립트 데이터들을 분석하고, 상기 사용자가 입력해야 할 데이터 목록을 그리드 형태로 구성한 편집화면을 상기 사용자 인터페이스부에 포함된 표시 장치에 표시하고, 상기 사용자에 의해 편집 및 생성된 제5 스크립트 데이터들을 출력하는 테스트 데이터 처리부;
    상기 제1 또는 제2 스크립트 데이터들을 포함하는 복수의 테스트 케이스 데이터들을 상기 사용자 인터페이스부의 표시 장치의 화면에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집하여, 그 편집된 패키지 업무와 관련한 제6 스크립트 데이터들을 출력하는 패키지 거래 처리부;
    상기 제3 스크립트 데이터들 중 일부를 선택하기 위한 화면을 상기 사용자 인터페이스부의 표시 장치에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 상기 제3 스크립트 데이터들 중 일부를 선택하여 출력하는 온라인 로그 재현부;
    상기 제1 및 제2 XML 데이터들을 상기 제1 및 제4 스크립트 데이터들로 각각 변환하고, 상기 금융 업무 프로그램이 재실행될 때, 상기 제5 스크립트 데이터들, 또는 상기 제6 스크립트 데이터들, 또는 상기 제3 스크립트 데이터들 중 일부를 상기 제1 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 상기 제2 테스트용 XML 데이터들로 변환하는 스크립트 엔진; 및
    상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 상기 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하는 보고서 자동 생성부를 더 포함하고,
    상기 메인 컨트롤러는, 상기 기록 명령을 출력한 후, 상기 JCM 프로그램으로부터 수신되는 상기 제1 XML 데이터들과 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제4 스크립트 데이터들을 수신하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리부 또는 상기 패키지 거래 처리부에 출력하거나, 또는 상기 테스트 DB로부터 상기 제3 스크립트 데이터들을 판독하여 상기 온라인 로그 재현부에 출력하고, 상기 테스트 데이터 처리부로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 패키지 거래 처리부로부터 수신되는 상기 제6 스크립트 데이터들, 또는 상기 온라인 로그 재현부로부터 수신되는 상기 제3 스크립트 데이터들 중 일부와, 상기 테스트 DB로부터 판독한 상기 제4 스크립트 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제2 테스트용 XML 데이터들을 수신하여, 상기 제1 테스트용 XML 데이터들을 상기 JCM 프로그램에 전달하고, 상기 제2 테스트용 XML 데이터들을 상기 장치 인터페이스부를 통하여 상기 주변기기 제어부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안 발생되는 상기 테스트 결과 정보들을 수집하고, 상기 사용자 인터페이스부의 상기 표시 장치에 표시되는 상기 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들과 상기 캡처한 이미지 파일들을 상기 보고서 자동 생성부에 출력하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하고,
    상기 복수의 테스트 케이스 데이터들 중, 하나의 테스트 케이스 데이터는 하나의 금융 거래 업무를 나타내는 금융 업무 프로그램의 자동 테스트 시스템.
  29. 제28항에 있어서,
    상기 복수의 금융 단말기들이 금융 업무 프로그램을 자동으로 테스트하는 기능을 각각 실행하도록 제어하는 중앙 제어기를 더 포함하고,
    상기 중앙 제어기는,
    상기 복수의 금융 단말기들 각각에 포함된 상기 사용자 인터페이스부와 동일한 기능을 실행하는 중앙 사용자 인터페이스부; 및
    상기 사용자가 상기 중앙 사용자 인터페이스부를 조작함에 따라, 상기 복수의 금융 단말기들이 상기 금융 업무 프로그램을 각각 자동으로 테스트하도록 제어하는 중앙 제어부를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  30. 제1 내지 제3 스크립트 데이터들, 테스트 결과 정보들, 및 테스트 결과 보고서 파일을 저장하는 테스트 DB;
    기록 명령에 응답하여, 금융 단말기에서 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML 데이터들로 변환하고, 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 금융 단말기에서 상기 금융 업무 프로그램을 재실행시키는 프로그램인 JCM(java control manager) 프로그램과, 상기 금융 업무 프로그램을 저장하고, 상기 금융 단말기 내에 포함된 저장 공간; 및
    사용자의 입력에 따라 상기 기록 명령 또는 상기 재실행 명령을 상기 금융 단말기에 출력하고, 상기 기록 명령 또는 상기 재실행 명령을 출력하고, 상기 제1 XML 데이터들을 상기 제1 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여, 상기 제1 테스트용 XML 데이터들을 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 금융 단말기로부터 상기 테스트 결과 정보들을 수신하고, 상기 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하는 테스트 자동화 처리부를 포함하고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 테스트 자동화 처리부가 상기 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하고,
    상기 금융 단말기 내에 포함된 컨트롤러가 상기 JCM 프로그램과 상기 금융 업무 프로그램 중 적어도 하나를 실행하는 금융 업무 프로그램의 자동 테스트 시스템.
  31. 제30항에 있어서,
    상기 제1 XML 데이터들은 상기 금융 업무 프로그램의 각 금융 업무별 이벤트들의 흐름 및 각 이벤트들에 대한 입력 데이터들을 포함하는 금융 업무 프로그램의 자동 테스트 시스템
  32. 삭제
  33. 제30항에 있어서,
    금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 상기 제3 스크립트 데이터들을 생성하는 로그 데이터 수집기를 더 포함하고,
    상기 로그 데이터들은 상기 금융 기관 내에서 사용되는 영업점 금융 단말기들 각각에 저장된 로그 데이터들을 포함하고, 상기 영업점 금융 단말기들 각각은, 하나의 금융 거래 업무를 실행할 때마다 해당 금융 거래 업무에 대한 로그 데이터를 발생하여 저장하고, 자신에 저장된 로그 데이터들을 상기 영업점 DB에 주기적으로 저장하는 금융 업무 프로그램의 자동 테스트 시스템.
  34. 제30항에 있어서,
    주변기기 제어부와 상기 테스트 자동화 처리부 간의 통신을 인터페이스하는 장치 인터페이스부를 더 포함하고,
    상기 금융 단말기에는, 복수의 주변기기들과 상기 주변기기 제어부를 포함하는 주변기기부가 연결되고,
    상기 주변기기 제어부는 상기 기록 명령에 응답하여, 상기 주변기기들의 동작에 따른 제2 이벤트 정보들을 제2 XML 데이터들로 변환하여 상기 장치 인터페이스부를 통하여 상기 테스트 자동화 처리부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 자동 테스트 시스템이 사람의 개입 없이 상기 금융 업무 프로그램을 자동으로 테스트하도록 하기 위해, 상기 재실행 명령 및 제2 테스트용 XML 데이터들에 기초하여, 상기 주변기기들 중 적어도 하나가 동작할 때 출력하는 데이터 신호와 동일한 데이터 신호를 발생하여 상기 금융 단말기에 출력함으로써, 상기 주변기기들 중 적어도 하나의 동작을 대행하고,
    상기 테스트 자동화 처리부는 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 제4 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때 상기 테스트 DB로부터 상기 제4 스크립트 데이터들을 판독하여 상기 제2 테스트용 XML 데이터들로 변환하여 출력하는 금융 업무 프로그램의 자동 테스트 시스템.
  35. 제34항에 있어서,
    상기 주변기기들은, 핀 패드, 직불카드 발급기, IC 리더기, 통장 프린터, 및 통장 리더기 중 적어도 하나를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  36. 제34항에 있어서,
    상기 테스트 자동화 처리부는,
    사용자의 입력에 따라 입력 신호를 출력하는 사용자 인터페이스부;
    상기 제1 또는 제2 스크립트 데이터들을 분석하고, 상기 사용자가 입력해야 할 데이터 목록을 그리드 형태로 구성한 편집화면을 상기 사용자 인터페이스부에 포함된 표시 장치에 표시하고, 상기 사용자에 의해 편집 및 생성된 제5 스크립트 데이터들을 출력하는 테스트 데이터 처리부;
    상기 제1 및 제2 XML 데이터들을 상기 제1 및 제4 스크립트 데이터들로 각각 변환하고, 상기 금융 업무 프로그램이 재실행될 때, 상기 제5 스크립트 데이터들을 상기 제1 테스트용 XML 데이터들로 변환하고, 상기 제4 스크립트 데이터들을 상기 제2 테스트용 XML 데이터들로 변환하는 스크립트 엔진;
    상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 상기 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하는 보고서 자동 생성부; 및
    상기 입력 신호에 응답하여, 상기 기록 명령 또는 상기 재실행 명령을 출력하고, 상기 기록 명령을 출력한 후, 상기 JCM 프로그램을 실행하는 상기 금융 단말기의 컨트롤러로부터 수신되는 상기 제1 XML 데이터들과 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제4 스크립트 데이터들을 수신하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리부에 출력하고, 상기 테스트 DB로부터 판독한 상기 제4 스크립트 데이터들과, 상기 테스트 데이터 처리부로부터 수신되는 상기 제5 스크립트 데이터들을 상기 스크립트 엔진에 출력하고, 상기 스크립트 엔진으로부터 상기 제1 및 제2 테스트용 XML 데이터들을 수신하여, 상기 제1 테스트용 XML 데이터들을 상기 JCM 프로그램을 실행하는 상기 금융 단말기의 컨트롤러에 출력하고, 상기 제2 테스트용 XML 데이터들을 상기 장치 인터페이스부를 통하여 상기 주변기기 제어부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 금융 단말기로부터 상기 테스트 결과 정보들을 수신하고, 상기 금융 단말기에 표시되는 상기 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들과 상기 캡처한 이미지 파일들을 상기 보고서 자동 생성부에 출력하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하는 메인 컨트롤러 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  37. 제36항에 있어서,
    상기 테스트 자동화 처리부는,
    상기 제1 또는 제2 스크립트 데이터들을 포함하는 복수의 테스트 케이스 데이터들을 상기 사용자 인터페이스부의 표시 장치의 화면에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 화면에 표시된 복수의 테스트 케이스 데이터들 중 일부를 상호 조합하여 하나의 패키지 업무로 조합 편집하여, 그 편집된 패키지 업무와 관련한 제6 스크립트 데이터들을 출력하는 패키지 거래 처리부; 및
    상기 제3 스크립트 데이터들 중 일부를 선택하기 위한 화면을 상기 사용자 인터페이스부의 표시 장치에 표시하고, 상기 사용자가 상기 사용자 인터페이스부의 입력부를 조작함에 따라, 상기 제3 스크립트 데이터들 중 일부를 선택하여 출력하는 온라인 로그 재현부를 더 포함하고,
    상기 메인 컨트롤러는, 상기 재실행 명령을 출력할 때, 상기 테스트 DB로부 터 상기 제1 또는 제2 스크립트 데이터들을 판독하여 상기 테스트 데이터 처리부 또는 상기 패키지 거래 처리부에 출력하거나, 또는 상기 테스트 DB로부터 상기 제3 스크립트 데이터들을 판독하여 상기 온라인 로그 재현부에 출력하고, 상기 테스트 데이터 처리부로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 패키지 거래 처리부로부터 수신되는 상기 제6 스크립트 데이터들, 또는 상기 온라인 로그 재현부로부터 수신되는 상기 제3 스크립트 데이터들 중 일부를 상기 스크립트 엔진에 출력하고,
    상기 스크립트 엔진은, 상기 메인 컨트롤러로부터 수신되는 상기 제5 스크립트 데이터들, 또는 상기 제6 스크립트 데이터들, 또는 상기 제3 스크립트 데이터들 중 일부를 상기 제1 테스트용 XML 데이터들로 변환하고,
    상기 복수의 테스트 케이스 데이터들 중, 하나의 테스트 케이스 데이터는 하나의 금융 거래 업무를 나타내는 금융 업무 프로그램의 자동 테스트 시스템.
  38. 제36항에 있어서,
    상기 보고서 자동 생성부는, 상기 캡처한 이미지 파일에 포함되는, 하나의 금융 거래 업무에 대한 결과 화면 이미지에서, 고객의 개인정보가 표시된 부분 위에 스텐실 이미지를 겹친 채로, 결과 화면 이미지와 스텐실 이미지를 하나의 이미지로 가공함으로써, 가공된 이미지 파일로부터 상기 결과 화면 이미지가 복구되지 않도록 하고, 가공된 이미지 파일과, 상기 체크 결과에 따른 테스트 결과 내용을 포함하는 상기 테스트 결과 보고서 파일을 생성하는 금융 업무 프로그램의 자동 테 스트 시스템.
  39. 제30항에 있어서,
    텔러 ID 정보, 각 텔러 별로 정해진 승인 책임자 ID 정보, 및 자동 승인 정보를 저장하는 승인 DB; 및
    상기 금융 업무 프로그램이 재실행되는 동안, 상기 금융 단말기로부터 승인 요청 메시지를 수신할 때, 상기 승인 요청 메시지에 포함된 텔러 ID 정보를 상기 승인 DB에 저장된 상기 텔러 ID 정보에 대조하고, 그 대조 결과에 따라 상기 자동 승인 정보를 상기 승인 DB 저장한 후, 상기 금융 단말기에 승인 완료 메시지를 출력하는 책임자 승인 처리기를 더 포함하고,
    상기 금융 단말기 내에 포함된 컨트롤러는 상기 승인 DB에 저장된 상기 자동 승인 정보를 확인한 후, 상기 금융 업무 프로그램의 다음 업무를 실행하는 금융 업무 프로그램의 자동 테스트 시스템.
  40. 제1 내지 제3 스크립트 데이터들, 테스트 결과 정보들, 및 테스트 결과 보고서 파일을 저장하는 테스트 DB;
    복수의 JCM 프로그램들과 복수의 금융 업무 프로그램들을 각각 저장하는 저장 공간들로서, 복수의 금융 단말기들 내에 각각 포함된 복수의 저장 공간들;
    상기 복수의 금융 단말기들에 각각 연결되고, 사용자의 입력에 따라 기록 명령 또는 재실행 명령을 상기 복수의 금융 단말기에 각각 출력하는 복수의 테스트 자동화 처리부들; 및
    상기 복수의 테스트 자동화 처리부들의 동작을 제어하는 중앙 제어기를 포함하고,
    상기 복수의 금융 단말기 내에 각각 포함되는 복수의 컨트롤러들이, 상기 복수의 JCM 프로그램들과 상기 복수의 금융 업무 프로그램들 중 적어도 하나를 각각 실행하고,
    상기 복수의 JCM 프로그램들 각각은, 상기 기록 명령에 응답하여, 상기 복수의 금융 단말기들 중 자신에 대응하는 하나에서 금융 업무 프로그램이 실행될 때 발생하는 제1 이벤트 정보들을 제1 XML 데이터들로 변환하고, 상기 재실행 명령에 응답하여, 제1 테스트용 XML 데이터들에 기초한 이벤트들을 발생시킴으로써, 상기 자신에 대응하는 금융 단말기에서 상기 금융 업무 프로그램을 재실행시키는 프로그램이고,
    상기 복수의 테스트 자동화 처리부들 각각은, 자신에 연결된 금융 단말기로부터 수신되는 상기 제1 XML 데이터들을 상기 제1 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 제1 또는 상기 제2 또는 상기 제3 스크립트 데이터들에 기초하여, 상기 제1 테스트용 XML 데이터들을 자신에 연결된 금융 단말기에 출력하고, 자신에 연결된 금융 단말기에서 상기 금융 업무 프로그램이 재실행되는 동안, 자신에 연결된 금융 단말기로부터 상기 테스트 결과 정보들을 수신하고, 자신에 연결된 금융 단말기에 표시되는 테스트 결과 화면들을 캡처하고, 상기 테스트 결과 정보들에 기초하여 상기 금융 업무 프로그램의 오류 여부를 체크하고, 그 체크 결과와 캡처한 이미지 파일들에 기초하여 상기 테스트 결과 보고서 파일을 생성하고, 상기 테스트 결과 정보들과 상기 테스트 결과 보고서 파일을 상기 테스트 DB에 저장하고,
    상기 제2 스크립트 데이터들은 이전의 금융 업무 프로그램을 테스트할 때 상기 복수의 테스트 자동화 처리부들 각각이 상기 제1 테스트용 XML 데이터들을 출력하는데 사용된 스크립트 데이터들이고, 상기 제3 스크립트 데이터들은 영업점 금융 단말기에서 실제로 실행된 금융 거래 정보를 포함하는 금융 업무 프로그램의 자동 테스트 시스템.
  41. 제40항에 있어서,
    복수의 주변기기 제어부들과 상기 복수의 테스트 자동화 처리부들 간의 통신을 각각 인터페이스하는 복수의 장치 인터페이스부들을 더 포함하고,
    상기 복수의 금융 단말기들에는 복수의 주변기기부들이 각각 연결되고, 상기 복수의 주변기기부들 각각은, 상기 복수의 주변기기 제어부들 중 하나와 복수의 주변기기들을 포함하고,
    상기 복수의 주변기기 제어부들 각각은, 상기 기록 명령에 응답하여, 상기 주변기기들의 동작에 따른 제2 이벤트 정보들을 제2 XML 데이터들로 변환하여 상기 복수의 장치 인터페이스부들 각각을 통하여, 자신에 대응하는 테스트 자동화 처리부에 출력하고, 상기 금융 업무 프로그램이 재실행되는 동안, 상기 자동 테스트 시스템이 사람의 개입 없이 상기 금융 업무 프로그램을 자동으로 테스트하도록 하기 위해, 상기 재실행 명령 및 제2 테스트용 XML 데이터들에 기초하여, 상기 주변기기들 중 적어도 하나가 동작할 때 출력하는 데이터 신호와 동일한 데이터 신호를 발생하여 상기 금융 단말기에 출력함으로써, 상기 주변기기들 중 적어도 하나의 동작을 대행하고,
    상기 복수의 테스트 자동화 처리부 각각은, 자신에 대응하는 상기 주변기기 제어부로부터 수신되는 상기 제2 XML 데이터들을 제4 스크립트 데이터들로 변환하여 상기 테스트 DB에 저장하고, 상기 재실행 명령을 출력할 때 상기 테스트 DB로부터 상기 제4 스크립트 데이터들을 판독하여 상기 제2 테스트용 XML 데이터들로 변환하여 자신에 대응하는 상기 주변기기 제어부에 출력하는 금융 업무 프로그램의 자동 테스트 시스템.
  42. 제40항에 있어서,
    텔러 ID 정보, 각 텔러 별로 정해진 승인 책임자 ID 정보, 및 자동 승인 정보를 저장하는 승인 DB; 및
    상기 금융 업무 프로그램이 상기 복수의 금융 단말기들에서 각각 재실행되는 동안, 상기 복수의 금융 단말기들 중 적어도 하나로부터 승인 요청 메시지를 수신할 때, 상기 승인 요청 메시지에 포함된 텔러 ID 정보를 상기 승인 DB에 저장된 상기 텔러 ID 정보에 대조하고, 그 대조 결과에 따라 상기 자동 승인 정보를 상기 승인 DB 저장한 후, 해당 금융 단말기에 승인 완료 메시지를 출력하는 책임자 승인 처리기를 더 포함하고,
    해당 금융 단말기의 컨트롤러는 상기 승인 DB에 저장된 상기 자동 승인 정보를 확인한 후, 상기 금융 업무 프로그램의 다음 업무를 실행하는 금융 업무 프로그램의 자동 테스트 시스템.
  43. 제40항에 있어서,
    상기 금융 업무 프로그램이 상기 복수의 금융 단말기들에서 각각 재실행될 때, 상기 복수의 금융 단말기들에서 각각 실행되는 금융 거래 업무들은 서로 다른 금융 업무 프로그램의 자동 테스트 시스템.
  44. 제40항에 있어서,
    금융 기관 내에서 사용되는 영업점 DB에 저장된 로그 데이터들 중 일부 또는 전체를 주기적으로 자동 수집하고, 그 수집한 로그 데이터들에 기초하여 상기 제3 스크립트 데이터들을 생성하는 로그 데이터 수집기를 더 포함하고,
    상기 로그 데이터들은 상기 금융 기관 내에서 사용되는 영업점 금융 단말기들 각각에 저장된 로그 데이터들을 포함하고, 상기 영업점 금융 단말기들 각각은, 하나의 금융 거래 업무를 실행할 때마다 해당 금융 거래 업무에 대한 로그 데이터를 발생하여 저장하고, 자신에 저장된 로그 데이터들을 상기 영업점 DB에 주기적으로 저장하는 금융 업무 프로그램의 자동 테스트 시스템.
KR1020080034096A 2008-01-04 2008-04-14 금융 업무 프로그램의 자동 테스트 시스템 및 방법 KR101020132B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080001468 2008-01-04
KR1020080001468 2008-01-04

Publications (2)

Publication Number Publication Date
KR20090075600A KR20090075600A (ko) 2009-07-08
KR101020132B1 true KR101020132B1 (ko) 2011-03-07

Family

ID=41332786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080034096A KR101020132B1 (ko) 2008-01-04 2008-04-14 금융 업무 프로그램의 자동 테스트 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101020132B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101346835B1 (ko) * 2011-12-15 2014-01-06 이지케어텍(주) 어플리케이션 오류 처리 방법 및 장치
KR101461790B1 (ko) * 2013-03-25 2014-11-13 주식회사 엘지씨엔에스 금융기기 모듈 동작 프로그램의 상태를 나타내는 장치 및 방법
CN106681798B (zh) * 2016-12-28 2021-07-20 安徽和润信息科技有限公司 一种银行业务模拟仿真系统
KR102453610B1 (ko) * 2020-12-30 2022-10-11 주식회사 엘지씨엔에스 테스트 정보를 제공하는 방법, 가상 연계 디바이스 및 시스템
CN116192672B (zh) * 2022-12-16 2024-07-16 中国联合网络通信集团有限公司 脚本查看方法和相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020095723A (ko) * 2001-06-15 2002-12-28 삼성전자 주식회사 소프트웨어 통합 테스팅을 위한 자동화 방법 및 도구
US6697967B1 (en) * 2001-06-12 2004-02-24 Yotta Networks Software for executing automated tests by server based XML

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697967B1 (en) * 2001-06-12 2004-02-24 Yotta Networks Software for executing automated tests by server based XML
KR20020095723A (ko) * 2001-06-15 2002-12-28 삼성전자 주식회사 소프트웨어 통합 테스팅을 위한 자동화 방법 및 도구

Also Published As

Publication number Publication date
KR20090075600A (ko) 2009-07-08

Similar Documents

Publication Publication Date Title
US9524230B2 (en) Testing coordinator
AU2008317392B2 (en) Method and system of generating audit procedures and forms
CN101221503A (zh) 软件测试方法及装置
KR101020132B1 (ko) 금융 업무 프로그램의 자동 테스트 시스템 및 방법
CN111797019B (zh) 一种交易核算测试方法、装置、电子设备及存储介质
CN111459800B (zh) 一种业务系统可用性验证方法、装置、设备和介质
US20070114273A1 (en) Transaction cooperation method in branch office system
CN112801777A (zh) 一种银行函证自动处理方法、系统、电子设备及存储介质
CN112199277A (zh) 一种基于浏览器的缺陷复现方法、装置、设备及存储介质
US6336590B1 (en) Electronic funds transfer network test system
CN112882957B (zh) 一种测试任务有效性检查方法和装置
US8036980B2 (en) Method and system of generating audit procedures and forms
KR20090083621A (ko) 저널로그를 이용한 품질테스트 자동화방법
KR100969877B1 (ko) 품질테스트자동화시스템
JP6224194B1 (ja) テスト工程管理システム、テスト工程管理方法及びテスト工程管理プログラム
CN113947465A (zh) 一种跨境电商申报结果核对预警方法和装置
KR100947860B1 (ko) 임베디드 장비를 이용한 품질테스트 자동화방법
CN112950364A (zh) 一种还款方法、装置、设备及存储介质
CN114240652A (zh) 一种业务系统的规则生成方法及装置
CN108460008B (zh) 单据生成方法、系统、计算机设备以及可读存储介质
KR20090083622A (ko) 데이터 자동생성기능을 이용한 품질테스트 자동화방법
US10366458B2 (en) Live reporting of check image keying issues
JPH0981416A (ja) テスト装置
KR102544186B1 (ko) 아레스 테스트 고도화 서비스 시스템 및 방법
KR20090083624A (ko) 패키지, 스텐실, 및 자동책임자 승인을 이용한 품질테스트자동화시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee