CN110268389B - 用于系统测试的模拟器 - Google Patents

用于系统测试的模拟器 Download PDF

Info

Publication number
CN110268389B
CN110268389B CN201780085660.6A CN201780085660A CN110268389B CN 110268389 B CN110268389 B CN 110268389B CN 201780085660 A CN201780085660 A CN 201780085660A CN 110268389 B CN110268389 B CN 110268389B
Authority
CN
China
Prior art keywords
transaction
predefined
test
message
messages
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.)
Active
Application number
CN201780085660.6A
Other languages
English (en)
Other versions
CN110268389A (zh
Inventor
陈悦玺
B·多明格斯
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 CN110268389A publication Critical patent/CN110268389A/zh
Application granted granted Critical
Publication of CN110268389B publication Critical patent/CN110268389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • 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/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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Finance (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了一种用于模拟交易设备的方法。模拟设备可以加载预定义的一组输出消息,以响应某些输入消息发送模拟由交易设备发送的消息的输出消息。模拟设备可以模拟正常运行的交易设备以及故障的交易设备。

Description

用于系统测试的模拟器
相关申请的交叉引用
无。
背景技术
有许多类型的交易设备,并且每个交易设备在进行交易时都提供不同的信息。另外,同一交易设备可以在不同的交易情境下提供不同类型的信息。例如,基于物理接触的交易可涉及与基于非接触式通信的交易不同的通信。
通常需要确保访问设备能够正确处理每种交易设备和每种交易情境的交易。这可能意味着在访问设备上运行数百个甚至数千个测试交易,以确保完全兼容。通常,每个测试交易都使用具有特定逻辑和配置的不同交易设备。
这会出现问题,因为创建和分发一批测试交易设备到每个位于远程的访问设备的成本很高。此外,由于每个交易都是在远程位置单独执行的,因此很难在全局范围上识别错误趋势。此外,需要娴熟的技术操作员手动运行每项测试,并确保一切都正常工作。
本发明的实施例单独地且共同地解决这些问题和其它问题。
发明内容
本发明的实施方案涉及模拟不同交易设备和交易情境的模拟设备。模拟设备可以通过模拟每个交易设备的功能来替换整个批次的测试交易设备,从而降低生成和分配一批设备的成本。此外,模拟设备可能不需要合并交易设备的实际逻辑和编程,从而简化测试交易的创建并减少卡逻辑的暴露。相反,对于每个测试交易,模拟设备可以包括一组预定义输入消息,其被映射到被设计为模拟来自特定交易设备的输出的一组预定义输出消息。
本发明的实施方案还提供了能够模拟故障的交易设备的模拟设备。模拟设备可以发送具有错误信息、格式错误或任何其他合适错误的消息。因此,模拟设备可以测试计算设备以及交易系统中的其他部件如何对故障的交易设备作出反应。
在一些实施方案中,模拟设备可以远程加载测试交易指令,因此即使在现场也可以更新。此外,模拟设备可以自动运行测试交易,然后将任何结果报告回中央计算机或测试设施,从而避免对熟练技术人员的需求。
本发明的一个实施方案涉及一种方法。所述方法包括参与与计算设备的交易通信会话,以便观察交易系统如何对特定交易情境作出反应。模拟设备存储用于测试交易的指令。指令包括配置为模拟特定交易情境的一组预定义输出消息和预定义输入消息。所述方法还包括从计算设备接收交易输入消息,确定交易输入消息与预定义输入消息匹配,以及基于匹配的预定义输入消息识别预定义输出消息。所述方法还包括将预定义输出消息发送到计算设备。生成交易报告,所述交易报告指示计算设备如何对特定交易情境作出反应。
本发明的另一实施方案涉及被配置为执行上文描述的方法的模拟设备。
本发明的另一个实施方案涉及一种方法,其包括参与与模拟设备的交易通信会话,以及将交易输入消息发送到模拟设备。所述模拟设备确定所述交易输入消息与预定义输入消息匹配,并且模拟设备基于匹配的预定义输入消息识别和传输预定义输出消息。所述方法还包括从模拟设备接收预定义输出消息。预定义输出消息是被配置为模拟特定交易情境的一组预定义输出消息的一部分。所述方法还包括基于所接收的预定义输出消息处理交易。生成交易报告,所述交易报告指示计算设备如何对特定交易情境作出反应。
本发明的另一实施方案涉及被配置为执行上文描述的方法的计算设备。
关于本发明的实施例的其它细节可见于具体实施方式和附图。
附图说明
图1示出了根据本发明实施方案的系统的框图。
图2示出了根据本发明实施方案的示例性访问设备的框图。
图3示出了根据本发明实施方案的卡形式的示例性模拟设备的框图。
图4示出了根据本发明实施方案的移动设备形式的示例性模拟设备的框图。
图5A-5B示出了根据本发明实施方案的交易通信的示例的流程图。
图6示出了流程图,示出了根据本发明实施方案的示例性交易模拟过程。
具体实施方式
本发明的实施方案涉及用于模拟交易设备的模拟设备。模拟设备可以与访问设备交互以执行交易,发送模仿可通过交易设备发送的通信的通信。模拟设备可以模拟一种或多种类型的交易设备的功能,以及一种或多种类型的交易情境。
当一个或多个交易设备用于执行交易时,模拟设备可以测试访问设备如何动作。在一些实施方案中,可以远程地为模拟设备加载用于一个或多个测试交易的指令。因此,模拟设备可以替换整批特殊测试卡以及将来更新的测试卡。因此,改善了测试访问设备对不同交易设备和情境的反应的效率(例如,成本和时间)。
此外,模拟设备可以记录关于访问设备和交易系统在测试交易期间如何表现的信息。这种数据可以被提供给中央测试计算机或测试设施,并被分析以确定趋势和/或系统性问题。这改善了故障排除和趋势识别。
在一些实施方案中,模拟设备可以模拟特定交易设备,而不具有表征该特定交易设备的逻辑和编程。相反,可以为模拟设备加载一组预定义输出消息,这些输出消息与将被模拟的交易设备发送的消息相同。模拟设备还可以具有一组预定义输入消息。当访问设备向模拟设备发送消息时,模拟设备可以识别匹配的预定义输入消息。模拟设备可以确定哪些预定义输出消息对应于匹配的输入消息,然后将预定义输出消息作为响应发送回访问设备。结果,可以保护机密和/或安全敏感卡逻辑以免暴露,并且简化了用于创建测试交易指令的过程。
本发明的实施方案还使模拟设备能够模拟故障的交易设备。可对模拟设备编程以发送错误类型的输出消息,或者具有错误数据、缺少数据或格式错误的数据的交易消息。结果,模拟设备可以测试访问设备如何对故障交易设备作出反应,并确定访问设备在该情况下是否如所期望那样表现。此外,如上所述,可以使用预定义输出消息模拟此类型的负面测试情况。这样可提高效率并减少工作负载,否则需要更改基础卡逻辑以创建此类型的负面测试情况。
在论述本发明的特定实施方案之前,可详细地描述一些术语。
“模拟设备”可以包括可模仿另一个设备的设备。例如,模拟设备可以执行通常在相同情况下由另一设备执行的消息传递或其他交互。在一些实施方案中,模拟设备可以看起来作为另一个设备发挥作用,但可能不执行与被模拟设备相同的内部过程。在一些实施方案中,模拟设备可以模拟多种类型的设备(例如,支付设备、移动设备、身份验证设备等)。
“交易设备”可以包括可与另一设备交互的设备。例如,交易设备可以与访问设备交互,以便执行交易。交易设备可以向访问设备提供信息,以便为交易付款、识别用户、访问区域(无论物理还是虚拟的)或受保护信息、识别或获得服务或产品,或者为任何其他合适类型的交易付款。交易设备的示例包括支付设备、会员设备、访问卡、识别设备和移动设备。
“交易输入消息”可以是交互期间接收的通信。例如,访问设备发送的消息可以是用于接收交易设备的交易输入消息。交易输入消息的一个示例是APDU(应用程序协议数据单元)命令。
“交易输出消息”可以是交互期间发送的通信。交易输出消息的一个示例是由交易设备发送的APDU(应用程序协议数据单元)响应。
“测试交易”可以是调查交互。可以执行测试交易,以了解关于交易系统如何运行的信息。例如,可以设计不同的测试交易,以确定在由不同类型的交易设备发起时是否会正确处理交易。测试交易可能涉及在交易通信会话期间发送某些类型的信息,以便测试如何处理信息。某些测试交易可被设计为检查缺陷,并在交易设备为交易提供错误信息时检查访问设备或交易系统的响应。
在一些实施方案中,可以通过执行一组指令来完成测试交易。一组指令可以包括与一组预定义输入消息相关联的一组预定义输出消息。“预定义输出消息”可以是已预先配置或预加载的传出通信。一组预定义输出消息可以是用于发送的潜在消息的列表。“预定义输入消息”可以是可接收的已知通信。一组预定义输入消息可以是可接收的消息列表。在测试交易期间,当接收到某个输入消息时,作为响应,可以发送对应的输出消息。在其他实施方案中,并非发送预定义消息,而是可以生成新消息。例如,应用逻辑和存储的账户信息可以用于基于在命令消息中接收的信息来生成新消息。
“交易报告”可包括与交互相关的信息。交易报告可以具有如何处理交易的描述,例如已发送和接收的信息,以及交易是否成功的描述。交易报告还可以包括关于问题、缺失信息、延迟或交易期间发生的其他问题的注释。
“服务器计算机”可以包括功能强大的计算机或计算机集群。举例来说,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,且可包含用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。
图1示出了包括若干部件的系统100。系统100包括由用户110操作的用户设备115和模拟设备120。系统100还包括资源提供商计算机130、传输计算机140、交易处理计算机150、授权实体计算机160和测试计算机170,所述计算机的每者可以由一个或多个计算机体现。模拟设备120可以与访问设备125通信,该访问设备又可以与资源提供商计算机130通信。此外,模拟设备120、用户设备115、访问设备125、资源提供者计算机130、传输计算机140、交易处理计算机150、授权实体计算机160和测试计算机170可全部通过任何合适的通信信道或通信网络而彼此可操作地通信。合适的通信网络可以是下列中的任一个和/或组合:直接互连;互联网;局域网(LAN);城域网(MAN);作为互联网上节点的运行任务(OMNI);安全定制连接;广域网(WAN);无线网络(例如,采用例如但不限于无线应用协议(WAP)、I-模式等等的协议)等等。
可以使用安全通信协议,例如但不限于:文件传输协议(FTP)、超文本传输协议(HTTP)、安全超文本传输协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等等来传输计算机、网络与设备之间的消息。
在一些实施方案中,系统100可以是交易系统。换言之,可以使用系统100中的部件发起、处理和批准交易。例如,模拟设备120可以通过与访问设备125交互(例如,通过建立接触或非接触式通信)来发起交易。访问设备125和模拟设备120交换一个或多个消息,使得访问设备125可以从模拟设备120获得交易数据。访问设备125可以向资源提供商计算机130提供交易数据。资源提供商计算机130然后可向授权实体计算机160发送带有交易数据的授权请求消息。该请求可以通过传输计算机140和交易处理计算机150被路由。授权实体计算机160可以授权交易并将授权响应消息返回到资源提供商计算机130和访问设备125。
资源提供商计算机130可以与资源提供商相关联,该资源提供商可以是能够提供诸如商品、服务、信息和/或访问的资源的实体。资源提供商的示例包括商家、访问设备、安全数据访问点等等。商家通常可为参与交易且能够出售商品或服务或提供对商品或服务的访问的实体。
资源提供商可以接受多种形式的支付(例如,支付卡或移动设备),并且可以使用多种工具来进行不同类型的交易。例如,资源提供者可运营实体商店且使用访问设备125进行当面交易。
访问设备125可以是用于与资源提供商通信并与交易设备交互的任何合适的设备。访问设备125可以位于任何合适的位置,诸如在与商家相同的位置,并且访问设备125可以为任何合适的形式。访问设备的一些示例包括POS设备、蜂窝电话、PDA、个人计算机(PC)、平板PC、手持式专用读取器、机顶盒、电子现金出纳机(ECR)、自动柜员机(ATM)、虚拟现金出纳机(VCR)、营业亭、安全系统、访问系统、网站等。典型地,访问设备125可以使用任何合适的接触或非接触操作模式,以发送或接收来自交易设备的数据。
图2示出了根据本发明的一些实施方案的访问设备125的示例。访问设备125可以包括:可操作地耦合到计算机可读介质125(d)(例如,一个或多个存储器芯片等)的处理器125(c);诸如按钮等的输入元件125(b);一个或多个读卡器125(a)(例如,接触式芯片读取器、非接触式读取器、磁条读取器等);输出设备125(e)(例如,显示器、扬声器等);以及网络接口125(f)。外壳可以容纳这些部件中的一个或多个。
计算机可读介质125(d)可以包括可由处理器执行的指令或代码。指令可以包括用于在与设备联系时向该交易设备(或模拟设备)发送命令的指令,以及用于与交易设备通信以获得凭证并且以其它方式处理交易的指令。计算机可读介质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可以将测试交易信息分发到一个或多个模拟设备120。例如,测试计算机170可以(例如,在空中)发送有关新测试交易的信息或有关要执行哪些测试交易的指令。在一些实施方案中,测试计算机170可以(例如通过推送功能)自动更新存储在模拟设备120上的指令。
在一些实施方案中,测试计算机170可以经由用户设备115将测试交易信息发送到模拟设备120。例如,模拟设备120可能无法进行空中通信,并且模拟设备120可能不位于测试计算机170附近(因此可能无法建立物理通信连接)。相反,测试计算机170可以将测试交易信息发送到用户设备115。然后,用户设备115可以通过物理通信连接(例如,将模拟设备120插入到用户设备115中)、通过短程非接触式通信或通过任何其他合适的通信方式向模拟设备120提供测试交易信息。
用户设备115和模拟设备120都可以由用户110操作。用户设备115可以是移动设备、笔记本电脑、台式机、可穿戴设备或任何其他合适的设备。
如上所述,模拟设备120可以模拟任何合适的交易设备和/或交易情境。以下描述将描述模拟设备120正在模拟支付设备并向商家提供付款交易的与付款相关的数据的情境。然而,可以模拟任何其他合适类型的设备,并且可以为任何合适类型的交易提供任何合适类型的信息。
模拟设备120可以接收和存储用于执行一个或多个测试交易的指令。指令可以包括预定义输入消息和预定义输出消息,使得模拟设备120可以利用编程的输出消息对所接收的输入消息做出响应。因此,在一些实施方案中,模拟设备120可能无需生成新的输出消息,但是可以在数据表中查找适当的输出消息。
实施方案允许模拟设备120采取任何合适的形式,例如支付设备或移动设备。另外,模拟设备120可以能够通过接触或非接触式通信与访问设备125通信。
可以配置不同的测试交易来测试不同的交易情境。例如,一个测试交易可以包括发送消息的指令,所述消息模拟来自典型类型的支付设备(例如,Visa信用卡)的正常交易。测试交易可以被设计为测试正常交易是否得到正确处理。如果在正常时间段内在访问设备125处接收到授权响应消息,交易系统100可以被视为正常工作。然而,网络中的访问设备125或另一个部件可能发生故障,并且可能接收到错误报告或拒绝交易。
另一项测试交易可以模拟故障的支付设备。例如,模拟设备120可能发送错误信息,或者可能在错误的时间发送信息。可以运行测试交易,以便观察访问设备125如何对故障的支付设备作出反应。
交易通常涉及许多消息、许多形式的数据交换以及在交易系统中交互的几个部件。因此,可以设计很多测试交易,来模拟交易设备可能发生故障的不同方式,和/或测试系统中每个部件如何处理不同的情况。模拟设备120可以与访问设备125执行多个交易,以便运行一个或多个不同的测试交易。
模拟设备120还可以接收交易报告,其中有关于交易的详细信息。例如,访问设备125可以提供交易报告,所述交易报告描述交易是否已被成功授权,并且包括有关任何处理错误或延迟的信息。在一些实施方案中,交易报告可以是提供有关授权结果的典型信息。
模拟设备120可以将交易报告显示给用户110,从而通知用户110每次测试交易的结果以及故障或其他问题的原因。模拟设备120还可以(例如,通过蜂窝网络、互联网、LAN、WLAN、USB接口或其他物理或无线接口)将交易报告提供给用户设备115和/或测试计算机170以进行进一步分析。
如上所述,模拟设备120可以采用多种形式。图3示出了智能卡210形式的模拟设备120的示例图示。此智能卡210可以模拟支付卡(例如,信用卡、借记卡或预付卡)、门禁卡、识别卡或任何其他合适类型的智能卡。
如图3所示,智能卡210可以包括接触接口210(a),诸如磁条和/或其他接触方式,诸如能够读取和写入存储在卡的磁条的存储器210(g)内的数据的接触芯片板210(h)。此外,该卡可以包括非接触式接口,其在一些实施方案中可以包括天线210(d),该天线耦合到集成电路芯片210(i)以无线传输和接收存储在卡上的数据。应当理解,智能卡210可以包括任何形式的短程无线通信功能。例如,智能卡210可以使用RFID、蓝牙TM、红外或其他数据传输能力,其可用于在智能卡210和访问设备125之间交换数据。在一些实施方案中,可以使用RF元件。在此类实施方案中,当RF元件放置在由POS终端产生的电场内时,RF元件可以导致与非接触卡相关联的数据(例如,账户标识符或预编程的消息)被传送到POS终端。
在一些实施方案中,智能卡210可以包括印刷、压印或以其他方式显示的账户标识符、到期日期210(b)、用户名210(c)和/或与账户相关联的任何其他信息。该信息可能与测试账户(这可能包括或可能不包括真实资金)相关联。或者,模拟设备可能不包括这些标记,和/或可能显示诸如短语“测试卡”的替代信息。
集成电路210(i)可以包括微处理器210(e)和存储器210(g)。存储器210(g)可以包括一个或多个应用程序210(f)。示例应用程序210(f)是模拟应用程序。模拟应用程序可以包括执行一个或多个测试交易的指令,以及关于要执行的测试交易的优先级和排序的信息。如上所述,每个测试交易都可以包括预期输入消息以及要作为响应发送的对应输出消息的表格。在一些实施方案中,每个测试交易的消息表格可以存储在存储器210(g)的测试交易数据库中。存储器210(g)还可以将交易报告与每次测试交易的结果存储在一起。
在其他实施方案中,模拟设备120可以采取移动设备的形式。图4示出了根据本发明的一些实施方案的移动设备420形式的模拟设备的示例图示。
移动设备420可以包括用以实现某些设备功能(例如电话)的电路。负责实现那些功能的功能元件可以包括能够执行指令的处理器420A,所述指令实施设备的功能和操作。处理器420A可以访问存储器420E(或者另一个合适的数据存储区域或元件),以检索在执行指令时使用的指令或数据,例如移动应用程序。数据输入/输出元件420C(例如,键盘或触摸屏)可以用于使用户能够操作移动设备420和输入数据(例如,用户认证数据)。数据输入/输出元件还可被配置成(例如,经由扬声器)输出数据。显示器420B也可以用于向用户输出数据。通信元件420D可以用于(例如,通过天线420H)实现移动设备420与有线或无线网络之间的数据传输,以帮助连接到因特网或其他网络,并实现数据传输功能。移动设备420还可以包括非接触元件接口420F,以实现设备的非接触元件420G与其他元件之间的数据传输,其中非接触元件420G可以包括安全存储器和近场通信数据传输元件(或另一种形式的短程通信技术)。如上所述,蜂窝电话或类似设备是可根据本发明的实施方案使用的移动设备420的示例。然而,在不脱离本发明的基本概念的情况下,可使用其它形式或类型的设备。例如,移动设备420可替代地采取钥匙卡、平板计算机、可穿戴设备、例如汽车的车辆等的形式。
存储器420E可以包括模拟应用程序420J、测试交易数据420K以及任何其他合适的模块或数据。移动设备420可以具有安装或存储在存储器420E上的任何数量的移动应用程序,并且不限于图4所示。存储器420E还可以包括代码,所述代码可由处理器420A执行以实现一种方法,所述方法包括:参与与计算设备的交易通信会话,以便观察交易系统如何对特定的交易情境作出反应,模拟设备存储用于测试交易的指令,所述指令包括配置为模拟特定交易情境的一组预定义输出消息和预定义输入消息;接收来自计算设备的交易输入消息;确定交易输入消息与预定义输入消息匹配;基于匹配的预定义输入消息识别预定义输出消息;以及将预定义输出消息发送到计算设备,其中生成了指示计算设备如何对特定交易情境作出反应的交易报告。
模拟应用程序420J可以允许移动设备420模拟一个或多个交易设备和/或交易情境。模拟应用程序420J可以存储和/或访问测试交易数据420K。模拟应用程序420J可以使移动设备420激活特定测试交易,从访问设备接收输入消息,从一组测试交易消息中识别匹配的输入消息,选择对应的输出消息以及将输出消息发送到访问设备。模拟应用程序420J还可以包括用于存储关于执行的测试交易的报告的指令,例如关于从访问设备接收的数据(包括每个消息和/或交易报告)的信息,以及有关异常活动的信息。
测试交易数据420K可以包括一个或多个测试交易的信息。每个测试交易文件都可以包括一组预定义输入消息和一组对应的预定义输出消息。每个测试交易都可以被配置成测试交易系统的某个方面,和/或访问设备对某组消息的反应(其可包括不适当的、缺失的或失序的信息)。
如上所述,模拟设备120与访问设备125之间的交易通信可以包括交换多条消息(除了发送到交易系统中的其他部件的消息外)。这些消息可以采用APDU(应用程序协议数据单元)消息的形式。图5A-5B示出了根据本发明实施方案的交易设备520与访问设备125之间的示例APDU消息交换。
针对正常交易设备520与访问设备125之间的正常交易描述了以下APDU消息流。然而,实施方案允许交易设备520由模拟设备120替换。模拟设备120可以模拟由交易设备520发送的下述消息的每一个。然而,模拟设备120可能不需要生成这些消息。相反,模拟设备120可以具有预定义输入消息和对应的输出消息的表格。模拟设备可以将从访问设备125接收的命令与预定义输出消息进行匹配,然后将对应的输出消息发送回访问设备125。
在一些实施方案中,由模拟设备120发送的预定义输出消息模拟此时来自交易设备的预期正常响应。在其他实施方案中,预定义输出消息可以类似于预期响应,但包括缺少的信息或格式化错误。在另外的实施方案中,预定义输出消息可以根本不类似于预期响应。这些预定义响应可用于测试访问设备125对错误信息的反应。
继续对典型APDU消息交换的描述,当交易设备520接触(或建立非接触式通信链路)访问设备125时,交易设备520和访问设备125接着能够通信和交换APDU消息。消息可以是从访问设备125发送到交易设备520的APDU命令的形式,以及从交易设备520发送到访问设备125的APDU响应的形式。然而,应当了解,其它消息、消息收发协议或格式可以用来交换执行交易的相关信息。
在步骤S505,访问设备125可以执行应用程序选择。例如,访问设备125可以确定交易设备520和访问设备125都支持哪些应用程序。在一些实施方案中,当访问设备125检测到交易设备520的存在时,访问设备125可以将可用的应用请求(可以是“选择命令”)发送至用户设备115,以请求关于在交易设备520处哪些支付应用程序可用(例如AID的列表)的信息。
交易设备520可以通过将可用应用响应发送回访问设备125来进行响应。可用应用响应(可以是“选择响应”)可以包括可用AID(应用标识符)的列表。
访问设备125接着可以从在可用应用响应中接收的应用列表选择合适的应用(例如,通过从可用AID中选择AID)。访问设备125还可以将具有所选AID的应用选择消息(其可以是“读取记录”或“选择AID”命令)发送到交易设备520。
交易设备520接着可以向访问设备125发送对使用所选择的应用/AID执行交易可能需要的交易数据的请求(其可以是“读取记录响应”)。请求可以包括交易数据标识符的列表,并且该列表可以是处理选项数据对象列表(PDOL)的形式。
在步骤S510处,访问设备125可以发起应用处理。例如,访问设备125可以请求交易设备520指示要用于所选择的应用和所支持的功能的数据(例如包含数据的文件的列表)。在一些实施方案中,访问设备125可以发送获得处理选项(GPO)命令。访问设备125还可以(例如通过GPO命令)将交易信息提供给交易设备520。
交易设备520接着可以使用接收到的终端交易数据中的至少一些来生成动态交易处理信息,并且(经由“GPO响应”)将一组交易处理信息发送到访问设备125。交易处理信息可以包括一个或多个应用文件定位符(AFL),其可由访问设备125用作文件地址以读取存储在交易设备520上的账户数据。
在步骤S515处,访问设备125可以读取应用数据。例如,访问设备125可以向交易设备520发送账户数据请求(其可以是“读取记录命令”),以读取存储在交易设备520处的账户数据。
交易设备520接着可以(例如,通过“读取记录响应”)将账户数据发送到访问设备125。账户数据可以包括例如磁道2等效数据(例如账户标识符和/或其他支付凭据)和持卡人姓名,和/或在AFL位置处可访问的其他账户相关数据。
可以执行一个或多个认证和校验步骤,来验证交易可以继续。例如,步骤S520-S540提供各种认证过程。在步骤S520处,访问设备125可以确定是否应当离线认证交易设备520。在步骤S525处,访问设备125可以检查处理限制。在步骤S530处,访问设备125可以执行持卡人验证。在步骤S535处,访问设备125可以执行终端风险管理(例如,检查欺诈指标)。在步骤S540处,访问设备125可以执行终端动作分析。例如,访问设备可以确定交易是否应当被离线批准、在线发送以用于授权或离线拒绝。
访问设备125接着可以(例如经由生成应用程序密码命令)从交易设备520请求密码。在一些实施方案中,可以请求授权请求密码(ARQC)用于在线授权,可以请求交易证书(TC)用于离线授权(例如已经批准离线),以及可以请求应用认证密码(AAC)用于交易拒绝或授权推迟。
交易设备520接着可以确定将哪种类型的密码提供给访问设备。例如,交易设备520可以提供ARQC以继续在线授权。替代性地,交易设备520可以确定是否应当拒绝交易,且可以返回AAC。
在步骤S545处,访问设备125可以从交易设备520接收密码,并确定是否在线授权交易。在一些实施方案中,如果收到ARQC,则访问设备125可以继续在线授权过程。
在步骤S550处,已经获得必要的数据,访问设备125然后可以在线处理交易。例如,访问设备125可以利用所获得的数据元素(例如,来自交易处理信息和账户数据)中的一些或全部来生成交易授权请求消息,以请求来自发行方的交易授权(例如,在线授权)。
访问设备125可以通过交易处理网络向授权实体计算机发送授权消息,以获得授权(如上文相对于图1所述的)。访问设备125可以接收具有授权结果和/或有关交易处理问题的信息的响应。
在步骤S555处,访问设备125可以完成交易通信。这可以包括向交易设备520提供授权结果和/或任何其他交易处理信息。访问设备125还可以(例如使用第二生成应用程序密码命令)从交易设备520请求第二密码。如果交易被成功授权,访问设备125可以通过请求TC来如此指示。一旦交易设备520(例如,通过生成应用程序密码响应)提供了第二密码,它可以完成其内部处理并且恢复到默认状态,从而准备好从访问设备125中移除并为后续交易做好准备。
实施方案允许模拟设备120模拟该整个交换,以及有意地改变每个步骤的信息或消息格式(以及跳过步骤)。如上所述,实施方案有利地允许模拟设备120基于从访问设备125接收的信息发送预定义消息。因此,在模拟某个交易设备时,模拟设备120可能不需要该交易设备的实际逻辑的副本用于生成消息。相反,模拟设备120可以预先加载可由该交易设备发送的消息类型。从访问设备125的角度来看,模拟设备120以与交易设备相同的方式操作。然而,交易设备的逻辑和编程可以保密并且安全,并且模拟设备120可以发送预定义消息。
类似地,模拟设备120可以加载有包括错误的预定义消息。这允许模拟设备120测试访问设备对错误消息的反应。为此应用程序使用预定义消息尤其有用,因为需要更改交易设备的典型逻辑和编程,以创建具有错误数据的测试场景。要改变模拟设备120正在模拟的每个交易设备的逻辑,需要大量的人工工作。
每个测试交易都可以包括一组预定义输入消息,其中每个预定义输入消息都可以与(相同或不同的)预定义输出消息绑定。因此,取决于在模拟设备120处接收到什么输入消息,将特定输出消息发送回访问设备125。
例如,某个测试交易可以具有不同的预定义选择响应(参见图5A中的步骤S505),其可以根据访问设备125在选择命令中发送的确切内容而被发送。如果传入的选择命令是“00a4040007A0000000031010”,对应的预定义选择响应可以是“6f098407a00000000310109000”。可以为不同的选择命令发送其他选择响应(例如,在一个或多个选择命令数据字段中具有不同值的选择命令)。
类似地,如果访问设备120发送到模拟设备120的读取记录命令是“00B2020C00”,模拟设备120可以识别此输入调用读取记录命令“702657134761739001010010d20122011”。然后,访问设备120可以发送GPO命令“80A80000028300”。此GPO命令可以匹配预定义输入消息,因此模拟设备120可以发送GPO响应的对应预定义输出消息,其可以是“800e3800080202001001020018010201”。
在一些实施方案中,测试交易可以将多个输入消息与相同的预定义输出消息相关联。例如,模拟设备120可以利用同一精确读取记录响应(例如,处理选项数据对象列表中列出的相同项目)做出响应,而不管读取记录命令中指示的是哪个AID。作为另一示例,测试交易可以被配置为测试访问设备对来自交易设备的拒绝的响应。因此,模拟设备120可以在生成应用程序密码响应中指示交易被拒绝,而不论访问设备125在生成应用程序密码命令中发送了什么交易金额(即,可忽略交易金额)。
模拟设备120可以被编程以通过忽略或屏蔽接收消息中的特定数据字段来以此方式将多个潜在输入消息分组到一起。在一个示例中,可以屏蔽或忽略选择命令中的前两个字符。结果,以下所有可能的选择命令消息可以被模拟设备120认为是相同的消息,因为它们之间的唯一区别是前两个字符:
00a4040007A0000000031010
01a4040007A0000000031010
02a4040007A0000000031010
03a4040007A0000000031010
在此示例中,不管接收到以上哪些消息,都会发送相同的预定义输出消息(其可以是“6f098407a00000000310109000”)。
可以参考图6描述根据本发明的实施方案的方法600。还将参考其它图中的一些要素。在本发明的实施方案中,方法600中所示的步骤可以顺序地或以任何合适的顺序执行。在一些实施例中,所述步骤中的一个或多个可为可选的。
下文描述的各种消息可使用任何合适形式的通信。在一些实施例中,请求或响应可呈电子消息格式,例如,电子邮件、短消息服务(SMS)消息、多介质消息服务(MMS)消息、超文本传输协议(HTTP)请求消息、传输控制协议(TCP)包、网页表单提交。请求或响应可指向任何合适的位置,例如,电子邮件地址、电话号码、互联网协议(IP)地址或统一资源定位符(URL)。在一些实施例中,请求或响应可包括不同消息类型的混合,例如,电子邮件消息和SMS消息两者。
在以下流程中,模拟设备120与访问设备125交互以进行交易。然而,访问设备可以是一种类型的计算设备,并且模拟设备120可以以这种方式与任何其他合适类型的计算设备交互。与另一设备(例如,交易设备)交互的任何计算设备可以由模拟设备120测试,以确定计算设备如何对不同的消息和情境作出反应。例如,作为地理位置系统的一部分的计算设备可与其他类似设备通信,以定位移动设备。可以使用模拟设备120测试这种类型的计算设备,以观察它如何与其他计算设备和移动设备通信。更具体地说,模拟设备120可以测试计算设备是否根据空中通信正确地计算到移动设备的距离,以及计算设备是否在被提示时提供距离信息。
另外,模拟设备120可以与访问设备125交互,以模拟一个或多个测试交易。以下流程描述了测试不同的支付交易情境。然而,可以测试任何其他合适类型的交易,例如访问交易或身份验证交易。
模拟设备120可以位于商家店面或其他现场测试位置。具有更新和当前测试交易指令的测试计算机170可以位于远离模拟设备120的中央测试设施中。然而,测试计算机170可以能够将新的或更新的测试交易信息发送到模拟设备120。
在步骤S602处,模拟设备120可以向测试计算机170发送对一些或全部测试交易数据的请求。此请求可以在模拟设备120与测试计算机170之间建立通信会话。测试计算机170接着可以向模拟设备120提供一个或多个测试交易的指令。每个测试交易的指令可包括一组预定义输出消息和一组预定义输入消息,其中每个预定义输入消息与特定的预定义输出消息相关联。每个交易都可以被配置为模拟特定的交易情境。
接收到测试交易指令之后,模拟设备120可以准备好进行一个或多个测试交易。模拟设备120可以通知用户110模拟设备120准备好进行测试,并且可以提示用户110将模拟设备120插入到访问设备125中。用户110然后可以将模拟设备120呈现到商家店面处的访问设备125,用于测试交易。用户110可以选择要执行的一个或多个测试交易,或模拟设备120可以自动执行由测试计算机170指示的一组测试交易。
在步骤S604处,模拟设备120可以(例如,通过接触或短程非接触式通信)与访问设备125建立通信。可以发起交易通信会话,在此期间,模拟设备120可以执行第一测试交易的指令。第一测试交易可以被设计成模拟第一交易情境,并测试访问设备对第一交易情境的反应。
在交易通信会话期间,访问设备125可以向模拟设备120发送多个消息,并且模拟设备120可以利用几个消息向访问设备125做出响应。这些消息可以包括APDU命令和响应。步骤S606-S612描述一组交换的消息。但是,可以进行消息交换的几次迭代。
在步骤S606处,访问设备125可以向模拟设备120发送交易输入消息。交易输入消息可以是APDU命令,例如,选择命令、读取记录命令、GPO命令、获取数据命令、生成应用程序密码命令或任何其他合适的消息。
在步骤S608处,模拟设备120可以接收交易输入消息,并将交易输入消息与用于当前测试交易的预定义输入消息对比,以便识别任何可能的匹配项。然后,模拟设备120可以确定交易输入消息与预定义输入消息匹配。
在步骤S610处,模拟设备120可以基于匹配的预定义输入消息识别预定义输出消息。例如,预定义输入消息可以与特定预定义输出消息关联。
在步骤S612处,模拟装置120可以将预定义输出消息发送到访问设备125。
在步骤S614处,访问设备125可以基于接收的输出消息继续处理交易。例如,访问设备125可能仍然需要来自模拟设备120的进一步信息,因此访问设备125可以向模拟设备120发送一个或多个附加消息。一旦访问设备125接收所有必要的交易信息,访问设备125就可以使用信息向发行方发送授权请求消息。或者,(例如,在包括有意错误的输出消息的测试交易期间)测试交易可以被拒绝并随时停止。
在交易处理和消息交换期间,访问设备125可以记录任何处理错误、延迟或异常情况。例如,访问设备125可以记录来自模拟设备120的意外或缺失信息,以及访问设备125做出什么响应。访问设备125还可以记录有关如何处理发送到发行方的授权请求消息的信息。
在步骤S616处,访问设备125可以为第一交易生成交易报告。交易报告可以指示交易是否已被授权。交易报告还可以包括通信日志和关于如何处理交易的信息,例如整个交易系统对特定交易情境如何反应、交易处理是否正常,和/或是否存在异常情况或错误。如果发生任何处理问题,系统中的每个实体(例如,发行方、交易处理网络等)可以(例如,通过授权响应消息)通知访问设备125。
在步骤S618处,访问设备125可以向模拟设备120发送交易报告。访问设备125可以提示用户110再次向访问设备125呈现(例如,轻击或插入)模拟设备120以接收交易报告。结果,模拟设备120可以从交易系统中的每个部件获得关于如何处理交易的详细信息。
在一些实施方案中,模拟设备120还可以为第一测试交易创建其自己的交易报告。例如,模拟设备120可以注意到访问设备125如何响应每个模拟设备响应消息(例如,访问设备125随后提供和/或请求什么信息)。模拟设备120还可以跟踪任何延迟、意外事件、不当访问设备125动作以及交易成功/失败。
一旦测试交易完成,可以进行一个或多个附加步骤。例如,在一些实施方案中,模拟设备120可以将交易报告和任何其他合适的信息发送到测试计算机170。测试计算机170可以从其他位置的其他模拟设备接收此交易报告以及针对同一测试交易的其他交易报告。因此,测试计算机170可以具有用于识别趋势和可能的系统性错误的大量数据。
此外,用户110可以检查交易报告并识别访问设备125处的任何可能的局部错误。例如,用户110可以查看指示交易批准、拒绝或其他错误消息的访问设备125显示器。用户110可以能够立即采取措施来修复或调整访问设备125,更改设置或修复程序错误。
用户110还可以检查在交易系统中的其他部件(例如,发行方计算机、交易处理计算机、商家计算机或收单方计算机)处本地存储的交易日志。例如,用户110可以(例如,通过用户设备115)远程登录这些计算机并访问每台计算机的交易数据库。用户110由此能够找到有关交易处理问题的更多信息,确定交易数据是否已在网络中的每个点被正确处理,和/或确定授权响应消息和授权请求消息是否正确路由到了发行方计算机和从发行方计算机正确路由。
完成第一测试交易后,模拟设备120接着可以与访问设备125发起第二交易通信会话,以便运行第二测试交易。用户110可以选择下一个测试交易,或者下一个排队的交易可以(例如,在不从访问设备125移除模拟设备120的情况下)自动发起。该过程可以重复任意次数,直到完成所有所需的测试交易。可以执行许多测试交易,以模拟不同的交易情境和/或不同的交易设备。
因此,模拟设备120可以模拟特定交易情境,以及交易中实际上不涉及的特定交易设备的响应。模拟设备120可以在不需要实际交易设备中使用的实际逻辑的情况下完成此模拟,因为模拟设备120可以转而发送与交易设备的典型使用一致的预定义响应(因为它们被设计成模拟交易设备)。
在一些实施方案中,用户设备115可充当测试计算机170和模拟设备120之间的中间体。例如,在步骤S602处,测试计算机170可以向用户设备115提供测试交易指令,所述用户设备继而可以向模拟设备120提供测试交易指令。例如,用户110可以将模拟设备120物理接触到用户设备115以加载指令。此外,在从访问设备125接收到交易报告之后,模拟设备120可以向用户设备115提供交易报告,所述用户设备接着将该报告转发到测试计算机170。
如上所述,测试交易可以模拟许多不同的交易情境。这包括交易设备表现异常的交易情境(以观察访问设备125如何反应)。虽然许多交易情境都是可能的,但现在将出于说明性目的描述一些具体示例。
测试交易可以被设计成测试不同类型的交易设备是否针对商家位置处的给定访问设备125有效。例如,第一测试交易可以模拟VISA信用卡,因此选择响应承载VISA AID(应用标识符)。用于模拟不同类型信用卡的第二次测试交易具有不同类型的AID。
另一项测试交易被设计成确保访问设备125对于仅意在对在线授权有效的交易设备作出适当反应。因此,测试交易在生成应用程序密码响应中发送ARQC。用于测试离线授权的另一项测试交易将在生成应用程序密码响应中发送TC。
被设计用于测试令牌化交易是否被适当处理的测试交易可以在读取记录响应中发送支付令牌。被设计用于测试交易网络如何处理特定类型的密码(例如,密码版本号22或密码版本号18)的测试交易可以在发行方应用程序数据的CVN字段中(例如,在生成应用程序密码响应中)发送“22”或“18”。
其他测试交易可以被设计为针对收单方计算机、商家计算机、交易处理计算机和/或发行方计算机处的特定交易处理功能。
其他测试交易可以被设计成模拟负面测试情况(例如,具有有意错误的测试交易)。当交易设备提供不良信息时,了解访问设备125(或交易系统的其他部分)如何反应是有利的。负面测试情况提供此信息,并使用户能够根据需要进行更改。以下是负面测试情况的示例。
作为第一示例,测试交易被设计成在交易设备未能提供货币代码时,测试访问设备的响应。当模拟此情境时,模拟设备120发送大部分预期和正常的APDU响应。不过,一条具体的响应消息,即“读取记录”响应,缺少货币代码数据字段。
例如,正常的读取记录响应可以被构造为:
702B57134761739001010010d20122011234599999991f5f200e4e616d653069
6e205265636f72649f420208409000
但是,在测试交易期间发送的读取记录响应可能不同,因为它不包括在此处删除的数据字段:
702657134761739001010010d20122011234599999991f5f200e4e616d653069
6e205265636f72649f420208409000
在这里,“9f42”(缺失数据的开始)是指示货币代码后续的标签,“02”是以下货币代码的长度,“0840”(缺失数据的剩余部分)是货币代码。
访问设备125可以被设计成使得其可以继续正常交易处理,即使缺少此货币代码。因此,可以使用此测试交易来确定访问设备125是否实际能够在未提供货币代码时按预期方式继续进行。访问设备125可能会拒绝交易、停止直到发生超时、经历处理延迟或以其他方式表现为不希望的方式。线下的其他部件(例如,发行方计算机或交易处理计算机)也可能将出现问题。用户110可以观察任何问题并采取必要的纠正措施。
作为第二示例,测试交易被设计用于在交易设备提供无效的SDAD(已签名的动态应用程序数据)时测试访问设备的响应。类似地,当模拟此情境时,模拟设备120发送大部分预期和正常的APDU响应。但是,一条具体的响应消息,即“获取处理选项”响应,在具有不正确长度、不正确格式的SDAD数据字段中具有值或具有其他不适当的值。
例如,正常的SDAD数据字段可以被构造为“9F4B404B54...”。但是,SDAD字段可能被错误编码,并且由此被改变并丢失两个字节“4B54”,使得测试交易的GPO响应中的SDAD数据字段为9F4B3D...”。
再次,可能希望访问设备125(以及交易系统的其他部件)以某种方式对这种情况作出反应。例如,可能最好的情况是访问设备125继续交易,拒绝交易,从模拟设备120要求更多信息,在授权请求消息中标记错误的SDAD,或采取任何其他合适的行动。交易系统中的模拟设备120或其他部件可以记录发生了什么,并且用户110和/或测试计算机170可以观察结果。
正常交易设备不能用于运行这些负面测试情况,因为它会正常运行(例如,它实际上会发送货币代码和有效的SDAD)。要不用模拟设备运行这些测试交易,必须要创建具有受操纵逻辑的特殊交易设备(用于不发送货币代码或用于发送无效SDAD)。因此,如上所述利用模拟设备120运行负面测试情况是有利的,因为设计具有缺失货币代码的预定义输出消息较不费力。尤其是在针对多种类型的交易设备测试负面测试情况时。
本发明的实施方案还使得用户110能够以几种方式控制模拟设备120。例如,用户110可以创建特定的测试交易,而不是从测试计算机170接收所有测试交易指令。用户110可以直接在模拟设备120接口上对模拟设备120进行编程,或者通过用户设备115间接地对该模拟设备进行编程。接口可以包括若干选项,例如“选择”命令、“设置”命令、“读取日志”命令、“编程”命令和“切换”命令。
选择命令允许用户110选择要调节的测试交易或创建新的测试交易。然后,用户110还可以指定增强哪个APDU消息。
编程命令允许用户110指定如何更改APDU消息(例如,增强哪些数据字段)。例如,用户110可以指定针对不同输入消息发送的预定义输出消息。更广泛地,用户110可以指定要移除的消息、要并入的通信延迟,或要改变的测试交易的任何其他适当部分。
若干设置命令使用户110能够设置各种模拟设备120参数。例如,一个设置命令将模拟设备120(例如,移动设备上的应用程序)从可编程模式切换到测试模式,使得可以启动测试。其他设置命令可用于清除之前的测试交易指令、启用事务通信日志记录或禁用通信日志记录。
切换命令允许用户110将模拟设备120从测试模式切换回可编程模式。
读取日志命令允许用户110能够从先前的测试会话获取和查看交易报表或日志(例如,在设置命令期间启用所提供的通信记录)。然后,用户110可以检查先前测试的结果。
本发明的实施方案有许多优点。例如,在本发明的实施方案中,可以使用单个模拟设备来测试访问设备如何对任何适当数量的不同交易设备和交易情境作出反应。因此,无需实际发送多个不同的样本交易设备进行测试,因为可以使用单个模拟设备方便地进行所有测试。
此外,当制造新交易设备或发生其他更新时,可以将更新后的测试交易指令发送至现场已经存在的远程模拟设备。因此,不需要分发额外的物理设备。此外,可以立即模拟最新的交易设备和测试情况,而无需等待任何物理分布。
本发明的实施方案还有利地简化了测试过程,使得熟练的技术人员不需要进行测试交易。模拟设备可以加载用于运行一个或多个测试交易的所有必要信息,并在插入访问设备(或放置在附近)时自动执行测试交易。换句话说,用户只需将模拟设备放置在访问设备处即可方便所有测试。模拟设备还可以记录每次测试的信息,并将数据转发到中央测试计算机。利用来自多个位置的多个模拟设备的数据,更容易确定交易设备的问题并研发可能的校正。
本发明的实施方案还有利地允许在不使用交易设备逻辑、编程或其他配置的情况下模拟交易设备。相反,可以构建预定义输出消息(通常是公开而非机密的),以模拟会由该交易设备发送的消息。换句话说,模拟设备可以模拟交易设备的功能(从访问设备的角度来看),并提供有关交易设备如何运行的反馈,而不会暴露交易设备逻辑。因此,安全性得到改善,并且可以测试具有保密逻辑的卡片。
本发明的实施方案还有利地允许进行负面测试情况。可以测试故障交易设备,而无需实际创建故障交易设备(这将涉及更改交易设备的逻辑和编程),因为可以使用一组预定义消息来替代故障设备逻辑。这开辟了许多新的可能的测试情况,并因此提供了有关交易系统如何运行的新信息。并非仅仅确保交易设备正常工作,还可以观察到有缺陷的交易设备的结果。可以识别和解决先前的未知错误和低效率。
现在将描述可用于实施本文所述的任何实体或部件的计算机系统。计算机系统中的子系统经由系统总线互连。额外子系统包含打印机、键盘、固定磁盘和监视器,监视器可耦合到显示器适配器。外围设备和输入/输出(I/O)设备可耦合到I/O控制器,且可通过本领域已知的任何数量的手段(例如串行端口)连接到计算机系统。例如,串行端口或外部接口可用于将计算机装置连接到例如互联网的广域网、鼠标输入设备或扫描仪。经由系统总线的互连允许中央处理器与每个子系统通信,并控制来自系统存储器或固定磁盘的指令的执行,以及子系统之间的信息交换。系统存储器和/或固定磁盘可体现计算机可读介质。
如上所述,本发明的服务可涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,由于通过适当编程的计算设备、微处理器、数据处理器等执行指令集或软件代码,可实施功能、过程、操作或方法步骤。指令集或软件代码可存储在由计算设备、微处理器等访问的存储器或其它形式的数据存储元件中。在其它实施例中,功能、过程、操作或方法步骤可由固件或专用处理器、集成电路等实施。
本申请中描述的任何软件部件或功能可实施为使用任何适当计算机语言(例如,例如Java、C++或Perl)、使用例如传统的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上,例如随机访问存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器的磁介质或软盘、或例如CD-ROM的光学介质。任何这样的计算机可读介质可驻留在单个计算装置上或内部,且可存在于系统或网络内的不同计算装置上或内部。
虽然已经详细描述了且在附图中示出了一些示范性实施例,但应理解,这样的实施例仅仅是对本发明的说明而非限制,且本发明不限于所示出和描述的具体安排和构造,因为本领域的普通技术人员可想到各种其它修改。
如本文所使用,除非明确指示有相反的意思,否则使用“一个”、“一种”或“所述”旨在指示“至少一个”。

Claims (20)

1.一种用于测试计算设备的方法,所述方法包括:
由模拟设备参与与所述计算设备的短程非接触或接触式交易通信会话,以便观察交易系统如何对特定交易情境作出反应,所述模拟设备存储用于测试交易的指令,所述指令包括被配置为模拟所述特定交易情境的一组预定义输出消息和预定义输入消息,其中所述模拟设备不包含用于生成所述一组预定义输出消息和预定义输入消息的逻辑;
由所述模拟设备从所述计算设备接收交易输入消息;
由所述模拟设备确定所述交易输入消息与预定义输入消息匹配;
由所述模拟设备基于匹配的预定义输入消息识别预定义输出消息;以及
由所述模拟设备向所述计算设备发送所述预定义输出消息,其中生成交易报告,所述交易报告指示所述计算设备如何对所述特定交易情境作出反应。
2.根据权利要求1所述的方法,其中所述预定义输出消息包括格式或内容中的有意错误。
3.根据权利要求2所述的方法,其中所述交易系统通过由于格式或内容中的错误而拒绝交易,来作出反应。
4.根据权利要求1所述的方法,其中所述一组预定义输出消息模拟来自特定类型的交易设备的输出。
5.根据权利要求1所述的方法,还包括:
在所述模拟设备处接收多个指令集,每个指令集对应于针对不同交易情境的不同测试交易,其中执行多个测试交易以便测试每个交易情境。
6.一种模拟设备,包括:
处理器;以及
计算机可读介质,所述计算机可读介质包括能够由所述处理器执行以实施一种方法的代码,所述方法包括:
参与与计算设备的短程非接触或接触式交易通信会话,以便观察交易系统如何对特定交易情境作出反应,所述模拟设备存储用于测试交易的指令,所述指令包括被配置为模拟所述特定交易情境的一组预定义输出消息和预定义输入消息,其中所述模拟设备不包含用于生成所述一组预定义输出消息和预定义输入消息的逻辑;
从所述计算设备接收交易输入消息;
确定所述交易输入消息与预定义输入消息匹配;
基于匹配的预定义输入消息识别预定义输出消息;以及
向所述计算设备发送所述预定义输出消息,其中生成交易报告,所述交易报告指示所述计算设备如何对所述特定交易情境作出反应。
7.根据权利要求6所述的模拟设备,其中所述预定义输出消息包括格式或内容中的有意错误。
8.根据权利要求7所述的模拟设备,其中所述交易系统通过由于格式或内容中的错误而拒绝交易,来作出反应。
9.根据权利要求6所述的模拟设备,其中所述一组预定义输出消息模拟来自特定类型的交易设备的输出。
10.根据权利要求6所述的模拟设备,其中,所述方法进一步包括:
接收多个指令集,每个指令集对应于针对不同交易情境的不同测试交易,其中执行多个测试交易以便测试每个交易情境。
11.一种用于测试计算设备的方法,包括:
由所述计算设备参与与模拟设备的短程非接触或接触式交易通信会话;
由所述计算设备向所述模拟设备发送交易输入消息,其中所述模拟设备确定所述交易输入消息与预定义输入消息匹配,并且其中所述模拟设备基于匹配的预定义输入消息识别和传输预定义输出消息;
由所述计算设备从所述模拟设备接收所述预定义输出消息,所述预定义输出消息是被配置成模拟特定交易情境的一组预定义输出消息的一部分;以及
由所述计算设备基于所接收的预定义输出消息处理交易,其中生成交易报告,所述交易报告指示所述计算设备如何对所述特定交易情境作出反应,其中所述模拟设备不包含用于生成所述一组预定义输出消息和预定义输入消息的逻辑。
12.根据权利要求11所述的方法,其中所述预定义输出消息包括格式或内容中的有意错误。
13.根据权利要求12所述的方法,其中所述计算设备通过由于格式或内容中的错误而拒绝交易,来作出反应。
14.根据权利要求11所述的方法,其中所述一组预定义输出消息模拟来自特定类型的交易设备的输出。
15.根据权利要求11所述的方法,其中所述模拟设备包括多个指令集,每个指令集对应于针对不同交易情境的不同测试交易,并且其中所述方法还包括:
对于每种交易情境:
参与与所述模拟设备的直接接触或非接触式交易通信会话。
16.一种计算设备,包括:
处理器;以及
计算机可读介质,所述计算机可读介质包括能够由所述处理器执行以实施一种方法的代码,所述方法包括:
参与与模拟设备的短程非接触或接触式交易通信会话;
向所述模拟设备发送交易输入消息,其中所述模拟设备确定所述交易输入消息与预定义输入消息匹配,并且其中所述模拟设备基于匹配的预定义输入消息识别和传输预定义输出消息;
从所述模拟设备接收所述预定义输出消息,所述预定义输出消息是被配置成模拟特定交易情境的一组预定义输出消息的一部分;以及
基于所接收的预定义输出消息处理交易,其中生成交易报告,所述交易报告指示所述计算设备如何对所述特定交易情境作出反应,其中所述模拟设备不包含用于生成所述一组预定义输出消息和预定义输入消息的逻辑。
17.根据权利要求16所述的计算设备,其中所述预定义输出消息包括格式或内容中的有意错误。
18.根据权利要求17所述的计算设备,其中所述计算设备通过由于格式或内容中的错误而拒绝交易,来作出反应。
19.根据权利要求16所述的计算设备,其中所述一组预定义输出消息模拟来自特定类型的交易设备的输出。
20.根据权利要求16所述的计算设备,其中所述模拟设备包括多个指令集,每个指令集对应于针对不同交易情境的不同测试交易,并且其中所述方法还包括:
对于每种交易情境:
参与与所述模拟设备的短程非接触或接触式交易通信会话。
CN201780085660.6A 2017-02-06 2017-02-06 用于系统测试的模拟器 Active CN110268389B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/016719 WO2018144036A1 (en) 2017-02-06 2017-02-06 Simulator for system testing

Publications (2)

Publication Number Publication Date
CN110268389A CN110268389A (zh) 2019-09-20
CN110268389B true CN110268389B (zh) 2023-06-06

Family

ID=63041011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085660.6A Active CN110268389B (zh) 2017-02-06 2017-02-06 用于系统测试的模拟器

Country Status (4)

Country Link
US (1) US10540273B2 (zh)
EP (1) EP3577562A4 (zh)
CN (1) CN110268389B (zh)
WO (1) WO2018144036A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10881713B2 (en) * 2015-10-28 2021-01-05 Atheer, Inc. Method and apparatus for interface control with prompt and feedback
US11295293B2 (en) * 2016-01-07 2022-04-05 Worldpay, Llc Point of interaction device emulation for payment transaction simulation
US11921615B2 (en) * 2017-12-21 2024-03-05 Mastercard International Corporation Computer-implemented methods, computer-readable media and electronic devices for processing test electronic transactions
US11789834B2 (en) 2019-01-02 2023-10-17 Visa International Service Association Computer and conduit for system testing
US20220318786A1 (en) * 2019-09-16 2022-10-06 Visa International Service Association System, method, and computer program product for verifying a card image
CN110580225A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 业务系统的模拟方法及装置
CN110728802A (zh) * 2019-10-23 2020-01-24 深圳市丰巢科技有限公司 智能柜的巡检方法、装置、智能柜及存储介质
CN112994959B (zh) * 2019-12-02 2022-05-31 腾讯科技(深圳)有限公司 一种业务测试控制系统、方法、装置和存储介质
US11763362B2 (en) * 2019-12-03 2023-09-19 Visa International Service Association Prototype message service
CN110941560A (zh) * 2019-12-04 2020-03-31 福建新大陆支付技术有限公司 一种emv自动化模拟测试方法、系统及设备
WO2021123100A1 (en) * 2019-12-20 2021-06-24 Abstraktor Ab System and method for testing of system under test
CN111309594B (zh) * 2020-01-17 2024-04-23 腾讯科技(深圳)有限公司 一种系统测试方法、装置、设备及存储介质
US20230052559A1 (en) * 2020-02-10 2023-02-16 Visa International Service Association Network based testing of mobile device kernels system and method
US11604713B2 (en) * 2020-02-12 2023-03-14 International Business Machines Corporation Automated hardware for input/output (I/O) test regression apparatus
CN111274157B (zh) * 2020-02-27 2022-08-12 深圳平安医疗健康科技服务有限公司 测试数据模拟方法、装置、计算机设备和存储介质
US20210374042A1 (en) * 2020-06-01 2021-12-02 Visa International Service Association Automatic portable device testing method and system
CN112669541B (zh) * 2020-12-24 2022-11-25 深圳市怡化时代科技有限公司 一种走钞故障模拟系统
CN113345174B (zh) * 2021-05-31 2023-04-18 中国工商银行股份有限公司 一种柜员现金循环机与终端平台的交互模拟方法及装置
US12001314B2 (en) * 2021-08-20 2024-06-04 Google Llc Transaction validator
CN114338850B (zh) * 2021-12-24 2024-03-19 百富计算机技术(深圳)有限公司 报文核对方法、装置、终端设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2602193A1 (en) * 2005-03-30 2006-10-05 American Express Travel Related Services Company, Inc. Method, system, and computer program product for electronic messaging
CN101996451A (zh) * 2009-08-14 2011-03-30 中国工商银行股份有限公司 银行自助设备系统的测试方法及服务器
EP2980732A1 (en) * 2014-07-31 2016-02-03 Accenture Global Services Limited Testing of automated fare management systems

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097015A1 (en) * 2003-10-30 2005-05-05 Wilkes W. B. Electronic financial transactions with portable merchant accounts
US6963997B2 (en) * 2004-02-03 2005-11-08 Hewlett-Packard Development Company, L.P. Transaction logging and intelligent error reporting in an expectation-based memory agent checker
WO2009146304A1 (en) * 2008-05-27 2009-12-03 Visa U.S.A. Inc. Testing capability allowing new data tags
US20090299680A1 (en) * 2008-05-29 2009-12-03 Electronic Data Systems Corporation System and method for message-queue-based server testing
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
US9110496B1 (en) * 2011-06-07 2015-08-18 Interactive TKO, Inc. Dynamic provisioning of a virtual test environment
US9117177B1 (en) * 2013-05-30 2015-08-25 Amazon Technologies, Inc. Generating module stubs
US10289539B1 (en) * 2013-09-18 2019-05-14 Amazon Technologies, Inc. Performance testing in a software deployment pipeline
US20150363776A1 (en) 2014-06-17 2015-12-17 Securesit System and Method for Managing a Payment Transaction
US10341214B2 (en) * 2016-03-30 2019-07-02 Ca, Inc. Scenario coverage in test generation
US10394583B2 (en) * 2016-03-31 2019-08-27 Ca, Inc. Automated model generation for a software system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2602193A1 (en) * 2005-03-30 2006-10-05 American Express Travel Related Services Company, Inc. Method, system, and computer program product for electronic messaging
CN101996451A (zh) * 2009-08-14 2011-03-30 中国工商银行股份有限公司 银行自助设备系统的测试方法及服务器
EP2980732A1 (en) * 2014-07-31 2016-02-03 Accenture Global Services Limited Testing of automated fare management systems

Also Published As

Publication number Publication date
WO2018144036A1 (en) 2018-08-09
CN110268389A (zh) 2019-09-20
EP3577562A1 (en) 2019-12-11
US10540273B2 (en) 2020-01-21
EP3577562A4 (en) 2020-02-12
US20190347189A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
CN110268389B (zh) 用于系统测试的模拟器
US8364587B2 (en) Systems and methods for financial account access for a mobile device via a gateway
EP3566143A1 (en) Testing software code in a production environment
US20230409453A1 (en) Computer and conduit for system testing
US11710117B1 (en) Systems and methods for EMV terminal device testing using EMV card emulation
US20230025779A1 (en) Chip card socket communication
WO2017053688A1 (en) Mobile application performance
US20210374042A1 (en) Automatic portable device testing method and system
US12020228B2 (en) Apparatus and method for payment processing
CN202150136U (zh) 显示条码影像供电子交易的移动装置及集成电路贴片
KR101004082B1 (ko) 금융시스템 자동 테스트 방법 및 시스템과 이를 위한프로그램 기록매체
US20230052559A1 (en) Network based testing of mobile device kernels system and method
KR101787024B1 (ko) 신용조회단말에 가맹점 정보를 저장하기 위한 방법 및 장치
CN115552437A (zh) 用于保护客户身份免受服务或产品提供商影响的系统和方法
CA2933545A1 (en) Apparatus and method for payment processing

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011915

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant