KR20210149616A - 자동 휴대용 장치 테스트 방법 및 시스템 - Google Patents

자동 휴대용 장치 테스트 방법 및 시스템 Download PDF

Info

Publication number
KR20210149616A
KR20210149616A KR1020210070306A KR20210070306A KR20210149616A KR 20210149616 A KR20210149616 A KR 20210149616A KR 1020210070306 A KR1020210070306 A KR 1020210070306A KR 20210070306 A KR20210070306 A KR 20210070306A KR 20210149616 A KR20210149616 A KR 20210149616A
Authority
KR
South Korea
Prior art keywords
test
access device
interaction
test tool
output data
Prior art date
Application number
KR1020210070306A
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 KR20210149616A publication Critical patent/KR20210149616A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10237Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the reader and the record carrier being capable of selectively switching between reader and record carrier appearance, e.g. in near field communication [NFC] devices where the NFC device may function as an RFID reader or as an RFID tag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • 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/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • 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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0095Testing the sensing arrangement, e.g. testing if a magnetic card reader, bar code reader, RFID interrogator or smart card reader functions properly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

휴대용 액세스 장치를 테스트하는 시스템 및 방법이 설명되어 있다. 방법은, 판독기 컨트롤러에 의해, 구성 파일 구성 데이터를 수신하는 단계와 판독기 컨트롤러에 의해, 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하는 단계를 포함한다. 본 방법은 또한, 구성 명령을 기초로 상호 작용 시나리오에 대해 액세스 장치 상의 액세스 애플리케이션을 구성하는 단계와 액세스 장치와 테스트 툴 간의 상호 작용 시나리오를 시작하는 단계를 포함한다. 본 방법은 또한, 액세스 장치에 의해, 테스트 툴로부터 상호 작용 데이터를 수신하는 단계와 액세스 장치에 의해, 상호 작용 데이터를 처리함으로써 테스트 출력 데이터를 생성하는 단계를 포함한다. 본 방법은 또한, 액세스 장치에 의해, 테스트 출력 데이터를 판독기 컨트롤러에 제공하는 단계와 판독기 컨트롤러에 의해, 테스트 출력 데이터를 테스트 툴에 전송하는 단계를 포함한다.

Description

자동 휴대용 장치 테스트 방법 및 시스템{AUTOMATIC PORTABLE DEVICE TESTING METHOD AND SYSTEM}
관련 출원에 대한 상호 참조
본 출원은 2020년 6월 1일에 출원된 미국 가출원 제63/032,947호의 청구 우선권을 주장하며 비-임시적이고, 본원에 참조로 포함된다.
배지 판독기, 티켓 판독기 및 POS 장치와 같은 종래의 액세스 장치는 의도된 목적을 위해 특별히 제조된다. 이들은 제조된 후, 이를 사용하는 제공자에 배포되기 전에 광범위하게 테스트된다.
최근 몇 년 동안, 많은 트랜잭션 제공자가 상용 모바일 장치에 통합할 수 있는 액세스 장치 솔루션을 개발하고 있다. 예를 들어, 일부 배지 판독기, 티켓 판독기 및 모바일 POS(mPOS) 솔루션은, NFC(근거리 통신)를 지원하는 스마트폰에 애플리케이션을 배포하는 것을 포함한다. 이러한 솔루션은 모바일 장치를 액세스 장치로 사용할 수 있게 해준다.
그러나, 액세스 장치로 이를 적용하기 위해 모바일 장치에 애플리케이션을 사용하는 한 가지 단점은, 이들이 사용될 수 있기 전에 애플리케이션을 광범위하게 테스트할 필요가 있다는 것이다. 애플리케이션 소프트웨어는, 기존의 액세스 장치 판독기 및 소프트웨어에 비해, 빠른 배포 사이클과 짧은 수명을 갖는다. 이는, 기존 액세스 장치가 인증을 받기 전에 1500개 이상의 테스트 사례를 통과해야 하기 때문에, 문제가 된다. 액세스 장치의 종래의 테스트에서, 프로브는, 테스트 사례가 액세스 장치에서 실행될 때마다 테스트될 액세스 장치를 탭하는 데, 사용될 수 있다. 따라서, 통상적인 테스트 방법은 상당한 시간을 가져서 부담스러울 수 있다.
본 발명의 구현예는 이들 문제점 및 기타 문제점을 개별적으로 또는 총괄적으로 다룬다.
일 구현예는 방법을 포함하고, 상기 방법은, 판독기 컨트롤러로부터 수신된 구성 명령에 기초하여 상호 작용 시나리오에 대해 액세스 애플리케이션을 액세스 장치 상에 구성하는 단계; 상기 액세스 장치와 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계; 상기 액세스 장치에 의해, 상기 테스트 툴로부터 상기 상호 작용 데이터를 수신하는 단계; 상기 액세스 장치에 의해, 상기 상호 작용 데이터를 처리함으로써 테스트 출력 데이터를 생성하는 단계; 및 상기 액세스 장치에 의해, 상기 테스트 출력 데이터를 상기 테스트 툴로 송신하는 상기 판독기 컨트롤러에, 상기 테스트 출력 데이터를 제공하는 단계를 포함한다. 테스트 출력 데이터는 예상 테스트 출력 데이터와 비교하여, 액세스 장치가 상호 작용 시나리오를 수행할 수 있는지를 결정한다.
본 발명의 다른 구현예는 액세스 장치를 포함하고, 상기 액세스 장치는 프로세서, 및 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 비일시적 컴퓨터 판독가능 매체는 상기 프로세서로 하여금 다음 단계를 수행시키도록 상기 프로세서에 의해 실행 가능한 코드를 포함하며, 상기 단계는, 판독기 컨트롤러로부터 수신된 구성 명령에 기초하여 상호 작용 시나리오에 대해 액세스 애플리케이션을 상기 액세스 장치 상에 구성하는 단계; 상기 액세스 장치에 의해, 상기 액세스 장치와 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계; 상기 테스트 툴로부터 상호 작용 데이터를 수신하는 단계; 및 상기 상호 작용 데이터를 처리함으로써 테스트 출력 데이터를 생성하는 단계; 및 상기 테스트 출력 데이터를 상기 테스트 툴로 송신하는 상기 판독기 컨트롤러에, 상기 테스트 출력 데이터를 제공하는 단계를 포함한다. 테스트 출력 데이터는 예상 테스트 출력 데이터와 비교하여, 액세스 장치가 상호 작용 시나리오를 수행할 수 있는지를 결정한다.
다른 구현예는, 테스트 툴에 의해 테스트 계획을 수신하는 단계; 상기 테스트 툴에 의해 상기 테스트 계획을 저장하는 단계; 상기 테스트 툴에 의해 상기 테스트 계획으로부터 구성 데이터를 포함한 구성 파일을 결정하는 단계; 상기 테스트 툴에 의해 상기 구성 데이터를 포함한 구성 파일을 판독기 컨트롤러에 제공하는 단계(상기 판독기 컨트롤러는, 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하여, 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오에 대해 상기 액세스 애플리케이션을 구성함); 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계; 및 상기 액세스 장치로부터 테스트 출력 데이터를 수신하는 단계를 포함한다. 테스트 출력 데이터는 예상 테스트 출력 데이터와 비교하여, 액세스 장치가 상호 작용 시나리오를 수행할 수 있는지를 결정한다.
본 발명의 다른 구현예는, 프로세서를 포함한 테스트 툴, 및 프로세서에 결합된 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 다음 단계를 수행하도록 상기 프로세서에 의해 실행 가능한 코드를 포함하며, 상기 단계는, 테스트 툴에 의해 테스트 계획을 수신하는 단계; 상기 테스트 툴에 의해 상기 테스트 계획을 저장하는 단계; 상기 테스트 툴에 의해 상기 테스트 계획으로부터 구성 데이터를 포함한 구성 파일을 결정하는 단계; 상기 테스트 툴에 의해 상기 구성 데이터를 포함한 구성 파일을 판독기 컨트롤러에 제공하는 단계(상기 판독기 컨트롤러는, 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하여, 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오에 대해 상기 액세스 애플리케이션을 구성함); 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계; 및 상기 액세스 장치로부터 테스트 출력 데이터를 수신하는 단계를 포함한다. 테스트 출력 데이터는 예상 테스트 출력 데이터와 비교하여, 액세스 장치가 상호 작용 시나리오를 수행할 수 있는지를 결정한다.
다른 구현예는, 판독기 컨트롤러에 의해 구성 데이터를 포함한 구성 파일을 수신하는 단계; 상기 판독기 컨트롤러에 의해 상기 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하는 단계(상기 액세스 장치는, 상기 구성 명령에 기초하여 상호 작용 시나리오에 대해 상기 액세스 장치 상의 액세스 애플리케이션을 구성함); 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오를 개시하고, 상기 액세스 장치는 상기 툴로부터 상호 작용 데이터를 수신하고 상기 상호 작용 데이터를 처리하고 테스트 출력 데이터를 생성하는 단계; 상기 액세스 장치로부터 상기 테스트 출력 데이터를 수신하는 단계; 및 상기 판독기 컨트롤러에 의해 상기 테스트 출력 데이터를 상기 테스트 룰로 전송하는 단계를 포함하는, 방법을 포함한다. 테스트 출력 데이터는 예상 테스트 출력 데이터와 비교하여, 액세스 장치가 상호 작용 시나리오를 수행할 수 있는지를 결정한다.
본 발명의 구현예에 관한 추가적인 세부 사항은 상세한 설명과 도면에서 알 수 있다
도 1은 구현예에 따른 시스템의 블록도를 나타낸다.
도 2는 구현예에 따른 시스템의 블록도 및 시퀀스 흐름을 나타낸다.
도 3은 구현예에 따른 테스트 프로토콜의 수영선 다이어그램을 나타낸다.
도 4는 구현예에 따른 테스트 실행 메시지 흐름을 나타낸다.
도 5는 구현예에 따른 배치 테스트 실행 메시지 흐름을 나타낸다.
도 6은 구현예에 따른 트랜잭션 메시지의 다중 시작을 위한 메시지 흐름을 나타낸다.
도 7은 구현예에 따른 트랜잭션 메시지의 다중 종료를 위한 메시지 흐름을 나타낸다.
도 8은, 액세스 장치 또는 테스트 툴에 존재할 수 있는 구성요소를 갖는, 모바일 장치를 나타낸다.
본 발명의 구현예를 논의하기 전에, 일부 용어에 대한 논의가 도움이 될 수 있다.
"휴대용 장치"는 쉽게 운반될 수 있는 장치를 포함할 수 있다. 예를 들어, 사용자에 의해 사용될 수 있는 휴대용 장치는, 상호 작용을 수행하기 위해 액세스 장치와 상호 작용할 수 있다. 휴대용 장치의 예시는, 결제 장치, 회원 장치, 액세스 카드, 식별 장치 등을 포함한다.
"모바일 장치"는, 사용자가 휴대할 수 있는 장치를 포함할 수 있다. 모바일 장치의 예시는 스마트폰, 태블릿 컴퓨터 등을 포함할 수 있다. 일부 구현예에서, 모바일 장치는 상호 작용 애플리케이션 및 커널을 포함할 수 있다. 일부 구현예에서, 모바일 장치는 모바일 액세스 장치일 수 있다. 모바일 액세스 장치는 리소스 제공자 또는 리소스 제공자를 위해 일하는 개인이 사용할 수 있으며, 이는 휴대용 장치를 사용한 사용자가 리소스 제공자(예, 운송 운영자, 장소 운영자, 가맹점 등)에 의해 제공된 리소스(예, 위치, 상품, 서비스, 데이터 등)에 대한 액세스를 획득한 권한이 있음을 확인한다.
"테스트 컴퓨터"는 테스트를 수행할 수 있는 컴퓨터를 포함할 수 있다. 테스트 컴퓨터는 프로세서, 및 판독기 컨트롤러를 포함한 컴퓨터 판독가능 매체를 포함할 수 있다.
"테스트 툴"은 테스트를 수행하기 위해 다른 실체(예, 액세스 장치)와 상호 작용하는 데 사용될 수 있다. 일부 경우에, 테스트 툴은 NFC 에뮬레이터를 포함할 수 있어서, 테스트 툴은 비접촉식 카드 또는 비접촉식 전화기와 같은 장치를 에뮬레이션할 수 있다.
"상호 작용"은 상호 행동이나 영향력을 포함할 수 있다. 상호 작용은 당사자, 장치 및/또는 실체 간의 통신, 연락 또는 교환을 포함할 수 있다. 예시적인 상호 작용은 두 당사자 간의 트랜잭션과 두 장치 간의 데이터 교환을 포함한다.
"상호 작용 데이터"는 상호 작용과 관련된 데이터를 포함할 수 있다. 일부 구현예에서, 상호 작용 데이터는 트랜잭션 데이터일 수 있다. 트랜잭션 데이터는, 트랜잭션과 연관된 데이터 값을 갖는 복수의 데이터 요소를 포함할 수 있다. 일부 구현예에서, 상호 작용 데이터는 식별자, 크리덴셜, 양, 날짜, 시간 등을 포함할 수 있다.
"상호 작용 시나리오"는 상호 작용 계획을 포함할 수 있다. 상호 작용 시나리오의 예는 테스트 사례일 수 있다. 상호 작용은, 예를 들어 액세스 장치와 테스트 툴 사이에서 발생할 수 있는 하나 이상의 통신(상호 작용 입력 및 출력 메시지)일 수 있다. 통신 세트와 시퀀스는 상호 작용 시나리오일 수 있다.
"테스트 계획"은 복수의 상호 작용 시나리오 또는 테스트 사례를 포함할 수 있다. 테스트 계획은, 액세스 장치의 특정 액세스 애플리케이션이 제대로 작동하는지 테스트하는 데 사용될 수 있는, 다수의 테스트 사례를 포함할 수 있다.
"상호 작용 입력 메시지"는 상호 작용 동안에 수신된 통신일 수 있다. 예를 들어, 모바일 장치에 의해 전송된 메시지는, 수신 휴대용 장치에 대한 상호 작용 입력 메시지일 수 있다. 상호 작용 입력 메시지의 한 예시는 APDU(application protocol data unit) 명령을 포함할 수 있다.
"상호 작용 출력 메시지"는 상호 작용 입력 메시지에 응답하는 상호 작용 동안에 전송되는 통신일 수 있다. 상호 작용 출력 메시지의 한 예시는, APDU 명령을 수신하는 것에 응답하여 휴대용 장치로 전송된 APDU 응답을 포함할 수 있다.
"테스트 상호 작용"은 조사 상호 작용일 수 있다. 일부 구현예에서, 테스트 상호 작용은, 상호 작용 시스템이 기능하는 방법에 대한 정보를 결정하기 위해 수행될 수 있다. 예를 들어, 상이한 테스트 상호 작용은, 상이한 유형의 휴대용 장치에 의해 개시되는 경우에, 상호 작용이 제대로 처리될 것인지 여부를 결정하기 위해 설계될 수 있다. 테스트 상호 작용은, 정보 처리 방법을 테스트하기 위해 상호 작용 통신 세션 동안에 특정 유형의 정보를 모바일 장치에 전송하는 것을 포함할 수 있다. 일부 테스트 상호 작용은 상호 작용 처리의 오류를 확인하도록 설계될 수 있다. 예를 들어, 테스트 컴퓨터가 상호 작용에 잘못된 정보를 제공하는 경우에 일부 테스트 상호 작용은 모바일 장치로부터의 응답을 확인할 수 있다. 올바르게 작동하는 모바일 장치는, 잘못된 정보를 수신한 이후에 예측 응답(예, 특정 오류 메시지)을 제공한다.
"상호 작용 보고서"는, 하나 이상의 이전 상호 작용과 관련된 정보를 포함할 수 있다. 상호 작용 보고서는, 상호 작용 메시지가 어떻게 처리되었는지에 대한 설명을 가질 수 있다. 예를 들어, 상호 작용 보고서는 전송 및 수신된 정보와 상호 작용이 성공했는지 여부를 가질 수 있다. 상호 작용 보고서는 또한 문제, 누락 정보, 지연 또는 상호 작용 중에 발생한 기타 문제에 대한 메모를 포함할 수 있다.
"판독기 컨트롤러"는 테스트 공정 동안과 같이, 액세스 장치를 제어하기 위한 적어도 일부 측정 수단을 제공할 수 있는, 장치 및/또는 소프트웨어일 수 있다.
"프로세서"는 무언가를 처리하는 장치를 포함할 수 있다. 일부 구현예에서, 프로세서는 임의의 적합한 데이터 연산 장치(들)를 포함할 수 있다. 프로세서는, 원하는 기능을 달성하도록 함께 동작하는 하나 이상의 마이크로프로세서를 포함할 수 있다. 프로세서는, 사용자 및/또는 시스템 생성 요청을 실행하기 위한 프로그램 구성요소를 실행하는 데 적절한 적어도 하나의 고속 데이터 프로세서를 포함하는 CPU를 포함할 수 있다. CPU는, AMD의 Athlon, Duron 및/또는 Opteron; IBM 및/또는 Motorola의 PowerPC; IBM과 Sony의 Cell 프로세서; Intel의 Celeron, Itanium, Pentium, Xeon, 및/또는 XScale; 및/또는 기타 프로세서(들)의 마이크로프로세서일 수 있다.
"메모리"는, 전자 데이터를 저장할 수 있는 임의의 적합한 장치(들)일 수 있다. 적합한 메모리는, 원하는 방법을 구현하도록 프로세서에 의해 실행될 수 있는 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 메모리의 예로는, 하나 이상의 메모리 칩, 디스크 드라이브 등을 포함할 수 있다. 이러한 메모리는, 임의의 적합한 전기 작동 모드, 광학 작동 모드, 및/또는 자기 작동 모드를 사용하여 작동할 수 있다.
"서버 컴퓨터"는 강력한 컴퓨터 또는 컴퓨터들의 클러스터를 포함할 수 있다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다. 서버 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다.
"액세스 장치"는 외부 컴퓨터 시스템에 대한 액세스를 제공하기 위한 임의의 적합한 장치일 수 있다. 액세스 장치는 임의의 적절한 형태일 수 있다. 액세스 장치의 일부 예는, 판매 지점(POS) 장치, 셀룰러폰, PDA, 퍼스널 컴퓨터(PC), 태블릿 PC, 휴대 전용 판독기, 셋톱 박스, 전자식 금전 등록기(ECR), 현금 자동 입출금기(ATM), 가상 현금 등록기(VCR), 키오스크, 보안 시스템 등을 포함한다. 액세스 장치는 모바일 장치로부터 또는 이와 연관된 데이터를 송신 또는 수신하기 위해 임의의 적절한 접촉식 또는 비접촉식 작동 모드를 이용할 수 있다. 일부 구현예에서, 액세스 장치가 POS 단말기를 포함할 수 있는 경우, 임의의 적절한 POS 단말기가 이용될 수 있으며, 판독기, 프로세서, 및 컴퓨터 판독가능 매체를 포함할 수 있다. 판독기는, 임의의 적절한 접촉식 또는 비접촉식 작동 모드를 포함할 수 있다. 예를 들어, 예시적인 카드 리더기는 모바일 장치와 상호 작용하기 위한 무선 주파수 (RF) 안테나, 광학 스캐너, 바코드 판독기, 또는 마그네틱 스트라이프 판독기를 포함할 수 있다.
도 1은 구현예에 따른 시스템의 하이레벨 다이어그램을 나타낸다. 도 1은, 테스트 자동화에서 세 개의 실체 역할을 나타낸다: 테스트 툴(120), 판독기 컨트롤러(130) 및 액세스 장치(140). 액세스 장치(140)는, 빌딩 배지 액세스 판독기, 티켓 판독기, 또는 POS 단말기와 같은 리소스에 대한 액세스를 부여하는 장치일 수 있다.
테스트 툴(120)은 판독기 컨트롤러(130)와 통신하여 트랜잭션 구성을 전달하고 트랜잭션 결과를 수신할 수 있다. 테스트 툴(120)은 또한, 각 테스트 사례를 실행하기 위한 카드 에뮬레이터(125)(예, 카드 프로브, 카드 기능을 에뮬레이션하는 소프트웨어, 또는 물리적 카드)를 포함할 수 있다. 테스트 툴(120)은, 테스터(110)에게 테스트 툴(120)과 통신하거나 제어할 수 있는 능력을 제공할 수 있는 사용자 인터페이스(UI)를 갖는 디스플레이를 갖는, 테스트 컴퓨터를 또한 포함할 수 있다. 사용자 인터페이스는 테스트, 테스트 상태, 이벤트 및 시각적 검사 확인 프롬프트, 테스트 판정을 수행하기 위해, 테스트 단계 및 지침을 디스플레이할 수 있다. 테스트 툴(120)은 또한, APDU(애플리케이션 프로토콜 데이터 유닛) 및 트랜잭션 결과를 검증할 수 있다.
판독기 컨트롤러(130)는, 테스트 툴(120)과 통신하여 트랜잭션 구성 데이터를 수신하고 액세스 장치(140)로 이를 전달할 수 있다. 트랜잭션 구성 데이터는, 액세스 장치(140)가 소정의 유형의 상황에서 작동하도록 하는, 데이터를 포함할 수 있다. 예를 들어, 액세스 장치(140)가 POS 단말기이면, 트랜잭션 구성 데이터는, 가맹점이 액세스 장치(140) 내로 20 달러를 입력하고 휴대용 장치로부터 계정 번호 수신을 기다리는 것과 같은 경우에, 액세스 장치(140)로 하여금 20 달러 결제 트랜잭션을 시뮬레이션시키는 데이터를 포함할 수 있다. 다른 예시에서, 액세스 장치(140)가 티켓 판독기이면, 구성 데이터는, 그 날 중 특정 시간에 특정 유형의 티켓 포맷과 상호 작용하도록 액세스 장치(140)를 구성할 수 있다.
카드 에뮬레이션 장치(125)가 임의의 요청된 데이터(예, 계정 번호, 사용자 식별 번호 등)를 액세스 장치(140)에 제공한 후에, 판독기 컨트롤러(130)는 액세스 장치(140)로부터 트랜잭션 결과를 나타낸 데이터를 검색할 수도 있다. 판독기 컨트롤러(140)는 또한 이 정보를 이후에 테스트 툴(120)에 제출할 수 있다. 트랜잭션 결과는 정확하거나 잘못될 수 있고, 트랜잭션 결과는 테스트 툴(120)에 의해 평가될 수 있다. 예를 들어, 결제 트랜잭션의 경우에, 정확한 트랜잭션 결과는, 생성 또는 인가 요청 메시지 또는 액세스 장치(140)에 의한 일부 다른 유형의 메시지일 수 있다.
도 2는 다른 구현예에 따른 시스템의 다른 블록 다이어그램을 나타낸다. 도 2는, 사람 또는 기계일 수 있는 테스터(110)를 나타낸다. 시스템은 테스트 툴(120), 판독기 컨트롤러(130) 및 액세스 장치(140)를 포함할 수 있다. 이들 구성 요소는 도 1에 관해 전술되어 있다. 시스템은 또한, 테스트 포털(150), 판독기 컨트롤러(130)를 갖는 테스트 컴퓨터(135), 상호 작용 서버(160), 및 테스트 결과 파일(170)을 포함한다.
일부 구현예에서, 테스트 툴(120)은 스마트폰과 같은 모바일 장치일 수 있다. 테스트 툴(120)은 테스트 애플리케이션(122)을 포함할 수 있다. 테스트 툴(120)은 NFC 카드 에뮬레이션 장치(125)를 가질 수 있는데, 이는, 테스트 툴(120)이 NFC 카드를 에뮬레이션할 수 있게 하는 데 적합한 하드웨어 및/또는 소프트웨어를 포함할 수 있다. NFC가 일례로서 논의되지만, Wi-Fi, 블루투스, IR 등의 다른 단거리 무선 통신 메커니즘, 또는 심지어 접촉 기반 통신 메커니즘이 구현예에 사용될 수 있음에 유의한다.
판독기 컨트롤러(130)는 테스트 컴퓨터(135) 상에 호스팅될 수 있다. 테스트 컴퓨터는, 상호 작용 서버(160) 및 액세스 장치(140)와 통신할 수 있는, 랩톱 또는 데스크톱 컴퓨터와 같은 개인용 컴퓨터일 수 있다.
일부 구현예에서, 액세스 장치(140)는 스마트폰과 같은 모바일 장치일 수 있다. 액세스 장치(140)는 액세스 애플리케이션(142)을 포함할 수 있다. 액세스 애플리케이션은, 빌딩 또는 이벤트 액세스 애플리케이션, 모바일 POS 애플리케이션 등일 수 있다. 액세스 장치(140) 내의 액세스 애플리케이션(142)은 상호 작용 서버(160)와 통신할 수 있다. 액세스 장치(140)는 또한 NFC 판독기(145)를 포함할 수 있는데, 이는 NFC를 사용하여 휴대용 장치로부터 데이터를 읽는 기능을 제공할 수 있다.
테스트 포털(150)은 테스트할 액세스 애플리케이션(142)에 대한 테스트 계획 및 인증을 제공할 수 있다. 일부 구현예에서, 테스트 포털(150)은 테스트 계획(152), 보고서 확인(154), 및 테스트 계획 및 보고서 뷰어(156)를 포함할 수 있다. 테스트 계획(152)은 많은 테스트 계획 중 하나일 수 있으며, 이들 각각은 액세스 장치 및 액세스 애플리케이션을 테스트하기 위한 테스트 사례(테스트 시나리오)를 갖는다. 테스트 계획은 테스트 포털(150)의 테스트 계획 구성 요소에 저장될 수 있다. 보고서 확인 구성 요소(154)는, 액세스 장치(140) 또는 액세스 애플리케이션(142)으로부터 테스트 결과를 수신할 수 있다. 테스트 결과는 테스트 결과 파일(170)에 있을 수 있다. 보고서 확인 구성 요소(154)는 또한 테스트 결과를 평가할 수 있고, 액세스 장치(140) 또는 액세스 애플리케이션(142)을 승인하거나 승인하지 않을 수 있다. 테스트 계획 및 보고서 뷰어(156)는, 테스터(110)에 대한 테스트 계획(152) 및 테스트 결과 파일(170)의 시각화를 제공할 수 있다.
일부 구현예에서, 테스트 포털(150)은, 사용자 장치(미도시)를 사용하는 테스터(110)에 의해 이용되거나 액세스되는 웹 사이트를 실행하는, 원격 서버 컴퓨터에 의해 구현될 수 있다. 테스트 포털(150)은 통신 네트워크를 통해 테스트 툴(120) 상의 테스트 애플리케이션(122)과 통신할 수 있다.
적절한 통신 네트워크는, 직접적인 상호 접속; 인터넷; 근거리 통신망(LAN); 대도시 지역 네트워크(MAN); 인터넷 상의 노드로서의 운영 임무(OMNI); 보안 커스텀 접속(secured custom connection); 광역 네트워크(WAN); 무선 네트워크(예, 한정되는 것은 아니지만, 무선 애플리케이션 프로토콜(WAP), I-모드 및/또는 이와 유사한 것들과 같은 프로토콜을 채용); 및/또는 이와 유사한 것들 중 어느 하나 및/또는 이들의 조합일 수 있다. 컴퓨터, 네트워크, 및 장치 간의 메시지는 한정되지는 않지만 FTP(File Transfer Protocol); HTTP(HyperText Transfer Protocol); HTTPS(Secure Hypertext Transfer Protocol), SSL(Secure Socket Layer) 및/또는 유사한 것들의 보안 통신 프로토콜을 이용하여 전송될 수 있다.
액세스 장치(140) 및 테스트 툴(120)은 스마트폰, 태블릿 컴퓨터 또는 상용 가능한 유사 장치일 수 있다. 예를 들어, 액세스 장치는 제1 휴대 전화일 수 있고, 테스트 툴(120)은 제2 휴대 전화일 수 있다. 그들은 동일한 위치에 있을 수 있고 테스트 동안 서로 근접할 수 있다(예, 1 인치 이내 또는 서로 접촉). 액세스 장치(140) 및 테스트 툴(120)이 스마트폰과 같은 상용 가능한 장치일 수 있기 때문에, 본 발명의 구현예는 액세스 장치(140) 상에 액세스 애플리케이션(142)을 설치하고 인증하고자 하는 리소스 제공자에 의해 쉽게 구현될 수 있다.
사용자 장치, 테스트 컴퓨터(135), 테스트 포털(150), 및 테스트 서버(160)를 작동시키는 테스터(110)는, 액세스 장치(140) 및 테스트 툴(120)이 위치한 곳에 있을 수 있다. 다른 구현예에서, 이들 실체 중 하나 이상은 서로에 대해, 그리고/또는 액세스 장치(140) 및 테스트 툴(120)과 관련하여 원격으로 위치할 수 있다.
도 2를 계속 참조하면, 액세스 장치(140) 상의 액세스 애플리케이션(142)을 테스트하기 위한 방법을 설명할 수 있다.
단계 1에서, 테스터(110) 또는 일부 다른 실체는 테스트 애플리케이션(122)을 시작할 수 있다. 테스트 애플리케이션(122)은, 테스트 포털(150)로부터 테스트 툴(120)로 최신 테스트 계획(152) 버전을 확인하고 다운로드할 수 있다. 테스터(110) 또는 일부 다른 실체는, 테스트 툴(120)을 작동시키고 이를 사용하여 테스트 계획(152)을 얻기 위한 테스트 포털(150)과 접촉할 수 있다.
단계 2에서, 테스터(110)는 테스트 애플리케이션(122)에서 테스트를 개시할 수 있다. 테스트는 배치 테스트, 다중 테스트 사례, 또는 단일 테스트 사례로 실시할 수 있다. 테스트 툴(120) 상의 테스트 애플리케이션(122)은, 테스트 사례의 제1 상호 작용 시나리오에 대한 제1 구성 데이터를 갖는 제1 구성 파일을, 판독기 컨트롤러(130)에 푸시할 수 있다.
단계 3에서, 판독기 컨트롤러(130)는 제1 구성 파일의 제1 구성 데이터를 수신하고, 액세스 애플리케이션(142)을 구성하기 위해 액세스 애플리케이션(142)에 제1 구성 명령을 전송할 수 있다. 일부 구현예에서, 제1 구성 명령은 상호 작용 서버(160)를 통해 전송될 수 있다. 예를 들어, 제1 구성 명령은 20 달러 트랜잭션에 대해 액세스 애플리케이션(142)을 구성할 수 있다. 이 경우, 액세스 애플리케이션(142)은, 20 달러의 트랜잭션이 시작되고 있음을 나타낸 데이터를 수신할 수 있고, 그 다음 20 달러 트랜잭션을 처리하는 단계를 수행할 수 있다. 일부 경우에, 액세스 애플리케이션(142)의 구성은, 액세스 애플리케이션(142)의 특정 데이터 필드에 특정 값(예, 트랜잭션 금액)을 입력하는 단계, 액세스 애플리케이션(142) 내의 특정 루틴을 켜거나 끄는 단계, 액세스 장치(140)가 특정 방식으로 작동하게 예상되도록 액세스 애플리케이션(142)의 코드를 수정 또는 업데이트하는 단계를 포함할 수 있다.
단계 4에서, 판독기 컨트롤러(130)는 테스트 사례의 제1 상호 작용 시나리오를 개시할 수 있다. 제1 상호 작용 시나리오를 개시할 때, 판독기 컨트롤러(130)는 제1 신호를 전송함으로써 액세스 장치(140)의 NFC 수신기를 "오프" 상태로 설정하고, 이어서 "온" 상태로 제2 신호를 전송해서 탭을 에뮬레이션할 수 있다. 일부 구현예에서, 전송된 신호는, 액세스 장치(140)의 켜짐 또는 꺼짐 상태를 제어하는 비트를 스위칭함으로써, 액세스 장치(140)를 켜거나 끌 수 있다. 이러한 방식으로, 액세스 장치(140) 및 테스트 툴(120)이 다중 테스트 전체에 걸쳐 연속 접촉 또는 일관된 간격(예, 1/2 인치)으로 유지되는 경우에도, 단일 탭 상호 작용을 에뮬레이션할 수 있다. 다르게 말하면, 액세스 장치(140) 및 테스트 툴(120)이 이동하지 않더라도, 다중 탭(예, 100 이상의 또는 1000 이상의 탭)이 NFC 판독기 모듈(145)을 켜고 끄는 것에 의해 에뮬레이션될 수 있다. 이는, 수행되는 각각의 모든 테스트에 대해 테스트 툴(120)을 수동으로 이동시키기 위해 인간 또는 기계의 필요성을 제거하며, 따라서 테스트 속도를 개선하고 테스트 툴(120)의 기계적 이동과 연관된 임의의 오류(예, 기계적 분해)의 가능성을 감소시킨다.
단계 5에서, 테스트 애플리케이션(122)은, 제1 상호 작용 시나리오를 수행하기 위해 액세스 애플리케이션(142)을 갖는 테스트 사례 APDU 흐름에 이어 NFC 카드 에뮬레이션 장치(125)를 이용해 카드 에뮬레이션을 시작할 수 있다. 일부 구현예에서, 테스트 애플리케이션(122)은 판독기 컨트롤러(130)로부터 메시지를 수신하는 것에 응답하여 카드 에뮬레이션을 시작할 수 있다. 예를 들어, 메시지는, 사용자 ID 또는 계정 번호와 같은 크리덴셜이 테스트 툴(120)로부터 요청되는 판독 기록 명령일 수 있고, 이는 결제 카드 또는 액세스 배지와 같은 휴대용 장치를 시뮬레이션한다. 그 다음, 액세스 장치(140)는, 테스트 툴(120)이 상호 작용 데이터를 요청하는 메시지를 수신한 후에, 테스트 툴(120)로부터 상호 작용 데이터(예, 시뮬레이션된 PAN, dCVV)를 수신할 수 있다.
단계 6에서, 액세스 애플리케이션(142)은 제1 상호 작용 시나리오에 대한 상호 작용 데이터를 처리하고, 제1 테스트 출력 데이터를 생성할 수 있다. 예를 들어, 제1 테스트 출력 데이터는 20 달러 거래에 대한 트랜잭션 확인일 수 있거나, 20 달러 트랜잭션에 대한 인가 요청 메시지의 생성과 관련된 데이터일 수 있다. 그 다음, 액세스 애플리케이션(142)은 제1 테스트 출력 데이터를 판독기 컨트롤러(130)에 제공할 수 있다. 일부 구현예에서, 제1 테스트 출력 데이터는 상호 작용 서버(160)를 통해 전송될 수 있다.
단계 7에서, 판독기 컨트롤러(130)는 제1 테스트 출력 데이터를 테스트 애플리케이션(122)에 반환할 수 있다. 그 다음, 테스트 애플리케이션(122)(또는 임의의 다른 하류 장치)은 제1 테스트 출력 데이터와 제1 예상 출력 데이터를 비교하여 액세스 장치(140) 및/또는 액세스 애플리케이션(142)이 제1 상호 작용 시나리오를 수행할 수 있는지를 결정할 수 있다. 예를 들어, 예상 테스트 출력은, 테스트 툴(120)로부터의 계정 번호와 인가 요청 메시지에 파일링된 금액 데이터 안의 20 달러 금액으로 포맷된 인가 요청 메시지 형태일 수 있다. 테스트 애플리케이션(122)은, 수신된 인가 요청 메시지 포맷을 예상 인가 요청 메시지 포맷과 비교하여, 액세스 애플리케이션(142)이 예상대로 작동하는지 여부를 결정할 수 있다.
그 다음 테스트 애플리케이션(122)은, 테스트 계획 또는 테스터(110)에 의해 선택된 모든 테스트 사례의 단계 2-7을 반복할 수 있다. 예를 들어, 제2 테스트를 개시하기 위해, 테스트 애플리케이션(122)은 제2 구성 데이터를 갖는 판독기 컨트롤러(130)에 제2 구성 파일을 전송할 수 있다. 그 다음, 판독기 컨트롤러(130)는 제2 구성 명령을 액세스 애플리케이션(142)에 전송하여 제2 상호 작용 시나리오에 대해 이를 구성할 수 있다. 예를 들어, 제2 구성은 $100 트랜잭션일 수 있다. 그 다음, 판독기 컨트롤러(130)는 제2 상호 작용 시나리오를 개시하고, 액세스 장치(140)의 NFC 수신기를 끄고 켜서, 액세스 장치(140)와 테스트 툴(120) 간의 제2 탭 또는 물리적 상호 작용을 시뮬레이션할 수 있다. 그 다음, 액세스 애플리케이션(142)은, 제2 상호 작용 시나리오를 처리하고 제2 테스트 출력 데이터를 생성하고, 이는 판독기 컨트롤러(130)에 그 다음 테스트 애플리케이션(122)으로 전송될 수 있다. 그 다음, 테스트 애플리케이션(122)은 전술한 바와 같이, 제2 테스트 출력 데이터를 제2 예상 출력 데이터와 비교할 수 있다.
단계 2-7는, 임의의 수의 테스트 계획 또는 테스트 시나리오에 대해, 원하는 만큼 반복할 수 있음을 유의한다.
단계 8에서, 테스트 애플리케이션(122)은, 테스터(110)에 의해 선택된 하나 이상의 테스트를 완료한 후에 테스트 결과 파일(170)을 생성한다. 테스트 결과 파일(170)은, 테스트 출력 데이터(예, 제1 테스트 출력 데이터, 제2 테스트 출력 데이터 등)와 예상 출력 데이터(예, 제1 예상 출력 데이터, 제2 예상 출력 데이터 등)를 포함할 수 있다.
단계 9에서, 테스터(110)는, 테스트 툴(120)에서 테스트 포털(150)로 시각화하기 위해 테스트 결과 파일(170)을 업로드한다. 테스터(110)는 테스트 결과 파일(170)을 볼 수 있고, 성공 및/또는 실패한 테스트를 참조하고, 테스트 계획(152)을 검토하여 디버깅을 용이하게 할 수 있다.
단계 10에서, 테스터(110)는 테스트 결과 파일(170)을 테스트 포털(150)의 보고서 확인(154)에 업로드하여 테스트가 실행되었는지 확인한다. 테스트 포털(150)은 테스트 결과 파일(170)을 검증할 수 있고, 액세스 애플리케이션(142)이 테스트를 성공적으로 완료하였음을 확인할 수 있다. 그렇게 되면, 테스트 포털(150)은 공공 사용 및 배포에 대한 액세스 애플리케이션(142)을 인가할 수 있다.
테스트를 수행하기 전에, 테스터(110)는 설정 공정을 완료할 수 있다. 테스터(110)는 액세스 장치(140)에 테스트 타겟 액세스 애플리케이션(142)을 설치할 수 있고, 테스트 컴퓨터(135)에 판독기 컨트롤러(130)를 설치할 수 있고, 테스트 애플리케이션(122)을 테스트 툴(120)에 설치할 수 있다. 테스트 애플리케이션(122)은, 많은 애플리케이션을 저장하는 원격 애플리케이션 스토어를 통해 다운로드될 수 있다. 테스터(110)는 테스트 애플리케이션(122)을 구성하여, HTTP 연결부 또는 일부 다른 수단을 통해 판독기 컨트롤러(130)에 연결한다. 그 다음, 테스터(110)는 액세스 장치(140)와 테스트 툴(120)을 범위(예, 백 투 백) 내에 놓아 이들 사이의 NFC 통신을 허용시킬 수 있다. 그 다음, 테스터(110)는 테스트 컴퓨터(135)와 액세스 장치(140)를 (예를 들어, USB를 통해) 연결하여 판독기 컨트롤러(130)와 액세스 애플리케이션(142)이 통신할 수 있게 한다.
일부 구현예에서, 판독기 컨트롤러에 의해 사용되는 테스트 계획과 테스트 사례는 자율적으로 생성될 수 있다. 이는 테스트 포털(150)에 의해 수행될 수 있다. 이러한 구현예에서, 기계 판독가능 테스트 계획은 요건 모델과 AI(인공 지능)를 사용하여, XML 또는 JSON 포맷으로 생성될 수 있다. 그 다음, 기계 판독가능 테스트 계획으로부터 사람이 읽을 수 있는 테스트 계획을 생성할 수 있다. 모델과 AI는, 기계 판독가능 테스트 계획으로부터의 테스트 사례, 테스트 데이터를 포함한 테스트 사례, 테스트 흐름 및 예상 출력을 생성하기 위해 사용된다. 그 다음 기계 판독가능 테스트 사례를, 예를 들어 XML 또는 JSON으로 생성할 수 있다. 그 다음 테스트 계획과 테스트 사례는 클라우드의 서버에 있는 테스트 포털(150)에 의해 호스팅될 수 있다.
도 3은 테스트 툴(120), 판독기 컨트롤러(130) 및 액세스 장치(140) 사이에서 발생할 수 있는 테스트 공정의 수영선 다이어그램을 나타낸다. 이들 구성 요소는 도 1 및 도 2에 나타나 있으며, 단계는 도 1 및 도 2에 대하여 전술한 단계와 조합될 수 있다.
테스트 준비의 단계 1에서, 판독기 컨트롤러(130)는, TRACE/HTTP/1.1의 요청 라인과 요청 헤더 "Message:ECHO, Host:[IP Address]:[Port], Connection: keep-alive"를 갖는 "ECHO" 요청 HTTP 메시지를 전송함으로써, 테스트 툴(120)과의 접속을 테스트할 수 있다.
단계 2에서, 테스트 툴(120)은 상태 라인 "HTTP/1.1 [상태-코드-이유-구문]," 응답 헤더 "Connection: keep-alive, Content-Type: text/plain"을 갖는 "ECHO" 응답 HTTP 메시지와 응답할 수 있고, 응답 메시지 본문은 ECHO 요청 헤더의 컨텐츠를 포함할 수 있다. 상태 코드는 200 OK(성공, ACK), 400 잘못된 요청 포맷(잘못된 요청 구문), 408 요청 시간 초과(서버 사용 중, 나중에 다시 시도), 기타(실패)일 수 있다.
연결이 설정되었음을 확인한 후에, 판독기 컨트롤러(130)는 테스트 실행 프로세스를 개시할 수 있다. 테스트 실행 프로세스를 반복적으로 반복할 수 있다(예, 1500회).
테스트 실행의 단계 1에서, 판독기 컨트롤러(130)는, 트랜잭션의 시작에 대한 요청을 테스트 툴(120)로 전송할 수 있다. 요청은, GET/HTTP/1.1 요청 라인과 요청 헤더 "Message: STXN Host: [IP Address]:[Port] Connection: keep-alive"를 갖는 "STXN" 요청 HTTP 메시지일 수 있다.
단계 2에서, 테스트 툴(120)은, HTTP/1.1 [상태-코드-이유-구문]의 상태 라인, 요청 헤더 "Connection: keep-alive Content-Type: text/plain" 및 구성 데이터를 갖는 XML 데이터와 함께 "STXN" 응답 HTTP 메시지로 판독기 컨트롤러(130)에 트랜잭션을 위한 구성을 전송할 수 있다. 상태 코드는 200 OK(성공, ACK), 204 컨텐츠 없음(테스트 더 이상 없음), 400 잘못된 요청 포맷(잘못된 요청 구문), 408 요청 시간 초과(서버 사용 중, 나중에 다시 시도), 409 충돌(다중 업데이트), 기타(서버 제외)일 수 있다.
단계 3에서, 판독기 컨트롤러(130)는 구성 명령을 액세스 장치(140)에 전송해서 트랜잭션을 위한 장치를 구성할 수 있다.
단계 4에서, 액세스 장치(140)는 테스트(또는 테스트 시나리오)를 실행할 수 있다. 테스트를 실행함에 있어서, 액세스 장치(140)는 (예를 들어, 테스트 툴(120) 상에서 에뮬레이션된 카드를 판독함으로써) 테스트 툴(120)과 상호 작용할 수 있다.
단계 5에서, 액세스 장치(140)는 트랜잭션을 처리하고 테스트 출력 데이터로서 트랜잭션 결과를 생성할 수 있다. 그 다음, 액세스 장치(140)는 테스트 출력 데이터를 판독기 컨트롤러(130)로 전송할 수 있다.
단계 6에서, 판독기 컨트롤러(130)는, POST/HTTP/1.1의 요청 라인, 요청 헤더 "Message: ETXN, Host: [IP Address]:[Port], Connection: keep-alive, Content-Type: text/plain", 및 테스트 출력 데이터를 포함하 SML 데이터를 갖는 "ETXN" 요청 HTTP 메시지를 전송함으로써, 트랜잭션 결과를 테스트 툴(120)에 제출할 수 있다.
단계 7에서, 테스트 툴(120)은, 상태 라인 HTTP/1.1 [상태-코드-이유-구문]을 갖는 "ETXN" 응답 HTTP 메시지를 전송함으로써, 트랜잭션 결과를 인지할 수 있다. 상태 코드는 200 OK(성공, ACK), 400 잘못된 요청 포맷(잘못된 요청 구문), 408 요청 시간 초과(서버 사용 중, 나중에 다시 시도), 409(다중 업데이트) 등 중 하나일 수 있다.
도 4 및 도 5는 테스트 실행 동안에 클라이언트(예, 판독기 컨트롤러)와 서버(예, 테스트 툴) 간의 메시지 교환을 나타낸다. 테스트 프로세스가 시작되기 전에, 서버는 실행할 Test_ID 목록을 준비할 수 있다. 실행할 Test_ID 목록은, 테스터가 선호하는 실행 유형에 따라 다를 수 있다. 테스터는 단일 실행을 선택하여 단일 테스트 사례를 실행하거나(하나씩 실행), 또는 배치 실행할 수 있고 테스트 사례의 전체 배치를 실행할 수 있다(전체 배치 실행). 다른 구현예에서, 테스터는 전체 배치로부터 테스트 사례의 부분 집합을 선택할 수 있다. 도 4 및 도 5뿐만 아니라 도 6 내지 도 7에 에 나타낸 단계는 도 1 및 도 2를 참조하여 전술된 단계와 조합될 수 있다.
Test_ID는, 세 개의 상태로 최소 구성된 테스트 주기를 조정할 수 있다. 하나의 상태는 "시작", 시작 상태로, 여기서 Test_ID가 결코 전송되지 않거나 결코 완료되지 않았다. 다른 하나의 상태는 "전송"이고, 전송 상태는, 서버가 트랜잭션 시작 메시지를 수신하고 이 Test_ID가 클라이언트에 전송되었다. 다른 하나의 상태는 "완료"이고, 완료 상태는, 서버가 Test_ID에 대한 트랜잭션 종료 메시지를 수신하고 응답 상태 코드는 200(OK)이다. 서버가 Test_ID 목록(예, 실행할 테스트 사례 없음)을 소진한 경우에, 서버는 트랜잭션 시작 메시지에 204 상태 코드를 사용할 수 있다.
도 4는 테스트 사례의 단일 실행에 대한 메시지 흐름을 나타낸다. 단계 402에서, 사용자는 실행할 단일 Test_ID를 식별할 수 있다.
단계 404에서, 클라이언트는 서버에 STXN 요청 메시지를 전송할 수 있다.
단계 406에서, 서버는, 상태 코드 200을 갖는 STXN 응답으로 Test_ID를 회신할 수 있고, Test_ID를 전송된 것으로 플래그할 수 있다.
단계 408에서, 클라이언트는 서버에 ETXN 요청 메시지를 전송할 수 있다.
단계 410에서, 서버는 상태 코드 200을 갖는 ETXN 응답으로 회신할 수 있고, Test_ID를 완료로 표시할 수 있다.
단계 412에서, 클라이언트는 서버에 다른 STXN 요청 메시지를 전송할 수 있다.
단계 414에서, 서버는, 실행할 테스트 사례가 더 이상 없음을 나타낸 204의 상태 코드를 갖는 ETXN 응답 메시지를 전송할 수 있다.
도 5는, 복수의 테스트 사례의 배치 실행에 대한 메시지 흐름을 나타낸다. 단계 502에서, 서버는 실행할 Test_ID 목록을 준비할 수 있다.
단계 504에서, 클라이언트는 서버에 STXN 요청 메시지를 전송할 수 있다.
단계 506에서, 서버는, 상태 코드 200을 갖는 STXN 응답으로 다음 Test_ID를 회신할 수 있고, Test_ID를 전송된 것으로 플래그할 수 있다.
단계 508에서, 클라이언트는 서버에 ETXN 요청 메시지를 전송할 수 있다.
단계 510에서, 서버는 상태 코드 200을 갖는 ETXN 응답으로 회신할 수 있고, 현재 Test_ID를 완료로 표시할 수 있다.
그 다음, 모든 테스트 사례가 실행될 때까지 단계 504-510를 여러 번 반복할 수 있다.
단계 512에서, 클라이언트는 서버에 다른 STXN 요청 메시지를 전송할 수 있다.
단계 514에서, 완료된 것으로 표시되지 않은 Test_ID가 더 이상 없는 경우에, 서버는, 실행할 테스트 사례가 더 이상 없음을 나타낸 204의 상태 코드를 갖는 ETXN 응답 메시지를 전송할 수 있다.
일부 구현예에서, 테스트 툴은, 사용자가 오류시 정지(Stop-On-Error) 기능을 활성화하는, 옵션을 갖는다. 이 기능은 테스트 장치로 하여금, 액세스 장치가 테스트에 실패한 경우에 테스트 프로세스를 "일시 중지"시킬 수 있다. 이렇게 하면 테스트 프로세스를 재개하기 전에, 실패의 원인을 조사할 수 있다. 테스트 프로세스가 일시 중지되면, 테스트 툴은 테스트 사례 컨텍스트를 저장할 수 있어서, 재개되는 경우에 프로세스가 다음 테스트 사례로 계속 진행할 수 있도록 한다.
오류시 정지 기능이 활성화되고 마지막 테스트 사례의 판정이 실패인 경우에, 서버는 204 상태 코드를 회신할 수 있다. 204 상태 코드는, 클라이언트 애플리케이션을 중지시키거나 테스트 프로세스를 일시 중지시킬 수 있다. 클라이언트 애플리케이션이 테스트 프로세스를 다시 시작하면, 서버는 state == begin인 다음 Test_ID로 응답한다. 테스트 판정을 아직 사용할 수 없는 경우(예, 추가 시각적 검사를 필요로 하는 테스트 사례의 경우), 서버는 "서버 사용 중" 408 반환 코드로 응답할 수 있다.
일부 구현예에서, 클라이언트는, 트랜잭션 종료 메시지를 수신하기 전에 다수의 트랜잭션 메시지의 시작을 전송할 수 있다. 도 6은, 다수의 트랜잭션 메시지의 시작이 전송되는 경우에 메시지 흐름을 나타낸다.
단계 602에서, 서버는 실행할 Test_ID 목록을 준비할 수 있다.
단계 604에서, 클라이언트는 서버에 STXN 메시지를 전송할 수 있다.
단계 606에서 서버는 다음 Test_ID로 회신하고 Test_ID를 전송된 것으로 플래그할 수 있다.
단계 608에서, 클라이언트는 서버에 다른 STXN 메시지를 전송할 수 있다.
단계 610에서, 서버는 "전송"의 상태와 함께 마지막 Test_ID를 검색하고, 단계 606에서와 동일한 응답 메시지를 회신할 수 있다.
다른 구현예에서, 다수의 ETXN 메시지는, 중재 STXN 메시지 없이 수신될 수 있다. 이 경우, 서버는 Test_ID가 마지막 Test_ID(마지막 메시지가 ETXN 메시지인 경우)와 동일한지 확인할 수 있다. Test_ID가 동일하다면, 서버는 신규 ETXN 메시지에서 트랜잭션 결과를 덮어쓸 수 있고, 테스트 툴를 호출하여 테스트 검증을 다시 실행할 수 있다.
단계 702에서, 서버는 실행할 Test_ID 목록을 준비할 수 있다.
단계 704에서, 클라이언트는 서버에 STXN 메시지를 전송할 수 있다.
단계 706에서 서버는 다음 Test_ID로 회신하고 Test_ID를 전송된 것으로 플래그할 수 있다.
단계 708에서, 클라이언트는 서버에 ETXN 메시지를 전송할 수 있다.
단계 710에서, 서버는 상태 코드 200을 갖는 ETXN 응답으로 회신할 수 있고, 현재 Test_ID를 완료로 표시할 수 있다.
단계 712에서, 클라이언트는 서버에 다른 ETXN 메시지를 전송할 수 있다.
단계 714에서, 서버는 마지막 ETXN 메시지의 결과를 새 ETXN 메시지 결과로 덮어 쓸 수 있다. 서버는 연관 테스트 검증도 다시 실행할 수 있다.
일부 구현예에서, 클라이언트는, 마지막으로 수신된 STXN 메시지의 Test_ID와 매칭하지 않는 Test_ID를 갖는, ETXN 메시지를 전송할 수 있다. 서버가 이러한 ETXN 메시지를 수신한 후에, 이는 잘못된 요청 포맷을 나타낸 400 상태 코드로 응답할 수 있다.
도 8은 일 구현예에 따른 모바일 통신 장치(800)를 나타낸다. 모바일 통신 장치(800)는, 컴퓨터 판독가능 매체(802)를 포함할 수 있는 시스템 메모리(802)에 결합된, 장치 하드웨어(804)를 포함할 수 있다.
장치 하드웨어(804)는 프로세서(806), 단거리 안테나(814), 장거리 안테나(816), 입력 요소(810), 사용자 인터페이스(808) 및 출력 요소(812)(사용자 인터페이스(808)의 일부일 수 있음)를 포함할 수 있다. 입력 요소의 예시는 마이크, 키패드, 터치스크린, 센서 등을 포함할 수 있다. 출력 요소의 예시는 스피커, 디스플레이 스크린, 및 촉각 장치를 포함할 수 있다. 프로세서(806)는, 하나 이상의 집적 회로(예컨대, 하나 이상의 단일 코어 또는 멀티코어 마이크로프로세서 및/또는 마이크로컨트롤러)로서 구현될 수 있으며, 모바일 통신 장치(800)의 동작을 제어하는 데 사용된다. 프로세서(806)는, 시스템 메모리(802)에 저장된 프로그램 코드 또는 컴퓨터 판독가능 코드에 응답하여 다양한 프로그램을 실행할 수 있고, 동시에 실행되는 다수의 프로그램 또는 프로세스를 유지할 수 있다.
장거리 안테나(816)는, 다른 장치와 통신하고/하거나 외부 네트워크와 접속하기 위해 모바일 통신 장치(800)에 의해 사용될 수 있는 하나 이상의 RF 송수신기 및/또는 커넥터를 포함할 수 있다. 사용자 인터페이스(808)는, 사용자가 모바일 통신 장치(800)의 기능과 상호 작용하고 이러한 기능을 호출할 수 있게 하는 입력 요소와 출력 요소의 임의의 조합을 포함할 수 있다. 단거리 안테나(814)는 단거리 통신 매체(예, 블루투스, Wi-Fi, 적외선, NFC 등)를 통해 외부 실체와 통신하도록 구성될 수 있다. 장거리 안테나(814)는 원격 기지국과 원격 셀룰러 또는 데이터 네트워크와 공중 통신하도록 구성될 수 있다.
시스템 메모리(802)는 임의의 수의 비휘발성 메모리(예, 플래시 메모리) 및 휘발성 메모리(예, DRAM, SRAM), 또는 임의의 다른 비일시적 저장 매체, 또는 이들 매체의 조합의 임의의 조합을 이용하여 구현될 수 있다. 시스템 메모리(802)는 본 명세서에서 설명되는 임의의 기능을 수행하기 위한, 프로세서(806)에 의해 실행 가능한 컴퓨터 코드를 저장할 수 있다. 예를 들어, 시스템 메모리(802)는, 테스트 툴 및/또는 액세스 장치에 대해 본원에 기술된 방법을 구현하기 위해 프로세서(806)에 의해 실행 가능한 코드를 포함하는, 컴퓨터 판독가능 매체를 포함할 수 있다.
시스템 메모리(802)는 또한, 커널(802A), 애플리케이션(802B), 가상 장치, 예컨대 가상 카드(802C), 크리덴셜/토큰(802D), 및 운영 체제(802E)를 저장할 수 있다.
커널(802A)은 비접촉식 커널일 수 있다. 커널(802A)은 애플리케이션(802B) 내에 또는 외부에 있을 수 있다. 이는 애플리케이션(802B)에 대한 기본 기능을 제공할 수 있다. 예를 들어, 커널(802A)은, 커널(802A)에 의해 수신된 메시지에 응답하여 수행되는 것 또는 동작인 특정 응답을 위한 코드를 제공할 수 있다.
애플리케이션(802B)은, 액세스 장치인 경우에 액세스 애플리케이션일 수 있거나, 모바일 장치(800)가 테스트 툴인 경우에 테스트 애플리케이션일 수 있다. 액세스 애플리케이션은 비접촉식 애플리케이션일 수 있으며, 이는, 모바일 장치(800)가 비접촉식 카드(예, 비접촉식 결제 카드)와 같은 비접촉식 휴대용 장치로부터 데이터를 수신하고 처리할 수 있는, 액세스 장치처럼 작동하도록 한다. 액세스 장치는 POS 터미널, 운송 터미널, 데이터 액세스 터미널 등일 수 있다. 모바일 통신 장치(802)가 액세스 장치일 경우에, 애플리케이션(802B)은, 휴대용 장치로부터 데이터를 읽고 처리하고, 휴대용 장치에서 수신된 데이터로부터 인가 요청 메시지를 생성하고, 인가 요청 메시지를 인가 실체 컴퓨터에 전송하고, 인가 실체 컴퓨터로부터 인가 응답 메시지를 수신하고, 처리하기 위한, 코드를 포함할 수 있다.
모바일 장치(800)가 테스트 툴인 경우에 존재할 수 있는 가상 카드(802C)는, 소프트웨어에서 비접촉식 카드의 기능을 시뮬레이션하는 코드를 포함할 수 있다. 가상 카드(802C) 및 프로세서(806)는, 전술한 물리적 재프로그래밍 가능한 카드나 프로브와 같이 거동할 수 있다. 가상 카드(802C) 및 프로세서(806)는, 네트워크 기반 프로토콜에서 테스트 컴퓨터로부터 메시지를 수신한 다음에, 이를, NFC 데이터 전송과 호환되는 APDU 메시지 포맷으로 변환할 수 있다.
시스템 메모리(802)는 또한, 모바일 장치(800)가 테스트 툴의 형태인 경우에 크리덴셜 및/또는 토큰(802D)을 저장할 수 있다. 크리덴셜은 또한, 모바일 통신 장치(800) 및/또는 모바일 통신 장치(800)의 사용자를 식별하는 정보를 포함할 수 있다. 크리덴셜의 예시는 모바일 통신 장치(800) 및/또는 모바일 통신 장치(800)의 사용자와 연관된 공개 키, 디지털 서명(예, 인증 시스템의 키에 의해 서명된 모바일 통신 장치(800)의 공개 키), 결제 크리덴셜, 바이오메트릭 데이터(예, 바이오메트릭 샘플 또는 템플릿) 등을 포함할 수 있다.
본 발명의 구현예는 다수의 이점을 제공한다. 전술한 바와 같이, 본 발명의 구현예는, 액세스 장치에 배포될 액세스 애플리케이션에 관해 수백 또는 심지어 수천 개의 테스트 시나리오를 신속하게 테스트할 수 있다. 이는, 액세스 장치 또는 액세스 장치를 테스트하는 테스트 툴을 이동시키지 않고서, 수행될 수 있다. 또한 테스트 애플리케이션을 테스트 툴로 다운로드할 수 있으므로, 이에 의해 테스트 툴로 하여금, 테스트 시나리오와 함께 다양한 테스트 계획을 갖는 테스트 포털, 및 테스트할 액세스 장치를 제어할 판독기 컨트롤러와 통신시킬 수 있다. 따라서, 구현예는, 가맹점과 같은 리소스 제공자가 테스트 애플리케이션을 휴대 전화에 다운로드하고 또한 다른 휴대 전화로 액세스 애플리케이션을 다운로드하도록 허용한다. 이들 두 전화기는 액세스 애플리케이션의 작동을 검증하는 데 사용될 수 있다.
다른 구현예는, 판독기 컨트롤러에 의해 구성 데이터를 포함한 구성 파일을 수신하는 단계; 상기 판독기 컨트롤러에 의해 상기 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하는 단계(상기 액세스 장치는, 상기 구성 명령에 기초하여 상호 작용 시나리오에 대해 상기 액세스 장치 상의 액세스 애플리케이션을 구성함); 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오를 개시하고, 상기 액세스 장치는 상기 툴로부터 상호 작용 데이터를 수신하고 상기 상호 작용 데이터를 처리하고 테스트 출력 데이터를 생성하는 단계; 상기 액세스 장치로부터 상기 테스트 출력 데이터를 수신하는 단계; 및 상기 판독기 컨트롤러에 의해 상기 테스트 출력 데이터를 상기 테스트 툴로 전송하는 단계(상기 테스트 툴은 상기 테스트 출력 데이터를 예상 출력 데이터와 비교하여 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정함)를 포함하는, 방법을 포함한다.
다른 구현예는 전술한 방법을 포함할 수 있고, 상기 구성 파일은 제1 구성 파일이고, 상기 구성 데이터는 제1 구성 데이터이고, 상기 구성 명령은 제1 구성 명령이고, 상기 상호 작용 시나리오는 제1 상호 작용 시나리오이고, 상기 테스트 출력 데이터는 제1 테스트 출력 데이터이고, 상기 예상 데이터는 제1 예상 출력 데이터이며, 상기 방법은, 상기 테스트 툴에 의해, 제2 구성 데이터를 포함한 제2 구성 파일을 상기 테스트 계획으로부터 결정하는 단계; 상기 테스트 툴에 의해, 상기 제2 구성 데이터를 포함한 제2 구성 파일을 상기 판독기 컨트롤러에 제공하는 단계(상기 판독기 컨트롤러는 제2 구성 데이터와 연관된 제2 구성 명령을 상기 액세스 장치 상의 액세스 애플리케이션에 제공하여, 상기 액세스 장치와 상기 테스트 툴 간의 제2 상호 작용 시나리오에 대해 상기 액세스 애플리케이션을 구성함); 상기 액세스 장치와 상기 테스트 툴 간의 제2 상호 작용 시나리오를 수행하는 단계; 제2 테스트 출력 데이터를 상기 액세스 장치로부터 수신하는 단계; 및 상기 제2 테스트 출력 데이터를 제2 예상 출력 데이터와 비교하여, 상기 액세스 장치가 제2 상호 작용 시나리오를 수행할 수 있는지를 결정하는 단계를 추가로 포함한다.
다른 구현예는 상기에 따른 방법을 포함하되, 제2 구성 파일은 제1 테스트 출력 데이터를 수신하는 것에 응답하여 자동으로 전송된다.
본원에서 설명하는 소프트웨어 구성요소 또는 기능 중 임의의 것은, 예를 들어, 종래의 또는 객체 지향 기술들을 이용하여 예를 들어 Java, C++ 또는 Perl 등의 임의의 적합한 컴퓨터 언어를 사용하여 프로세서에 의해 실행되는 소프트웨어 코드로서 구현될 수도 있다. 소프트웨어 코드는, 일련의 명령어, 또는 RAM, ROM, 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD-ROM과 같은 광학 매체 등의 컴퓨터 판독가능 매체 상의 커맨드로서 저장될 수도 있다. 이러한 임의의 컴퓨터 판독가능 매체는, 단일 연산 장치 상에 또는 단일 연산 장치 내에 상주할 수도 있으며, 시스템 또는 네트워크 내에서 서로 다른 연산 장치 상에 또는 단일 연산 장치 내에 존재할 수도 있다.
전술한 설명은 예시적이고 제한적이 아니다. 본 발명의 많은 변형은 본 개시물의 검토 시에 당업자에게 명백해질 것이다. 따라서, 본 발명의 범주는 전술한 설명을 참조하지 않고 판단될 수 있으나, 그 대신 계류 중인 청구범위를 그의 전체 범주 또는 균등물과 함께 참조하여 판단될 수 있다.
임의의 구현예에서 하나 이상의 특징은 본 발명의 범주로부터 벗어나지 않으면 임의의 다른 구현예의 하나 이상의 특징과 조합될 수 있다.
단수("일", "하나", "특정한 하나")의 인용은 특정하게 반대로 나타내지 않는다면 "하나 이상"을 의미하는 것으로 의도된다.
모든 특허, 특허출원, 간행물, 및 상기한 설명은 모든 목적을 위해 그 전체내용이 참조로 본 명세서에 포함된다. 어느 것도 종래 기술인 것으로 인정되지는 않는다.

Claims (20)

  1. 방법으로서,
    액세스 장치에 의해, 판독기 컨트롤러로부터 수신된 구성 명령을 기초로 상호 작용 시나리오에 대해 상기 액세스 장치 상의 액세스 애플리케이션을 구성하는 단계;
    상기 액세스 장치에 의해, 상기 액세스 장치와 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계;
    상기 액세스 장치에 의해, 상기 테스트 툴로부터 상호 작용 데이터를 수신하는 단계;
    상기 액세스 장치에 의해, 상기 상호 작용 데이터를 처리함으로써 상기 테스트 출력 데이터를 생성하는 단계; 및
    상기 액세스 장치에 의해, 상기 테스트 출력 데이터를 상기 테스트 툴로 전송하는 상기 판독기 컨트롤러에 상기 테스트 출력 데이터를 제공하는 단계로서, 상기 테스트 출력 데이터는 예상 출력 데이터와 비교되어, 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정하는, 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 테스트 툴은 상기 테스트 출력 데이터를 예상 출력 데이터와 비교하여, 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정하는, 방법.
  3. 제1항에 있어서, 상기 액세스 장치는 제1 휴대 전화이고, 상기 테스트 툴은 제2 휴대 전화인, 방법.
  4. 제1항에 있어서, 상기 상호 작용 시나리오는 복수의 상호 작용 시나리오를 포함한 테스트 계획의 일부인, 방법.
  5. 제1항에 있어서, 상기 상호 작용 시나리오는 제1 상호 작용 시나리오이고, 상기 구성 명령은 제1 구성 명령이고, 상기 상호 작용 데이터는 제1 상호 작용 데이터이고, 상기 테스트 출력 데이터는 제1 테스트 출력 데이터이며, 상기 방법은,
    상기 액세스 장치에 의해, 상기 판독기 컨트롤러로부터 수신된 제2 구성 명령을 기초로 제2 상호 작용 시나리오에 대해 상기 액세스 장치 상의 액세스 애플리케이션을 구성하는 단계;
    상기 액세스 장치에 의해, 상기 액세스 장치와 상기 테스트 툴 간의 제2 상호 작용 시나리오를 수행하는 단계;
    상기 액세스 장치에 의해, 상기 테스트 툴로부터 제2 상호 작용 데이터를 수신하는 단계; 및
    상기 액세스 장치에 의해, 상기 제2 상호 작용 데이터를 처리함으로써 제2 테스트 출력 데이터를 생성하는 단계를 추가로 포함하는, 방법.
  6. 제5항에 있어서, 상기 액세스 장치와 상기 테스트 툴은 상기 제1 상호 작용 시나리오 및 상기 제2 상호 작용 시나리오 동안에 정지 상태를 유지하는, 방법.
  7. 제6항에 있어서, 상기 액세스 장치는 판독기 장치를 포함하되, 상기 판독기 컨트롤러는, 제1 상호 작용 시나리오가 완료된 후에 상기 판독기 장치로 제1 신호를 전송하여 끄고, 상기 판독기 장치에 제2 신호를 전송하여 상기 판독기 장치를 켜서 상기 제2 상호 작용 시나리오를 시작하는, 방법.
  8. 제7항에 있어서, 상기 판독기 장치는 NFC(near filed communication) 판독기 장치인, 방법.
  9. 제1항에 있어서, 상기 테스트 툴은, 액세스 카드의 작동을 에뮬레이션하는 NFC 카드 에뮬레이션 장치를 포함하는, 방법.
  10. 제1항에 있어서, 상기 상호 작용 시나리오는 복수의 APDU(application protocol data unit) 메시지를 상기 액세스 장치와 상기 테스트 툴 사이에 전달하는 단계를 포함하는, 방법.
  11. 제1항에 있어서, 상기 판독기 컨트롤러는 상기 테스트 툴과는 별도인 테스트 컴퓨터에 존재하는, 방법.
  12. 제1항에 있어서, 상기 상호 작용 시나리오는, 상기 테스트 툴 상의 테스트 애플리케이션을 통해 상기 판독기 컨트롤러에 의해 수신된 테스트 계획에 존재하는, 방법.
  13. 제1항에 있어서,
    상기 테스트 툴과 상기 액세스 장치를 이동시키지 않고서 상기 테스트 툴과 상기 액세스 장치를 사용하여 적어도 1000개의 테스트 시나리오를 수행하는 단계를 추가로 포함하는, 방법.
  14. 제7항에 있어서, 상기 테스트 툴과 상기 액세스 장치는 모두 휴대 전화인, 방법.
  15. 액세스 장치로서,
    프로세서; 및
    비일시적 컴퓨터 판독가능 매체를 포함하고,
    상기 비일시적 컴퓨터 판독가능 매체는 상기 프로세서로 하여금 단계들을 수행시키도록 상기 프로세서에 의해 실행 가능한 코드를 포함하며,
    상기 단계들은 :
    판독기 컨트롤러로부터 수신된 구성 명령을 기초로 상호 작용 시나리오에 대해 상기 액세스 장치 상의 액세스 애플리케이션을 구성하는 단계;
    상기 액세스 장치에 의해, 상기 액세스 장치와 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계;
    상기 테스트 툴로부터 상호 작용 데이터를 수신하는 단계;
    상기 상호 작용 데이터를 처리함으로써 테스트 출력 데이터를 생성하는 단계; 및
    상기 테스트 출력 데이터를 상기 테스트 툴로 전송하는 상기 판독기 컨트롤러로 상기 출력 데이터를 제공하는 단계로서, 상기 테스트 툴은 상기 테스트 출력 데이터를 예상 출력 데이터와 비교하여, 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정하는, 단계를 포함하는, 방법.
  16. 제15항에 있어서, 상기 액세스 장치는 휴대 전화인, 액세스 장치.
  17. 방법으로서,
    테스트 툴에 의해, 테스트 계획을 수신하는 단계;
    상기 테스트 툴에 의해, 상기 테스트 계획을 저장하는 단계;
    상기 테스트 툴에 의해, 구성 데이터를 포함한 구성 파일을 상기 테스트 계획으로부터 결정하는 단계;
    상기 테스트 툴에 의해, 상기 구성 데이터를 포함한 구성 파일을 판독기 컨트롤러에 제공하는 단계로서, 상기 판독기 컨트롤러는, 구성 데이터와 연관된 구성 명령을 액세스 장치 상의 액세스 애플리케이션에 제공하여, 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오에 대해 상기 액세스 애플리케이션을 구성하는, 단계;
    상기 테스트 툴에 의해, 상기 액세스 장치와 상기 테스트 툴 간의 상호 작용 시나리오를 수행하는 단계; 및
    상기 테스트 툴에 의해, 테스트 출력 데이터를 상기 액세스 장치로부터 수신하는 단계로서, 상기 테스트 출력 데이터는 예상 출력 데이터와 비교되어, 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정하는, 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 테스트 툴은 상기 예상 테스트 출력 데이터를 상기 수신된 테스트 출력 데이터와 비교하여, 상기 액세스 장치가 상기 상호 작용 시나리오를 수행할 수 있는지를 결정하는, 방법.
  19. 제17항에 있어서, 상기 테스트 툴은 휴대 전화인, 방법.
  20. 제17항에 있어서, 상기 테스트 툴은, 상기 테스트 계획을 수신하기 위한 테스트 포탈과 상기 판독기 콘트롤러와 통신하는 테스트 애플리케이션을 포함하는, 방법.
KR1020210070306A 2020-06-01 2021-05-31 자동 휴대용 장치 테스트 방법 및 시스템 KR20210149616A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063032947P 2020-06-01 2020-06-01
US63/032,947 2020-06-01

Publications (1)

Publication Number Publication Date
KR20210149616A true KR20210149616A (ko) 2021-12-09

Family

ID=76482985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210070306A KR20210149616A (ko) 2020-06-01 2021-05-31 자동 휴대용 장치 테스트 방법 및 시스템

Country Status (4)

Country Link
US (1) US20210374042A1 (ko)
EP (1) EP3920078A1 (ko)
KR (1) KR20210149616A (ko)
CN (1) CN113760746A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033466B (zh) * 2022-05-23 2023-04-07 珠海视熙科技有限公司 批量刷机压力测试方法及装置、存储介质、计算机设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302451A1 (en) * 2010-06-08 2011-12-08 Metropcs Wireless, Inc. Financial integration test process
WO2012142324A2 (en) * 2011-04-12 2012-10-18 Visa International Service Association Contactless test system
US9148440B2 (en) * 2013-11-25 2015-09-29 Imperva, Inc. Coordinated detection and differentiation of denial of service attacks
US10540273B2 (en) * 2017-02-06 2020-01-21 Visa International Service Association Simulator for system testing
CN107748853A (zh) * 2017-11-09 2018-03-02 中京复电(上海)电子科技有限公司 无源uhf rfid标签读写器测试方法
US10715536B2 (en) * 2017-12-29 2020-07-14 Square, Inc. Logical validation of devices against fraud and tampering
US11789834B2 (en) * 2019-01-02 2023-10-17 Visa International Service Association Computer and conduit for system testing

Also Published As

Publication number Publication date
US20210374042A1 (en) 2021-12-02
EP3920078A1 (en) 2021-12-08
CN113760746A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US10540273B2 (en) Simulator for system testing
US11797363B2 (en) Application programming interface fingerprint data generation at a mobile device executing a native mobile application
CN111819589B (zh) 用于建立共同请求处理的系统和方法
US12021842B2 (en) Headless browser system with virtual API
US11748081B2 (en) System and method for application release orchestration and deployment
US20240086289A1 (en) Systems and methods for cloud-based testing of pos devices
US20230409453A1 (en) Computer and conduit for system testing
US20210374042A1 (en) Automatic portable device testing method and system
US11710117B1 (en) Systems and methods for EMV terminal device testing using EMV card emulation
CN115175183A (zh) 基于5g消息的鉴权方法及鉴权装置
US20230052559A1 (en) Network based testing of mobile device kernels system and method
EP4300450A2 (en) Apparatus and method for payment processing
US20240005332A1 (en) Dynamic Device Performance Evaluation
KR20180117334A (ko) 교통카드 결제단말기 운영로직에 대한 자동 시험시스템 및 방법
US20240146710A1 (en) Single sign-on (sso) multi-identity provider (idp) engine
WO2022198267A1 (en) Contactless payment via mobile devices using hybrid communications approach

Legal Events

Date Code Title Description
A201 Request for examination