CN113287095A - 用于系统测试的计算机和管道 - Google Patents

用于系统测试的计算机和管道 Download PDF

Info

Publication number
CN113287095A
CN113287095A CN201980088915.3A CN201980088915A CN113287095A CN 113287095 A CN113287095 A CN 113287095A CN 201980088915 A CN201980088915 A CN 201980088915A CN 113287095 A CN113287095 A CN 113287095A
Authority
CN
China
Prior art keywords
interaction
computer
message
mobile device
access device
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201980088915.3A
Other languages
English (en)
Inventor
陈悦玺
陈杰俊
M·I·帕凯
康宝祥
A·Y·伯纳斯
林世骧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN113287095A publication Critical patent/CN113287095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • 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/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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/2733Test interface between tester and unit under test
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了一种用于测试交互系统对不同类型的交互装置的响应的方法。测试计算机可以在不同的测试交互期间执行不同组交互装置逻辑。所述测试计算机可以在测试交互期间通过管道移动装置与访问装置进行电子通信。因此,即使当所述测试计算机位于远程位置时,所述测试计算机也可以与所述访问装置进行电子通信。

Description

用于系统测试的计算机和管道
相关申请交叉引用
本申请主张2019年1月2日提交的第62/787,593号美国临时申请的权益,出于所有目的,所述美国临时申请以全文引用的方式并入本文中。
背景技术
存在许多类型的交互装置(例如,非接触式卡、接触式卡、电话、遥控器(fob)等),并且每个交互装置在与例如访问装置(例如,存取闸(access gate)、销售点终端等)进行交互时提供不同的信息片段。此外,相同的交互装置可以在不同的交互场景期间提供不同类型的信息。例如,基于物理接触的交互可能涉及与基于非接触式通信的交互不同的通信。
通常需要验证访问装置能够正确处理每种类型的交互装置与每种交互场景的交互。这可能意味着在访问装置处运行数百或甚至数千个测试交互,以确保完全兼容。通常,每个测试交互使用具有特定逻辑和配置的不同交互装置。
这会出现问题,因为创建一批测试交互装置并将其分配到每个位于远程位置的访问装置是一项繁重的工作。例如,世界上有数千甚至数百万个访问装置,而且在那些访问装置的每一个上设置多个测试交互装置是一项繁重的工作。此外,很难在全球范围内标识与访问装置相关联的错误趋势,因为每个交互都是在远程位置单独进行的。另外,在常规系统中,需要一名熟练的技术人员手动运行每个测试,并且确保每个访问装置测试位置处的所有事项正常工作。在特定国家或地区内,可能很难找到合格的技术人员来测试所有访问装置。
此外,在一些情况下,多个不同类型的交互装置可以包括在一个测试装置中。然后,将测试装置部署到每个访问装置,以根据多个不同类型的交互装置来执行测试交互。然而,测试装置仍然需要部署到每个访问装置以进行测试。此外,这些测试装置的部署可能存在安全风险。例如,如果一个测试装置受损,则有关与不同类型交互装置相关联的交互协议的数据可能也会受损。
本发明的实施例单独地以及共同地解决了这些问题和其它问题。
发明内容
一个实施例涉及一种方法,包括:由测试计算机从移动装置接收交互输入消息。所述移动装置可能先前已经从访问装置接收用于交互的所述交互输入消息。所述移动装置可以与所述访问装置进行短距离通信。所述方法还包括由所述测试计算机使用模拟特定类型的交互装置的一组逻辑来确定基于所述交互输入消息的交互输出消息。所述方法还包括由所述测试计算机将所述交互输出消息发送给所述移动装置,其中所述移动装置将所述交互输出消息转发到所述访问装置。
另一实施例涉及一种测试计算机,包括:处理器;存储器;以及计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括可由所述处理器执行以用于至少实施上述方法的代码。
另一实施例包括一种方法。所述方法包括从访问装置接收用于交互的交互输入消息。所述访问装置与所述移动装置进行短距离通信。所述方法还包括将所述交互输入消息发送给测试计算机。所述测试计算机从所述测试计算机接收交互输出消息,并且使用模拟特定类型的交互装置的一组逻辑确定所述交互输出消息。所述交互输出消息可以基于所述交互输入消息。所述方法还包括将所述交互输出消息提供到所述访问装置。
另一实施例包括一种移动装置,包括:处理器;存储器;以及耦合到所述处理器的计算机可读介质。所述计算机可读介质包括可由所述处理器执行以用于至少实施上述方法的代码。
有关本发明的实施例的更多详细信息,请参见具体实施方式和附图。
附图说明
图1示出根据实施例的交互系统的框图。
图2A示出根据实施例的示例性访问装置的框图。
图2B示出了根据实施例的示例性测试计算机的框图。
图3A-3B示出流程图,其示出根据实施例的交互通信的示例。
图4示出根据实施例的交互测试方法的图。
具体实施方式
实施例可以包括测试系统,所述测试系统可以在不同的访问装置处远程测试不同的交互装置类型和交互场景。在实施例中,测试计算机可以相对于访问装置远程定位,并且可以存储和执行用于多种类型的交互装置的逻辑。虽然测试计算机可以相对于被测试的访问装置远程定位,但是测试计算机可以通过移动装置与访问装置直接进行有效通信,所述移动装置可以充当访问装置与测试装置之间的管道或桥梁。例如,物理上已经位于给定访问装置附近的移动装置(例如,店铺经理的个人移动装置)可以与访问装置(例如,经由NFC(近场通信)或其它短距离通信)和测试计算机(例如,经由长距离空中通信)两者同时进行通信。移动装置可以在测试计算机与访问装置之间传递各种消息(例如,APDU消息)。
因此,实施例允许在访问装置处测试各种类型的交互装置,而不必将测试交互装置物理地分配到访问装置的位置。位于远程位置的测试计算机和本地移动装置组合起来可以替换整批专用测试交互装置,从而减少生成和分配一批物理交互装置所需的负担和时间。此外,本发明的实施例可以由不熟练的技术人员来执行,因为在测试过程期间,移动装置运营商只需要将负载有适当软件的移动装置放置在靠近访问装置的位置。因此,实施例进一步有利地消除了在要测试的访问装置的位置处配备熟练技术人员的需要。
此外,实施例允许测试计算机使用故障逻辑消息来模拟故障交互装置的操作(例如,模拟发生故障的交互装置),以测试访问装置。例如,在实施例中,具有不正确的信息、不好的格式或任何其它适当错误的消息可以经由移动装置从测试装置发送给要测试的访问装置。因此,测试系统可以测试访问装置以及交互系统中的其它组件如何对来自有缺陷的交互装置的通信作出反应和表现。
根据实施例的测试计算机可以观察和存储位于远程位置的访问装置(以及系统中的任何其它装置)的响应和行为。测试计算机还可以分析数据以确定关于所述访问装置以及测试计算机正在测试的任何其它访问装置的趋势和/或系统问题。这可能是有益的。例如,可以测试不同资源提供商或商家处的访问装置,并且趋势可以指示与特定制造商相关联的特定访问装置模型是有缺陷的。这样的趋势在常规方法中不会像在本发明的实施例中那样快地被标识。
在论述本发明的具体实施例之前,可详细描述一些术语。
“用户”可以包括个人。在一些实施例中,用户可以与一个或多个个人账户和/或交互装置相关联。在一些实施例中,用户也可被称作持卡人、账户持有人或消费者。
一个“交互装置”可以包括可以与另一装置交互的设备。例如,交互装置可以与访问装置交互,以便进行交互。交互装置可以将信息提供到访问装置,以便支付例如交易之类的交互、标识用户、获得对区域(无论是物理的还是虚拟的)或受保护信息的访问、标识或获取服务或产品等。交互装置的示例包括支付装置、会员装置、访问卡、标识装置等。交互装置可以是基于靠近的、基于邻近的,并且可以采取任何合适的形式(例如,非接触式智能卡、NFC标签、移动电话、支付环、可穿戴装置之类的移动装置)。交互装置“逻辑”可以包括计算机代码。所述逻辑可以包括用于与访问装置交互以进行交互的指令。实施例允许交互装置逻辑由交互装置之外的其它计算机(例如,由测试计算机)存储和执行。
“测试计算机”可以包括能够确定是否满足目标的计算机。在一些实施例中,测试计算机可以通过执行测试(例如,交互测试)来确定是否满足目标。在一些实施例中,测试计算机可以经由移动装置将数据发送给访问装置以确定访问装置是否正常工作。这可以基于例如来自访问装置的响应,所述响应是对由测试计算机发送给访问装置的数据的响应。在一些实施例中,测试计算机可以执行由交互装置执行的任何合适的操作。
“交互”可以包括互惠作用或影响。“交互”可以包括各方、各装置和/或各实体之间的通信、联系或交换。示例交互包括两方之间的交易和两个装置之间的数据交换。在一些实施例中,交互可以包括用户请求访问安全数据、安全网页、安全位置等。在其它实施例中,交互可以包括支付交易,在所述支付交易中,装置可以交互以促进支付。
“交互数据”可以包括与交互相关的数据。在一些实施例中,交互数据可以是交易数据。交易数据可以包括具有与交易相关联的数据值的多个数据元素。在一些实施例中,交互数据可以包括标识符、凭证、金额、日期、时间等。
“交互输入消息”可以是交互期间接收的通信。例如,由访问装置发送的消息可以是用于接收交互装置的交互输入消息。交互输入消息的一个示例可以包括应用协议数据单元(APDU)命令。
“交互输出消息”可以是响应于交互输入消息的交互期间发送的通信。交互输出消息的一个示例可以包括由交互装置响应于接收到APDU命令而发送的APDU响应。
“测试交互”可以是研究性交互。在一些实施例中,可以进行测试交互以确定关于交互系统如何工作的信息。例如,可以设计不同的测试交互以确定交互在由不同类型的交互装置发起时是否将被正确处理。测试交互可以涉及在交互通信会话期间将某些类型的信息发送给访问装置,以便测试如何处理信息。一些测试交互可以被设计成检查交互处理中的错误。例如,当测试计算机提供用于交互的不正确的信息时,一些测试交互可以检查来自访问装置或交互系统的响应。在接收到不正确的信息之后,正常工作的访问装置将提供预测响应(例如,某一错误消息)。
“交互报告”可能包括关于一个或多个先前交互的信息。交互报告可以具有对如何处理交互的描述。例如,交互报告可以具有发送和接收,以及交互是否成功的信息。交互报告还可以包括关于交互期间发生的问题、缺失信息、延迟或其它问题的注释。
“授权请求消息”可以是请求授权的电子消息。在一些实施例中,授权请求消息可以是请求对交互进行授权的电子消息。在一些实施例中,授权请求消息可以发送给网络处理计算机和/或支付卡的发行方以请求对交互的授权。根据一些实施例,授权请求消息可遵守国际标准化组织(ISO)8583,它是针对交换与用户使用支付装置或支付账户进行的支付相关联的电子交易信息的系统的标准。授权请求消息可以包括可以与支付装置或支付账户相关联的发行方账户标识符。授权请求消息还可以包括与“标识信息”对应的额外数据元素,包括(只作为示例):服务代码、卡验证值(CVV)、动态卡验证值(dCVV)、主账号或“账号”(PAN)、支付令牌、用户名、到期日期等等。授权请求消息还可以包括“交易信息”,例如与当前交易相关联的任何信息,例如交易值、商家标识符、商家位置、收单方银行标识号(BIN)、芯片卡接受器ID、标识正购买的项目的信息等,以及可以用于确定是否标识和/或授权交易的任何其它信息。
“授权响应消息”可以是响应于授权请求的消息。在一些情况下,授权响应消息可以是由发行金融机构或交易处理计算机生成的对授权请求消息的电子消息应答。仅借助于示例,授权响应消息可以包括以下状态指示符中的一个或多个:批准-交易被批准;拒绝-交易未被批准;或呼叫中心-响应未决的更多信息,商家必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,所述授权代码可以是信用卡发行银行响应于电子消息中的授权请求消息(直接地或者通过交易处理计算机)返回给商家的访问装置(例如,销售点(POS)设备)的指示对交易的批准的代码。所述代码可以用作授权的证据。
“授权实体”可以是授权请求的实体。授权实体的示例可以包括发行方、政府机构、文件存储库、访问管理员等。授权实体可以操作授权实体计算机。“发行方”可以指发行并任选地维护用户账户的商业实体(例如,银行)。发行方还可以向消费者,或在一些实施例中向便携式装置发行存储在用户装置上的支付凭证,所述用户装置例如蜂窝式电话、智能卡、平板计算机或膝上型计算机。
“I/O缓冲器”(例如,输入/输出缓冲器)可以是用于临时保持数据直到数据准备好使用为止的机构。对于输入数据,I/O缓冲器可以用作保持数据直到处理器准备好处理下一段数据为止的队列。这可以允许输入数据到达的速率与处理器能够处理数据的速率不匹配。在I/O缓冲器的输出侧,I/O缓冲器也可以用作保持数据直到处理器准备好处理下一段数据为止的队列。作为示意性示例,对于音频应用,其中音频扬声器可以40千赫兹接收数据,但处理器可以兆赫兹速度或更快速度输出音频数据。I/O缓冲器可以允许处理器将音频数据快速写入缓冲器,然后音频系统(例如扬声器)可以适当音频频率所需的正确速度从缓冲器读取音频数据。
“服务器计算机”可以包括功能强大的计算机或计算机群集。例如,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。
“处理器”可以包括处理某事的装置。在一些实施例中,处理器可以包括任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现期望的功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行程序组件以用于执行用户和/或系统生成的请求。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或类似的一个或多个处理器。
“存储器”可以是可存储电子数据的任何合适的一个或多个装置。合适的存储器可包括非瞬态计算机可读介质,其存储可由处理器执行以实现所要方法的指令。存储器的实例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
图1示出包括许多组件的系统100。系统100包括可以由用户操作的移动装置120。移动装置120可以与测试计算机170和访问装置125进行通信。系统100还可以包括资源提供商计算机130、传输计算机140、网络处理计算机150和授权实体计算机160,这些计算机中的每一个可以由一个或多个计算机实施。测试计算机170可以与移动装置120进行操作性通信。移动装置120可以与访问装置125进行操作性通信,而所述访问装置又可以与资源提供商计算机103进行操作性通信。资源提供商计算机130可以与传输计算机140进行操作性通信。传输计算机140可以与网络处理计算机150进行操作性通信,所述网络处理计算机可以与授权实体计算机160进行操作性通信。
所示的装置可以通过任何合适的通信信道或通信网络彼此进行操作性通信。合适的通信网络可以是下列中的任一个和/或组合:直接互连、互联网、局域网(LAN)、城域网(MAN)、作为互联网节点的运行任务(OMNI)、安全定制连接、广域网(WAN)、无线网络(例如,采用协议例如但不限于无线应用协议(WAP)、I-模式等)等。可以使用安全通信协议,例如但不限于:文件传送协议(FTP)、超文本传送协议(HTTP)、安全超文本传送协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等来发送计算机、网络与装置之间的消息。
在一些实施例中,系统100可以是交互系统。换句话说,可以使用系统100中的组件发起、处理和批准交互。例如,测试计算机170可以通过经由移动装置120与访问装置125进行交互来发起交互。测试计算机170可以通过互联网信道(例如,TCP/IP(传输控制协议/互联网协议))与移动装置120建立通信。移动装置120可以经由接触式或例如NFC(近场通信)之类的短距离非接触式通信与访问装置125建立通信。访问装置125和测试计算机170可以交换一个或多个消息,使得访问装置125可以从测试计算机170获取交互数据。访问装置125可以将交互数据提供到资源提供商计算机130。然后,资源提供商计算机130可以生成具有交互数据的授权请求消息并且将其发送给授权实体计算机160。此请求可以通过传输计算机140和网络处理计算机150路由。授权实体计算机160可以确定是否授权交互并且将授权响应消息返回到资源提供商计算机130和访问装置125。在一些实施例中,访问装置125可以执行资源提供商计算机130和访问装置125两者的上述功能。
资源提供商计算机130可以与资源提供商相关联,资源提供商可以是能够提供诸如商品、服务、信息和/或访问的资源的实体。资源提供商的实例包括商家、访问装置、安全数据访问点等等。商家通常可以是参与交互并且可以销售商品或服务或者提供对商品或服务的访问的实体。
资源提供商可以接受多种形式的支付(例如,支付卡或移动装置),并且可以使用多种工具进行不同类型的交互。例如,资源提供商可以运营实体店并且使用访问装置125进行当面交互。
访问装置125可以是任何合适的装置,用于与资源提供商计算机130进行通信以及经由移动装置120与交互装置或测试计算机170交互。访问装置125可以位于任何合适的位置,例如在与商家相同的位置,并且访问装置125可以是任何合适的形式。访问装置的一些示例包括POS装置、蜂窝电话、PDA(个人数字助理)、个人计算机(PC)、平板电脑、手持式专用读取器、机顶盒、电子收款机(ECR)、自动取款机(ATM)、虚拟收款机(VCR)、查询一体机、安全系统、访问系统、网站等。通常,访问装置125可以使用任何合适的接触或非接触式操作模式以发送数据或从交互装置接收数据。
根据一些实施例的访问装置125的示例示出在图2中。访问装置125可以包括操作性地耦合到计算机可读介质125(d)(例如,一个或多个存储器芯片等)的处理器125(c)、例如按钮等的输入元件125(b)、一个或多个读取器125(a)(例如,接触式芯片读取器、非接触式读取器,磁条读取器等)、输出装置125(e)(例如显示器、扬声器等)以及网络接口125(f)。外壳可以容纳这些组件中的一个或多个。
计算机可读介质125(d)可以包括可由处理器125(c)执行的指令或代码。指令可以包括用于在与交互装置或模拟装置(例如,经由移动装置120的测试计算机170)接触时将命令发送给所述装置的指令,以及用于与交互装置进行通信以获取凭证并且以其它方式处理交互的指令。计算机可读介质125(d)还可以包括用于授权与授权实体计算机160的交互的指令,以及用于如本文所述的任何其它适当功能的指令。
返回参照图1,传输计算机140可以与收单方相关联,所述收单方通常可以是与特定商家或其它实体有业务关系的业务实体(例如,商业银行)。一些实体可执行发行方和收单方两者的功能。一些实施例可涵盖此类单个实体发行方-收单方。传输计算机140可以被更具体地称为收单方计算机。
网络处理计算机150可以安置在传输计算机140与授权实体计算机160之间。网络处理计算机150可以包括用于支持和传递授权服务、异常文件服务以及清算和结算服务的数据处理子系统、网络和操作。例如,网络处理计算机150可以包括(例如,通过外部通信接口)耦合到网络接口的服务器,以及信息数据库。网络处理计算机150可以代表交易处理网络。示例性交易处理网络可以包括VisaNetTM。例如VisaNetTM等交易处理网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。VisaNetTM确切地说包括处理授权请求的VIP系统(Visa集成式支付系统),和执行清算和结算服务的Base II系统。网络处理计算机150可以使用任何合适的有线或无线网络,包括互联网。
授权实体计算机160可以与授权实体相关联,所述授权实体可以是授权请求的实体。授权实体的示例可为发行方,所述发行方通常可指维持用户账户的商业实体(例如,银行)。发行方还可以发行和管理与交互装置和/或用户相关联的支付账户或其它合适的账户。
网络处理计算机150、传输计算机140和授权实体计算机160可以操作合适的路由表,以使用支付凭证、商家标识符或其它账户标识符来路由授权请求消息和/或授权响应消息。
测试计算机170可以存储和/或执行与不同交互装置相关联的逻辑,以便执行测试交互。例如,测试计算机170可以为每种类型的交互装置托管一组不同的逻辑,以及用于执行不同测试交互的指令。除了测试不同类型的交互装置的逻辑之外,测试计算机170还可以被配置成测试交互装置的不同条件和不同的特定场景。例如,测试计算机170可以执行模拟处于其原始状态的装置(例如,之前没有使用过的装置)的测试交互,然后执行模拟处于其已经用于一个或多个交互(例如,计数器为1或更多)的状态的同一装置的另一测试交互。
根据一些实施例的测试计算机170的示例示出在图2B中。测试计算机170可以包括操作性地耦合到计算机可读介质170(d)(例如,一个或多个存储器芯片等)、例如按钮等的输入元件170(b)、输出装置125(e)(例如,显示器、扬声器等)和网络接口170(f)的处理器170(c)。外壳可以容纳这些组件中的一个或多个。此外,计算机可读介质170(d)可以包括交互装置逻辑模块172、通信模块174以及交互报告模块176。
计算机可读介质170(d)可以包括可由处理器170(c)执行的指令或代码。所述指令可以包括用于以下各项的指令:从移动装置接收交互输入消息,其中所述移动装置先前从访问装置接收用于交互的交互输入消息,所述移动装置与所述访问装置进行短距离通信;使用模拟特定类型的交互装置的一组逻辑,确定基于交互输入消息的交互输出消息;以及将所述交互输出消息发送给所述移动装置,其中所述移动装置将所述交互输出消息转发到所述访问装置。在一些实施例中,所述指令可以包括用于本文所述的任何其它合适功能的指令。
交互装置逻辑模块172可以包括可由处理器170(d)执行以用于模拟交互装置逻辑的代码或软件。交互装置逻辑模块172结合处理器170(d)可以接收交互装置的选择以模拟(例如,使用NFC的非接触式支付卡)、选择与所述被选择交互装置的特定测试场景相关联的逻辑,然后生成与测试场景和交互装置相对应的消息并且将这些消息发送给要测试的访问装置。交互装置逻辑模块172结合处理器170(d)可以被配置成模拟可由测试计算机170存储的任何合适的交互装置逻辑。在一些实施例中,交互装置逻辑模块172结合处理器170(d)可以执行能够由本文所述的交互装置执行的任何合适的处理。
作为示意性示例,交互装置逻辑模块172结合处理器170(d)可以被配置成模拟作为非接触式支付卡的交互装置。例如,交互装置逻辑模块172结合处理器170(d)可以被配置成经由移动装置120执行与访问装置125的交互,其中访问装置125确定其正在与非接触式支付卡进行通信。
测试计算机170可以使用新的或不同的交互装置逻辑定期更新。此外,在一些实施例中,测试计算机170还可以包括一组预定义输入消息和对应的预定义输出消息,这些消息被设计成模拟一个或多个交互装置的逻辑。例如,测试计算机170可以模拟本文所述的交互装置的逻辑。
通信模块174可以包括可由处理器170(d)执行以用于与其它装置(例如,移动装置120)进行通信的代码或软件。通信模块174结合处理器170(d)可以初始化与移动装置120的通信信道。例如,通信模块174结合处理器170(d)可以初始化本文所述的任何合适的通信信道。具体地说,通信模块174结合处理器170(d)可以初始化与移动装置120的TCP/IP通信信道。在一些实施例中,通信模块174结合处理器170(d)还可以从移动装置120发送和接收消息。例如,通信模块174结合处理器170(d)可以从移动装置120接收交互输入消息。通信模块174结合处理器170(d)还可以将交互输出消息发送给移动装置120。
测试计算机170可以与一个或多个移动装置120(例如,通过空中)进行远程通信,以便在不同位置的一个或多个访问装置125处进行测试交互。例如,测试计算机170可以将APDU响应消息发送给访问装置125(并且从其接收APDU命令消息),其中每个消息通过移动装置120路由。
交互报告模块176可以包括可由处理器170(d)执行以用于操作测试交互结果的代码或软件。例如,交互报告模块176结合处理器170(d)能够生成交互报告,所述交互报告指示访问装置在一个或多个执行的交互期间如何工作。在一些实施例中,交互报告模块176结合处理器170(d)可以将从与一个或多个访问装置相关联的一个或多个交互的响应中获取的数据聚合到一个交互报告中。
测试计算机170还可以存储和分析测试交互的结果,例如发送和接收的消息的类型,以及交互系统在不同场景中如何表现。由于测试计算机170可以直接参与测试交互,从而可以直接观察测试结果,因此此类数据和报告可以在本地生成,而不需要其它装置的帮助。
测试计算机170可以位于任何合适的位置。例如,测试计算机170可能靠近(例如,在10英尺内)访问装置125,可能位于更远处但在同一建筑物(例如,不同的房间)中,或在不同的建筑物(例如,数英里之外)中。
返回参考图1,移动装置120可以包括用于实现例如拨号服务之类的某些装置功能的电路系统。蜂窝电话或类似装置是根据实施例可以使用的移动装置120的示例。然而,在不脱离实施例的情况下,可以使用其它形式或类型的装置。例如,移动装置120可以可选地是遥控钥匙(key fob)、平板计算机、膝上型计算机、台式计算机、可穿戴装置、例如汽车之类的车辆等的形式。
移动装置120能够经由接触或非接触式通信与访问装置125进行通信。短距离无线通信的示例包括NFC、RFID(射频标识)、蓝牙TM、红外等。此外,移动装置120能够通过任何合适的通信手段(例如,经由蜂窝网络、互联网、LAN、WLAN、USB接口或其它物理或无线接口)与测试计算机170进行通信。在一些实施例中,移动装置120可以经由长距离通信信道与测试计算机170进行通信。
移动装置120可以由用户操作,并且可以由用户带到访问装置125附近。在一些实施例中,移动装置120可以放置在访问装置125附近,使得用户在测试交互处理期间可能不需要握住或操作移动装置120。在一些情况下,移动装置120可以经由电触点接触访问装置125。
移动装置120可以用作访问装置125与测试计算机170之间的通信管道。为了实现此功能,移动装置120可以包括一个或多个软件应用和/或硬件组件。例如,移动装置120可以包括图形用户界面(GUI)121、主机/客户端通信模块122(例如,套接字通信模块)、模拟器软件123(例如,卡模拟器软件)和NFC驱动器124。主机/客户端通信模块122可以使移动装置120与测试计算机170进行通信以发送和接收APDU消息。模拟器软件可以使移动装置120将APDU消息发送给NFC驱动器,然后所述NFC驱动器可以使用NFC将消息发送给访问装置125。图形用户界面(GUI)121可以使移动装置120将当前操作显示给用户并且接收用户选择。示例GUI121可以包括例如开始按钮、停止按钮、IP地址和端口号、日志激活控制按钮、NFC信号指示符、TCP/IP连接指示符和/或帮助用户执行如本文所述的方法的任何其它合适的图形用户界面。
一个或多个软件应用和模块可以下载到移动装置120,并且可以由测试计算机170提供。另外,一些应用和模块可以是已经包括在一些或全部移动装置中的标准功能。可以使用任何合适的移动装置120,例如属于店铺位置的移动装置或店铺经理的个人装置。因此,系统100可以在不需要(例如,从测试设施到店铺位置)物理分配任何东西的情况下运行。
实施例允许不同的软件模块用于不同的场景。例如,在移动装置120和访问装置125使用蓝牙而非NFC进行通信的场景中,移动装置120可以使用蓝牙消费者实体模拟软件,或本领域技术人员已知的集成到移动装置120中的其它合适的蓝牙模拟应用和/或支持蓝牙的硬件。
如上所述,实际交互消息(例如,APDU消息)可以源自测试计算机170,然后可以由移动装置120提供到访问装置125。因此,从访问装置125的角度来看,移动装置120可能看起来是功能完善的交互装置。实施例允许移动装置120具有交互功能,但是在测试交互期间,交互逻辑实际上可以在测试计算机170处操作。
不同的测试交互可以被配置成测试不同的交互场景。例如,一个测试交互可以包括用于从典型类型的支付装置(例如,Visa信用卡)发送模拟正常交易的消息的逻辑和指令。测试交互可以被设计成测试正常交易是否被正确处理。如果在正常时间范围内在访问装置125处接收到授权响应消息,则系统100可以被视为工作正常。然而,有可能访问装置125或网络中的另一组件出现故障,并且可能接收到错误报告或拒绝交互。
另一测试交互可以模拟出现故障的支付装置。例如,测试计算机170可以执行引起发送不正确的信息,或者在不正确的时间将正确的信息发送给访问装置125的逻辑。可以运行此类逻辑和测试交互,以便观察访问装置125如何对由测试计算机170模拟的出现故障的支付装置作出反应。
交互(例如,交易)可能涉及许多消息、多种形式的数据交换以及在系统100中交互的若干组件。因此,可以设计许多测试交互来模拟交互装置可能发生故障的不同方式,和/或测试系统中的每个组件如何处理不同的情况。测试计算机170可以经由移动装置120与访问装置125执行多个交互,以便运行一个或多个不同的测试交互。
在一些实施例中,测试计算机170还可以接收带有关于交互的细节的交互报告。例如,访问装置125可以提供交互报告,所述交互报告描述交互是否被成功授权,并且包括关于任何处理错误或延迟的信息。在一些实施例中,交互报告可以是提供关于授权结果的信息。测试计算机170能够将交互报告显示给用户,从而通知用户每次测试交互的结果以及故障或其它问题的原因。
如本文中所提及的,测试计算机170与访问装置125之间(例如,通过移动装置120管道)的交互通信可以包括交换若干消息(除了发送给系统100中的其它组件的消息之外)。这些消息可以采用应用协议数据单元(APDU)消息的形式(例如,应用协议数据单元命令、应用协议数据单元响应等)。根据实施例,图3A-3B示出测试计算机170与访问装置125之间的示例APDU消息交换,其中通信可以通过本文所述的移动装置120,例如图4所示。
以下APDU消息流被描述成用于模拟正常工作的交互装置的测试计算机170与访问装置125之间的交互。实施例允许交互装置由测试计算机170替换,所述交互装置可以模拟正常工作的交互装置或发生故障的交互装置(例如,其可以不遵循下文描述的消息传递流)。
当测试计算机170与访问装置125接触(或建立非接触式通信链路)时,测试计算机170和访问装置125接着能够进行通信和交换APDU消息。消息可以是从访问装置125发送给测试计算机170的APDU命令的形式,以及从测试计算机170发送给访问装置125的APDU响应的形式。然而,应理解,可以使用其它消息、消息传递协议或格式来交换相关信息以进行交互。
在步骤S505,访问装置125可以执行应用选择。例如,访问装置125可以确定哪些应用是由测试计算机170和访问装置125两者都支持的。在一些实施例中,当访问装置125检测到测试计算机170的存在时,访问装置125可以将可用应用请求(其可以是“选择命令”)发送给测试计算机170,以请求关于在测试计算机170处哪些支付应用(例如AID的列表)可用的信息。
测试计算机170可以通过将可用应用响应发送回访问装置125来进行响应。可用应用响应(可以是“选择响应”)可以包括可用AID(应用标识符)的列表。AID可以用于唯一地标识访问装置125支持的每个应用(例如,EMV或“感应”芯片卡(Europay MasterCard Visa)应用),并且每个AID可以具有有关应用需要如何处理的相关联卡方案和参数。访问装置125可以包括任意数量的此类应用,并且在例如候选列表创建期间使用每个支持的AID的列表来生成由访问装置和测试计算机170两者相互支持的应用的列表。在一些实施例中,AID可以通过RID(注册的应用提供商标识符)和PIX(专有应用标识符扩展)的串联来形成。在一些实施例中,PIX可以是任选的,但通常可以存在。RID可以是分配到每个卡方案的固定长度的唯一标识符,以标识由所述方案提供的EMV应用。然后,这些方案可以使用任选的PIX作为RID的后缀,以进一步区分由方案支持的多个产品。在一些实施例中,RID和PIX可以一起形成AID。PIX可以是可由卡方案分配的任选的、可变长度的后缀,以区分由所述方案提供的多个应用(例如,信用卡和借记卡应用)。
然后,访问装置125可以从可用应用响应中接收的应用列表中选择合适的应用(例如,通过从可用的AID中选择AID)。访问装置125还可以将具有被选择AID的应用选择消息(其可以是“读取记录”或“选择AID”命令)发送给测试计算机170。
然后,测试计算机170可以将对交互数据的请求(其可以是“读取记录响应”)发送给访问装置125,所述请求可能需要使用被选择应用/AID执行交互。所述请求可以包括交互数据标识符的列表,并且所述列表可以是处理选项数据对象列表(PDOL)的形式。PDOL可以是来自访问装置125的数据列表,这些数据可由卡使用,或者在读取应用数据阶段开始时由测试计算机170使用。访问装置125可以使用数据选项列表处理规则来格式化已请求的数据,然后在获取处理选项请求中将其发送给测试计算机170。
在步骤S510处,访问装置125可以发起应用处理。例如,访问装置125可以请求测试计算机170指示要用于被选择应用和支持的功能的数据(例如,包含数据的文件列表)。在一些实施例中,访问装置125可以发送获取处理选项(GPO)命令。访问装置125还可以(例如,经由GPO命令)将交互信息提供到测试计算机170。
然后,测试计算机170可以使用至少一些接收到的终端交互数据来生成动态交互处理信息,并且(经由“GPO响应”)将一组交互处理信息发送给访问装置125。交互处理信息可以包括一个或多个应用文件定位器(AFL),其可以被访问装置125用作文件地址以读取存储在测试计算机170上的账户数据。
在步骤S515处,访问装置125可以读取应用数据。例如,访问装置125可以将账户数据请求(其可以是“读取记录命令”)发送给测试计算机170,以读取存储在测试计算机170上的账户数据。
然后,测试计算机170可以(例如,经由“读取记录响应”)将账户数据发送给访问装置125。账户数据可以包括例如磁道2等效数据(例如账户标识符和/或其它支付凭证)和持卡人姓名,和/或在AFL位置处可访问的其它账户相关数据。
可以执行认证和验证的一个或多个步骤,以验证交互可以继续。例如,步骤S515-S540提供各种认证过程。在步骤S515处,访问装置125可以确定其是否应离线认证测试计算机170。
在步骤S525处,访问装置125可以检查处理限制。此类限制可以呈任何合适的形式。例如,访问装置125可能无法处理涉及某些类型的交互装置的交互。
在步骤S530处,访问装置125可以执行持卡人验证。例如,访问装置125可以要求持卡人或用户将PIN、生物标识或其它类型的认证数据输入访问装置125。如图3A所示,测试计算机170可以协调PIN尝试计数器来计算用户尝试将认证数据输入访问装置125的次数。测试计算机170还可以生成不可预测的数字,可以生成所述不可预测的数字并将其发送给访问装置125,以包括在包括PIN的命令响应中。不可预测的数字可以用于防止重放攻击。最后,测试计算机可以对接收到的任何PIN执行PIN验证过程。
在步骤S535处,访问装置125可以执行终端风险管理(例如,检查欺诈迹象)。在步骤S540处,访问装置125可以执行终端动作分析。例如,访问装置可以确定交互是否应被离线批准、在线发送以进行授权或离线拒绝。在一些情况下,计数器(ATC或自动交易计数器)可以用于在交互装置需要在线进行交易之前,确定可以与交互装置进行多少次交互。在一些实施例中,在交互装置必须在线用于与授权实体计算机进行通信之前,交互装置还可以进行一定数量的离线交互(例如,不与授权实体计算机进行通信)。
然后,访问装置125可以(例如,经由生成应用密码命令)从测试计算机170请求密码。在一些实施例中,可以请求授权请求密码(ARQC)用于在线授权,可以请求交易证书(TC)用于离线授权(例如已经批准离线),以及可以请求应用认证密码(AAC)用于交易拒绝或授权推迟。
然后,测试计算机170可以确定将什么类型的密码提供到访问装置。例如,测试计算机170可以提供ARQC以继续进行在线授权。替代地,测试计算机170可以确定应拒绝交互,并且可以返回AAC。
在步骤S545处,访问装置125可以从测试计算机170接收密码,并且确定是否在线授权交互。在一些实施例中,如果接收到ARQC,则访问装置125可以继续在线授权过程。
在步骤S550处,在获取所需数据之后,访问装置125接着可以在线处理交互。例如,访问装置125可以使用(例如,从交互处理信息和账户数据)获取的一些或全部数据元素来生成交互授权请求消息以请求授权(例如,在线授权)来自例如由发行方操作的计算机之类的授权实体计算机的交互。
访问装置125可以经由交互处理网络将授权请求消息发送给授权实体计算机以进行授权(如上文关于图1所解释的)。访问装置125可以接收具有授权结果和/或关于交互处理问题的信息的响应。
图3A和3B还示出测试计算机170处的指示“验证ARPC密码”的框。ARPC密码是由授权实体计算机生成的应用响应密码。此密码可以由测试计算机170(表现为交互装置)验证,以证明从授权实体计算机接收的消息是真实的。图3B还示出访问装置125中的发行方到卡的脚本处理框和测试计算机170中的应用脚本框。在这些操作中,与访问装置125进行通信的授权实体计算机可以提供测试计算机170(表现为交互装置)可以执行的脚本。例如,经由访问装置125从授权实体计算机发送给测试计算机170的一个脚本可以用于重置测试计算机170上的计数器。
在步骤S555处,访问装置125可以完成与测试计算机170的交互通信。这可以包括将授权结果和/或任何其它交互处理信息提供到测试计算机170。访问装置125还可以从测试计算机170(例如,使用第二生成应用密码命令)请求第二密码。如果交互被成功授权,则访问装置125可以通过请求交易证书(TC)来指示这一点。一旦测试计算机170(例如,经由命令/响应)提供第二密码,它就可以完成内部处理并且恢复到默认状态。然后,访问装置125和测试计算机170(充当交互装置)可以准备好进行后续交互。
实施例允许测试计算机170使用模拟整个交换的指令以及故意改变每个步骤的信息或消息格式(以及跳过一个步骤)的逻辑来执行逻辑。从访问装置125的角度来看,(例如,正在转发来自测试计算机170的通信的)移动装置120以与交互装置类似的方式操作。
可以参照图4来描述根据实施例的方法400。还参考其它附图中的一些元素。在实施例中,方法400所示的步骤可以顺序地或以任何合适的顺序执行。在一些实施例中,所述步骤中的一个或多个可以是任选的。关于图4描述的方法包括在测试计算机170与访问装置125之间的移动装置120中使用消息缓冲器的描述。
下文描述的各种消息可以使用任何合适形式的通信。在一些实施例中,请求或响应可以呈电子消息格式,例如电子邮件、短消息服务(SMS)消息、多介质消息服务(MMS)消息、超文本传输协议(HTTP)请求消息、传送控制协议(TCP)包、网页表单提交。请求或响应可以指向任何合适的位置,例如电子邮件地址、电话号码、互联网协议(IP)地址或统一资源定位符(URL)。在一些实施例中,请求或响应可包括例如电子邮件消息和SMS消息两者的不同消息类型的混合。
访问装置125和移动装置120可能都位于资源提供商位置(例如,商家店面)或其它现场测试位置。具有更新的和当前的测试交互指令和交互装置逻辑的测试计算机170可以位于远离访问装置125和移动装置120的中央测试设施中。
首先,(在资源提供商位置处或操作测试计算机170的)用户可以选择安装在移动装置120上的测试应用。然后,移动装置120可以进入测试状态。移动装置120可以通知用户移动装置120已经准备好进行测试,并且可以提示用户将移动装置120带到访问装置125附近或者接触访问装置125。然后,用户可以在资源提供商位置处将移动装置120呈现给访问装置125以进行一个或多个测试交互。
然后,移动装置120可以(例如,经由接触式或短距离非接触式通信)与访问装置125建立通信。一旦移动装置120与访问装置125建立通信,测试计算机170就可以自动进行一组测试交互。测试计算机170可以首先为第一测试交互发起交互通信会话,在此期间测试计算机170可以执行第一组交互装置逻辑。第一测试交互可以被设计成模拟第一类型的交互装置。第一测试交互还可以被设计成测试访问装置125响应于与第一类型交互装置的通信而产生的动作。
在交互通信会话期间,访问装置125可以将若干消息发送给移动装置120,并且移动装置120可以将每个消息转发到测试计算机170。此外,测试计算机170可以使用若干消息对移动装置120作出响应,并且移动装置120可以将每个响应消息转发到访问装置125。这些消息可以包括APDU命令和响应。步骤1-3和A-C描述一组交换的消息。但是,可以进行消息交换的几次迭代。
作为示意性示例,两个并发线程可以由移动装置120同时处理。第一NFC(近场通信)线程可以处理移动装置120与访问装置125之间的通信。第二TCP/IP(传输控制协议/互联网协议)线程可以处理移动装置120与测试计算机170之间的通信。在一些实施例中,例如,当移动装置120通电时,NFC线程和TCP/IP线程最初可以同时启动。
在NFC线程的步骤1处,访问装置125可以将交互输入消息发送给移动装置120。交互输入消息可以是APDU命令,例如选择命令、读取记录命令、GPO命令、获取数据命令、生成应用密码命令或任何其它合适的命令。然后,访问装置125可以经由短距离通信信道将交互输入消息发送给移动装置120。短距离通信信道可以是例如NFC通信信道、蓝牙通信信道、红外通信信道、超宽带通信信道等。在一些实施例中,NFC线程可以是将数据从访问装置125移动到输入消息I/O缓冲器410的线程。此外,NFC线程可以将数据从输出消息I/O缓冲器420移动到访问装置125。
作为示意性示例,移动装置120可以感测(例如,确定)数据(例如,从访问装置125接收的数据)位于移动装置120的NFC模块上。NFC线程可以将数据(例如,交互输入消息)从访问装置125移动到输入消息I/O缓冲器410。例如,在一些实施例中,输入消息I/O缓冲器410可以存储交互输入消息,直到将交互输入消息提供到测试计算机170的适当时间为止。此外,输入消息I/O缓冲器410可以确保在将交互输入消息发送给测试计算机170之前,由移动装置120接收到完整消息(例如,APDU命令)。在这种情况下,操作速度可能快于访问装置125和移动装置120的测试计算机170在接收到整个消息之前可能不会尝试对交互输入消息作出响应,然后可能记录接收到的包括错误的消息,从而稍后创建不正确的交互报告。
在一些实施例中,在步骤C处,TCP/IP线程可以等待直到NFC线程将交互输入消息从访问装置125移动到输入消息I/O缓冲器420为止。例如,TCP/IP线程可能在上一次执行步骤B和步骤3之后(例如,在先前的测试交互期间)在步骤C处等待。
在TCP/IP线程的步骤A处,移动装置120(例如,输入消息I/O缓冲器410)可以将交互输入消息转发到测试计算机170。步骤A可以发生在步骤1之后,例如,当TCP/IP线程确定输入消息I/O缓冲器410由NFC线程填充时。例如,移动装置120可以从输入消息I/O缓冲器410检取完整交互输入消息,然后将完整交互输入消息发送给测试计算机170。TCP/IP线程可以将数据(例如,交互输入消息)从输入消息I/O缓冲器410移动到测试计算机170。
测试计算机170可以接收交互输入消息,并且可以使用当前操作的交互装置逻辑来基于交互输入消息确定交互输出消息。交互输出消息可以是APDU响应。测试计算机170使用的交互装置逻辑可以包括本文所述和/或本领域技术人员已知的任何合适的交互装置逻辑。
在一些实施例中,测试计算机170可以生成不正确的数据,然后将不正确的数据包括到交互输出消息中。例如,不正确的数据可以包括不正确填充的数据字段。不正确的数据可以包括由测试计算机170故意包括和/或排除的任何合适的数据,如本文进一步详细描述的。
在步骤B处,测试计算机170可以将交互输出消息发送给移动装置120。交互输出消息可以是APDU响应,例如,选择响应、读取记录响应、GPO响应、获取数据响应、生成应用密码响应或任何其它合适的消息。测试计算机170可以使用任何合适的通信信道将交互输出消息发送给移动装置120。在一些实施例中,位于中心测试位置的测试计算机170可以经由长距离通信信道与位于现场测试位置的移动装置进行通信。长距离通信信道可以是例如TCP/IP通信信道。
步骤2可能在从测试计算机170接收数据之后发生。在步骤2处,一旦TCP/IP线程将数据(例如,交互输出消息)从测试计算机170传送到输出消息I/O缓冲器420,NFC线程就可以继续。步骤2可以指示NFC线程的等待时间。在将交互输入消息从访问装置125传送到移动装置120的输入消息I/O缓冲器410之后,NFC线程可以等待,直到TCP/IP线程将交互输出消息从测试计算机170传送到移动装置120的输出消息I/O缓冲器420为止。
在步骤C处,TCP/IP线程可以等待NFC线程将数据(例如,随后的交互输入消息)从访问装置125移动到移动装置120的输入消息I/O缓冲器410。
在步骤3处,恢复NFC线程时,移动装置120可以将交互输出消息转发到访问装置125。例如,移动装置120可以从输出消息I/O缓冲器420检取完整交互输出消息,然后将完整交互输出消息发送给访问装置125。
在接收到交互输出消息之后,访问装置125可以基于接收到的交互输出消息继续处理交互。例如,访问装置125可能仍然需要来自测试计算机170的其它信息,然后可以将一个或多个额外消息发送给测试计算机170(例如,重复步骤1-3和A-C中的一些或全部)。例如,访问装置125可以将额外数据(例如,第二交互输入消息)发送给移动装置120。
一旦访问装置125接收到所有必要的交互信息,访问装置125就可以使用所述信息经由传输计算机和网络处理计算机将授权请求消息发送给授权实体计算机。替代地,在一些实施例中,可以由访问装置125拒绝测试交互,并且在任何时间(例如,在包括故意不正确的输出消息的测试交互期间)停止。
在交互处理和消息交换期间,访问装置125可以跟踪任何处理错误、延迟或异常情况(例如,存储日志)。例如,访问装置125可以记录来自测试计算机170的意外或丢失的信息,以及访问装置125响应的操作。访问装置125还可以记录关于如何处理(例如,授权、不授权等)发送给发行方的授权请求消息的信息。
在一些实施例中,访问装置125接着可以为第一交互生成交互报告。交互报告可以指示交互是否被授权。交互报告还可以包括通信日志和关于如何处理交互的信息,例如整个交互系统如何对特定交互场景作出反应、交互处理是否正常,和/或是否存在异常情况或错误。如果(例如,经由授权响应消息)发生任何处理问题,则系统中的每个实体(例如,授权实体计算机、网络处理计算机、传输计算机等)可以通知访问装置125。
在生成交互报告之后,访问装置125可以将交互报告发送给移动装置120,并且移动装置120可以将交互报告转发到测试计算机170。访问装置125可以提示用户再次将移动装置120呈现给(例如,轻触或插入)访问装置125,以接收交互报告。因此,测试计算机170可以从交互系统中的每个组件获取关于如何处理交互的详细信息。
在一些实施例中,在执行一个或多个交互之后,测试计算机170可以经由移动装置120将交互报告请求消息发送访问装置125。访问装置125随后可以生成交互报告,生成交互报告响应消息,并且经由移动装置120将交互报告响应消息提供给测试计算机170。
在一些实施例中,测试计算机170还可以为第一测试交互创建交互报告。例如,测试计算机170可以记录访问装置125如何响应每个响应消息(例如,访问装置125随后提供和/或请求什么信息)。测试计算机170还可以跟踪任何延迟、意外事件、不适当的访问装置125动作以及交互成功/失败。
因此,测试计算机170可以收集这些交互报告以及在其它位置的其它访问装置上发生的相同测试交互的其它交互报告。因此,测试计算机170可以具有用于标识趋势和可能的系统错误的大量数据。
在一些实施例中,测试计算机170还可以访问本地存储在交互系统中的其它组件(例如,授权实体计算机、网络处理计算机、资源提供商计算机或传输计算机)的交互日志。例如,测试计算机170可以远程访问这些计算机,并且分析每个计算机的交互数据库。因此,测试计算机170能够定位关于交互处理问题的更多信息,确定交互数据是否在系统中的每个点处正确地处理,和/或确定授权响应消息和授权请求消息是否正确地路由到授权实体计算机或从授权实体计算机正确地路由。
在完成第一测试交互之后,测试计算机170随后可以发起与访问装置125的第二(例如,随后的)交互通信会话,以便运行第二测试交互(例如,针对第二组测试逻辑)。在一些实施例中,可以自动发起下一测试交互,而无需从访问装置125移除移动装置120。所述过程可以重复任意次数,直到完成所有所需的测试交互和逻辑为止。在一些实施例中,可以执行相同的测试交互任意适当次数,其中测试计算机170稍后可以将来自每个测试交互的交互报告进行比较。
因此,测试计算机170可以从远程位置模拟特定类型的交互装置和特定的交互场景。因此,可以使用访问装置来完成测试,而不必将不同的测试装置(例如,测试信用卡、测试预付卡、测试借记卡等)物理地分配到这些访问装置所处的位置。
如上所解释的,测试交互可以模拟许多不同的交互场景。这包括交互装置表现异常的交互场景,例如,观察访问装置125如何反应。虽然许多交互场景是可能的,但是为了说明的目的,现在将描述一些具体的示例。
测试交互可以被设计成测试不同类型的交互装置是否适用于商家位置处的给定访问装置125。例如,由测试计算机170实施的第一组交互装置逻辑可以模拟VISA信用卡,并且因此选择响应带有VISA AID(应用标识符)。由测试计算机170实施以用于模拟不同类型的信用卡的第二组交互装置逻辑具有不同类型的AID。在又另一示例中,可以设计另一组交互装置逻辑以确保访问装置125对于仅意图适用于在线授权的交互装置作出适当的反应。在此示例中,交互装置逻辑可以使得在生成应用密码响应中发送ARQC(授权请求密码)。ARQC可以是,例如,当交互装置或测试计算机170在卡动作分析期间请求在线授权时生成的一种类型的应用密码。用于测试仅离线授权卡的又另一组交互装置逻辑可以在生成应用密文响应中发送TC(交易证书)。又另一组交互装置逻辑,可以被设计成测试令牌化交互是否得到适当处理。交互装置逻辑可以使得在读取记录响应中发送支付令牌。可以设计另一组交互装置逻辑以测试交互网络如何处理特定类型的密码(例如,密码版本号22或密码版本号18)。交互装置逻辑可以使得在发行方应用数据的CVN(卡验证号)字段中(例如,在生成应用密码响应中)发送“22”或“18”。
在一些实施例中,根据由测试计算机170执行的交互装置逻辑,额外测试交互可以被设计成针对传输计算机、资源提供商计算机、网络处理计算机和/或授权实体计算机处的特定交互处理功能。
其它组交互装置逻辑可以被设计成用于负面测试用例(例如,带有故意错误的测试交互)。当交互装置提供错误信息时,了解访问装置125(或交互系统的其它部分)如何反应是有利的。负面测试情况提供此信息,并使用户能够根据需要进行更改。以下是负面测试情况的示例。
作为第一示例,当模拟交互装置的测试计算机170无法提供货币代码时,可以设计一组交互装置逻辑来测试访问装置的响应。在模拟这种场景时,测试计算机170可以发送大部分预期的且正常的APDU响应。然而,一个特定的响应消息,即读取记录响应可以省略货币代码数据字段。
例如,正常的读取记录响应可以被构造为:
702B57134761739001010010d20122011234599999991f5f200e4e616d6530696e205265636f72649f420208409000
然而,在测试交互期间发送的读取记录响应可能不同,因为它不包括此处括号中包括的数据字段:
702657134761739001010010d20122011234599999991f5f200e4e616d6530696e205265636f7264[9f42020840]9000
此处,“9f42”(缺失数据的开头)可以是指示货币代码后面的标记,“02”可以是后面货币代码的长度,“0840”(缺失数据的其余部分)可以是货币代码。
访问装置125可以被设计成使得其可以继续正常进行交互处理,即使缺少此货币代码也是如此。因此,由测试计算机170执行的这组交互装置逻辑可以用于确定访问装置125是否实际能够在没有提供货币代码时按预期继续进行。有可能访问装置125替代地将拒绝交互、停止直到发生超时、经历处理延迟或以其它方式表现为不期望的方式。线下的其它组件(例如,授权实体计算机、传输计算机或网络处理计算机)也可能出现问题。在一些实施例中,测试计算机170可以观察任何问题并且采取必要的纠正措施。
作为第二示例,当测试计算机170提供无效的签名动态应用数据(SDAD)时,可以设计一组交互装置逻辑来测试访问装置125的响应。类似地,在模拟这种场景时,测试计算机170可以发送大部分预期的且正常的APDU响应。然而,一个特定的响应消息,即“获取处理选项”响应可能在SDAD字段中具有不正确的长度、不正确的格式的值或其它不适当的值。例如,正常的SDAD字段可以被构造为“9F4B404B54…”。然而,SDAD字段可能被错误地编码,并且可以通过省略数据“4B54”来改变,使得测试交互的GPO响应中的SDAD数据字段为“9F4B3D…”。同样,访问装置125(和交互系统的其它部分)可能期望以某种方式对这种情况(或涉及错误或混乱数据的其它情况)作出反应。例如,访问装置125继续交互、拒绝交互、从测试计算机170请求更多信息、在授权请求消息中标记不正确的SDAD或采取任何其它合适的操作。测试计算机170或交互系统中的其它组件可以记录所发生的情况,以便测试计算机170稍后可以观察结果。
本发明的实施例具有多个优势。例如,在一些实施例中,测试计算机(结合本地移动装置)可以用于测试访问装置如何对所有来自远程位置的任何合适数量的不同交互装置和交互场景作出反应。因此,不需要使用多个不同的物理样品交互装置进行测试,因为所有的测试都可以使用测试计算机和移动装置方便地进行。
另外,当制作新的交互装置或进行其它更新时,其逻辑指令可以被上传到测试计算机。结果,同样不需要将新的物理测试装置分配到每个访问装置位置。此外,最新的交互装置和测试用例可以立即用于测试,而不需要等待将任何物理装置分配到访问装置驻留的位置。
本发明的实施例还有利地简化了测试过程,使得不需要熟练的技术工人来进行测试交互。在资源提供商位置处的移动装置可以加载用于与测试计算机进行通信的必要软件。然后,移动装置可以用于测试访问装置的操作。
本发明的实施例还有利地允许测试交互装置逻辑,而不使交互装置逻辑、编程或其它配置暴露于被盗或丢失的风险。测试计算机和卡逻辑可以保留在安全的测试设施中,因此不需要传输到可能受损的外部。在一些情况下,只有电子消息(例如,APDU响应)可以在测试设施之外发送,而创建消息的计算机逻辑可能永远不会暴露。因此,提高了安全性,并且可以测试具有机密逻辑的卡或其它交互装置。
本发明的实施例还有利地使中央测试计算机能够创建其自身的交互报告,因为它可以直接涉及测试交互。因此,技术人员可能不再需要发回测试报告(例如,通过以物理方式返回测试卡和/或编译数据)。
现将描述可用于实现本文所描述的任一实体或组件的计算机系统。计算机系统中的子系统经由系统总线互连。额外子系统包括打印机、键盘、固定磁盘和监视器,监视器可耦合到显示适配器。外围装置和可以耦合到输入/输出(I/O)控制器的I/O装置可以由所属领域已知的任何数量个构件连接到计算机系统,所述构件例如串行端口。例如,串行端口或外部接口可用于将计算机设备连接到例如因特网的广域网、鼠标输入装置或扫描仪。通过系统总线的互连允许中央处理器与每个子系统通信,并且控制来自系统存储器或固定磁盘的指令的执行以及子系统之间的信息交换。系统存储器和/或固定磁盘可体现计算机可读介质。
如所描述,本发明的服务可涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,所述功能、过程、操作或方法步骤可以实施为由适当地被编程的计算装置、微处理器、数据处理器等执行指令集或软件代码的结果。指令集或软件代码可以存储在由计算装置、微处理器等存取的存储器或其它形式的数据存储元件中。在其它实施例中,所述功能、过程、操作或方法步骤可由固件或专用处理器、集成电路等实施。
本申请中描述的任何软件组件或功能可使用任何合适的计算机语言实施为由处理器执行的软件代码,所述计算机语言例如使用例如常规的或面向对象的技术的Java、C++或Perl。软件代码可作为一系列指令或命令存储在计算机可读介质上,例如随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器的磁介质或软盘、或例如CD-ROM的光学介质。任何此类计算机可读介质可驻存在单个计算设备上或内部,并且可存在于系统或网络内的不同计算设备上或内部。
虽然已经详细描述并在附图中示出某些示范性实施例,但应理解,此类实施例仅仅是对本发明的说明而非限制,并且本发明不限于所示和所描述的具体布置和构造,因为所属领域的一般技术人员可以想到各种其它修改。
如本文所使用,除非明确指示为相反情况,否则“一(a)”、“一(an)”或“所述”的使用旨在表示“至少一个”。

Claims (22)

1.一种方法,包括:
由测试计算机从移动装置接收交互输入消息,其中所述移动装置先前从访问装置接收用于交互的所述交互输入消息,所述移动装置与所述访问装置进行短距离通信;
由所述测试计算机使用模拟特定类型的交互装置的一组逻辑来确定基于所述交互输入消息的交互输出消息;以及
由所述测试计算机将所述交互输出消息发送给所述移动装置,其中所述移动装置将所述交互输出消息转发给所述访问装置。
2.根据权利要求1所述的方法,还包括:
由所述测试计算机生成指示所述访问装置在所述交互期间如何工作的交互报告。
3.根据权利要求1所述的方法,其中模拟所述特定类型的交互装置的所述一组逻辑模拟非接触式智能卡、NFC标签、移动电话、支付环或可穿戴装置的操作。
4.根据权利要求1所述的方法,其中所述测试计算机与所述移动装置进行长距离通信。
5.根据权利要求1所述的方法,其中所述交互输入消息是应用协议数据单元命令,其中所述交互输出消息是应用协议数据单元响应,并且其中所述访问装置接收所述应用协议数据单元响应并且所述访问装置确定交互数据包括在所述应用协议数据单元命令中,并且其中所述访问装置将所述交互数据提供给资源提供商计算机。
6.根据权利要求1所述的方法,其中所述移动装置包括输入消息I/O缓冲器和输出消息I/O缓冲器。
7.根据权利要求6所述的方法,其中所述移动装置将所述交互输入消息存储到所述输入消息I/O缓冲器中,并且将所述交互输出消息存储到所述输出消息I/O缓冲器中。
8.根据权利要求1所述的方法,还包括:
由所述测试计算机生成不正确的数据;以及
由所述测试计算机将所述不正确的数据包括到所述交互输出消息中。
9.根据权利要求1所述的方法,其中在没有所述特定类型的交互装置的情况下执行所述交互。
10.一种测试计算机,包括:
处理器;
存储器;以及
计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括能够由所述处理器执行以用于实施方法的代码,所述方法包括:
从移动装置接收交互输入消息,其中所述移动装置先前从访问装置接收用于交互的所述交互输入消息,所述移动装置与所述访问装置进行短距离通信;
使用模拟特定类型的交互装置的一组逻辑来确定基于所述交互输入消息的交互输出消息;以及
将所述交互输出消息发送给所述移动装置,其中所述移动装置将所述交互输出消息转发给所述访问装置。
11.根据权利要求10所述的测试计算机,还包括:
交互装置逻辑模块;
通信模块;以及
交互报告模块。
12.根据权利要求10所述的测试计算机,其中所述交互输入消息是第一交互输入消息,所述交互输出消息是第一交互输出消息,模拟所述特定类型的交互装置的所述一组逻辑是模拟特定类型的第一交互装置的第一组逻辑,并且所述交互是第一交互,并且其中所述方法还包括:
从所述移动装置接收第二交互输入消息,其中所述移动装置先前从所述访问装置接收用于第二交互的所述第二交互输入消息;
使用模拟特定类型的第二交互装置的第二组逻辑来确定基于所述第二交互输入消息的第二交互输出消息;以及
将所述第二交互输出消息发送给所述移动装置,其中所述移动装置将所述第二交互输出消息转发给所述访问装置。
13.根据权利要求12所述的测试计算机,其中模拟所述特定类型的第二交互装置的所述第二组逻辑与模拟所述特定类型的第一交互装置的所述第一组逻辑相同。
14.根据权利要求10所述的测试计算机,其中所述方法还包括:
生成指示所述访问装置在所述交互期间如何工作的交互报告。
15.根据权利要求10所述的测试计算机,其中所述方法还包括:
生成交互报告请求消息;
将所述交互报告请求消息提供给所述移动装置,其中所述移动装置将所述交互报告请求消息提供给所述访问装置,并且其中所述访问装置生成包括交互报告的交互报告响应消息,并且将所述交互报告响应消息发送给所述移动装置;以及
从所述移动装置接收所述交互报告响应消息。
16.根据权利要求10所述的测试计算机,其中所述访问装置确定所述交互输出消息是从与所述特定类型的交互装置相关联的交互装置接收的。
17.根据权利要求10所述的测试计算机,其中所述方法还包括:
生成不正确的数据;以及
将所述不正确的数据包括到所述交互输出消息中。
18.根据权利要求10所述的方法,其中不正确的数据包括不正确填充的数据字段。
19.一种移动装置,包括:
处理器;
存储器;以及
计算机可读介质,其耦合到所述处理器,所述计算机可读介质包括能够由所述处理器执行以用于实施方法的代码,所述方法包括:
从访问装置接收用于交互的交互输入消息,所述访问装置与所述移动装置进行短距离通信;
将所述交互输入消息发送给测试计算机;
从所述测试计算机接收交互输出消息,其中所述测试计算机使用模拟特定类型的交互装置的一组逻辑确定基于所述交互输入消息的所述交互输出消息;以及
将所述交互输出消息提供给所述访问装置。
20.根据权利要求19所述的移动装置,其中所述方法还包括:
在输出消息I/O缓冲器模块中存储所述交互输入消息;以及
在输入消息I/O缓冲器模块中存储所述交互输出消息。
21.一种方法,包括:
由移动装置从访问装置接收用于交互的交互输入消息,所述访问装置与所述移动装置进行短距离通信;
由所述移动装置将所述交互输入消息发送给测试计算机;
由所述移动装置从所述测试计算机接收交互输出消息,其中所述测试计算机使用模拟特定类型的交互装置的一组逻辑确定基于所述交互输入消息的所述交互输出消息;以及
由所述移动装置将所述交互输出消息提供给所述访问装置。
22.根据权利要求21所述的方法,其中所述移动装置是移动电话,并且其中短距离通信包括NFC通信。
CN201980088915.3A 2019-01-02 2019-12-31 用于系统测试的计算机和管道 Pending CN113287095A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962787593P 2019-01-02 2019-01-02
US62/787,593 2019-01-02
PCT/US2019/069100 WO2020142512A1 (en) 2019-01-02 2019-12-31 Computer and conduit for system testing

Publications (1)

Publication Number Publication Date
CN113287095A true CN113287095A (zh) 2021-08-20

Family

ID=71407402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980088915.3A Pending CN113287095A (zh) 2019-01-02 2019-12-31 用于系统测试的计算机和管道

Country Status (5)

Country Link
US (2) US11789834B2 (zh)
EP (1) EP3906473A4 (zh)
CN (1) CN113287095A (zh)
SG (1) SG11202107081QA (zh)
WO (1) WO2020142512A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4104426A4 (en) 2020-02-10 2024-03-06 Visa International Service Association SYSTEM AND METHOD FOR TESTING NETWORK-CONTROLLED MOBILE DEVICE CORE
US20210374042A1 (en) * 2020-06-01 2021-12-02 Visa International Service Association Automatic portable device testing method and system
US12086812B2 (en) * 2022-07-01 2024-09-10 Bank Of America Corporation Dynamic device performance evaluation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100224682A1 (en) * 2009-03-03 2010-09-09 Cubic Corporation Contactless smartcard authentication
CN101853197A (zh) * 2009-03-31 2010-10-06 国际商业机器公司 确定服务器负载能力
WO2012142324A2 (en) * 2011-04-12 2012-10-18 Visa International Service Association Contactless test system
US20130212512A1 (en) * 2012-02-07 2013-08-15 Mts Systems Corporation Mobile Application Tool and Graphical User Interface
US8788885B1 (en) * 2011-09-23 2014-07-22 Amazon Technologies, Inc. Intermediary for testing content and applications
EP2980732A1 (en) * 2014-07-31 2016-02-03 Accenture Global Services Limited Testing of automated fare management systems
CN107430731A (zh) * 2015-03-17 2017-12-01 维萨国际服务协会 多设备交易验证
WO2018144036A1 (en) * 2017-02-06 2018-08-09 Visa International Service Association Simulator for system testing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812436A (en) 1994-10-20 1998-09-22 Tandem Computers Incorporated Method and apparatus for testing and analyzing the conformance of a proposed set of requirements for a proposed network management application
US7567920B2 (en) * 2007-11-01 2009-07-28 Visa U.S.A. Inc. On-line authorization in access environment
US9088430B2 (en) * 2008-02-19 2015-07-21 Qualcomm Incorporated Providing network originated push messages for remotely testing a mobile device
AU2009302485C1 (en) * 2008-10-06 2015-10-22 Mastercard International, Inc. Systems, methods, and computer readable media for payment and non-payment virtual card transfer between mobile devices
US9972005B2 (en) * 2013-12-19 2018-05-15 Visa International Service Association Cloud-based transactions methods and systems
KR102008219B1 (ko) 2017-04-19 2019-08-07 주식회사 티머니 교통카드 결제단말기 운영로직에 대한 자동 시험시스템 및 방법
CN107491706B (zh) * 2017-08-16 2020-11-13 惠州Tcl移动通信有限公司 基于移动终端的nfc压力测试方法、系统及存储装置
US11748234B2 (en) * 2021-05-17 2023-09-05 Snap Inc. Automated testing platform for testing multiple devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100224682A1 (en) * 2009-03-03 2010-09-09 Cubic Corporation Contactless smartcard authentication
CN101853197A (zh) * 2009-03-31 2010-10-06 国际商业机器公司 确定服务器负载能力
WO2012142324A2 (en) * 2011-04-12 2012-10-18 Visa International Service Association Contactless test system
US8788885B1 (en) * 2011-09-23 2014-07-22 Amazon Technologies, Inc. Intermediary for testing content and applications
US20130212512A1 (en) * 2012-02-07 2013-08-15 Mts Systems Corporation Mobile Application Tool and Graphical User Interface
EP2980732A1 (en) * 2014-07-31 2016-02-03 Accenture Global Services Limited Testing of automated fare management systems
CN107430731A (zh) * 2015-03-17 2017-12-01 维萨国际服务协会 多设备交易验证
WO2018144036A1 (en) * 2017-02-06 2018-08-09 Visa International Service Association Simulator for system testing

Also Published As

Publication number Publication date
WO2020142512A1 (en) 2020-07-09
EP3906473A1 (en) 2021-11-10
US20230409453A1 (en) 2023-12-21
SG11202107081QA (en) 2021-07-29
US20220091949A1 (en) 2022-03-24
US11789834B2 (en) 2023-10-17
EP3906473A4 (en) 2022-03-02

Similar Documents

Publication Publication Date Title
US10540273B2 (en) Simulator for system testing
US10142348B2 (en) Enhanced data interface for contactless communications
US20230409453A1 (en) Computer and conduit for system testing
US11726841B2 (en) Adapter for providing unified transaction interface
US10885509B2 (en) Bridge device for linking wireless protocols
EP3437003B1 (en) System and method employing reduced time device processing
US20240028532A1 (en) Chip card socket communication
US20200382955A1 (en) Terminal type identification in interaction processing
CN114207578A (zh) 移动应用程序集成
US12079116B2 (en) Network based testing of mobile device kernels system and method
RU2780821C2 (ru) Адаптер для предоставления унифицированного интерфейса транзакций
RU2774798C2 (ru) Способ с применением сокращенной по времени обработки устройства

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination