IC卡测试

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IC卡测试

IC卡因其快捷安全的独特魅力吸引了越来越多的专业领域用户,也有越来越多的银行加入或希望加入发行IC卡的行列。许多银行选择发行磁条与芯片共存的复合型卡片。复合IC卡在我国的银行卡市场,还算是尚在起步的新生事物,参考资料比较欠缺。笔者有幸在IC卡发展早期成为IC卡系统开发项目组成员,并作为业务负责人负责提出系统业务需求,制定策划和组织了多次大规模的IC卡测试,经历了若干次IC 卡系统升级改造。现将一些个人心得和经验进行总结,希望为正在为IC卡项目努力的同仁们提供一些借鉴。

测试环境搭建和案例的设计遵循如下的指导思想:覆盖所有的业务种类、涉及到每种业务的正常值、临界值及非正常值的综合测试系统处理业务峰值能力的检验、各子系统容错能力的验证、系统账务纠错管理功能的验证、系统安全性的考虑、特殊时间段及跨越24小时不间断运行的业务处理正确性的检验。

基本测试方法:本文所描述的测试是从业务的角度出发、基于业务应用层的综合测试,因此采用黑盒测试法,不验证系统内部的流程走向,而主要是通过设计尽可能完整的测试案例,从每个测试案例的响应结果和账务的状态结果来形成我们的测试报告。

一、测试准备

测试的目的就是要尽可能预先在实验室中发现问题,提前解决问题。因此,为保证测试结果的可信度,搭建的测试环境应与生产环境尽量一致,覆盖所有的设备,根据IC卡的实际应用范围,搭建储蓄前台、后台、管理机、 ATM、POS 等设备的前置机、加密机等。

1、机具具体要求

(1)搭建储蓄前台。以测试在储蓄网点进行的日常业务。而为测试账务走向的正确性,应至少搭建3个以上储蓄所。以测试本所交易、本地异所交易、异地交易(涉及跨地市资金清算和手续费收取)。同时配备IC卡读写器、划卡器、密码键盘等。

(2)POS准备。以测试在POS上进行的各类消费交易。同储蓄前台原理,为测试账务走向应至少准备管理机构分属不同机构的3台以上POS。同时因不同厂商的POS底层软件不尽相同,为检验交易处理的正确性,响应信息的正确性,应对在生产环境中使用到的每种类型 POS 都进行测试。对于检查账务走向准确性的测试,程序多与后台记账程序有关,不涉及具体设备型号,不必分别进行。根据实际应用,有特殊专业应用的POS,也在测试范围,如医院药店可用于医保区应用的POS,对于加油站等使用的有特殊输出要求的POS,以及用于公交车通过对电子钱包非接触式扣款应用的专用 POS等。

(3)ATM准备。要求同POS。

(4)其他机具。根据实际生产环境需要进行测试,如圈存机、CDM等。

(5)电话银行及网上银行等测试只是交易渠道不同,测试原则与网点测试相同,在此不作讨论,可同理进行。

2、卡片准备

本文假定测试范围为复合IC卡。为检测账务走向、特殊业务控制等要求,一般至少准备本地分属两个不同储蓄所发的卡、异地分属两个不同储蓄所发的卡,并根据测试案例工作量大小准备卡片数量,应多准备测试卡以进行不同组合情况的测试。另根据各系统实际开通功能的情况,准备跨行或跨地区的测试卡。

从IC卡测试成本考虑,最好能准备芯片可多次重写的专用测试卡(多为白板卡)。

3、IC卡密钥

IC卡测试与其他银行卡测试不同的是涉及到密钥的管理。测试用卡应使用测试密钥,以保证生产安全。

二、测试管理

成功的测试工作,绝不仅仅是一两个人的个人努力成果,特别是对于大型项目,需要方方面面配合,项目组的每个技术和业务人员的通力合作。测试成果是一个群体智力和汗水的共同结晶。

1、人员选择

(1)测试组织者

测试的组织者往往是测试成败的关键因素。要求能精通业务,同时对技术流程有一定了解,起到技术和业务的桥梁作用。负责整个测试工作的规划,设计测试方案,制定测试范围、测试方式,做出分工,明确测试步骤,对问题能快速做出决断。

(2)技术员

我们在多次的项目中也深刻体会到:一个优秀的系统决不是靠测试测出来的。编程质量至关重要。我们很幸运合作过一些优秀的技术员,他们是编程高手,同时对业务流程非常熟悉,善于和勤于思考,发现了问题就深究到底。同时,他们会不时将程序设计思路与业务人员沟通,帮助制定测试范围,减小黑盒测试的局限性。这样的素质都是人员选择的关键。

(3)测试人员

在实际的测试工作中,有时因人员紧张或其他原因,只要能满足派出人员参加测试就不错了,测试人员在进入项目组后再进行速成培训,会事倍功半,而测试的质量也难以保证的。

因此,我们从以下方面要求测试人员:

第一,不仅仅是个简单的操作员。首先人员必须对业务和操作都非常熟悉,这是对测试人员的基本要求。因为测试就是一个预见问题和发现问题的过程。试想一个对业务和操作都不熟悉的人,他自己都无法确定自己的操作和系统结果是正确的,又如何能判断错误是他的误操作造成的或是程序错误的结果呢。

第二,测试人员不应只是针对案例简单操作,而应根据案例的范围,根据自己平时工作经验,尽可能的随时加入设想可能发生的情况。

第三,作为问题的第一面对者的测试人员,要求具有良好的判断和反映问题的能力。要求一定的书面表达能力,不要求文采,但要求问题描述简短而清晰,忠实地记录出错情况,从他的问题报告可以让技术及组织者或第三方明白问题所在,而不是长篇大论不知所云,或只是简单而笼统地说不行。

2、测试内容分配

在一个大型的测试中,一般需多个测试人员共同参与。IC卡因其特殊性,不同交易有不同处理方式,甚至使用的密钥都不同。我们在测试内容的分配中尽量做到合作中分工明确。比如,按交易类型分配给不同的测试人员负责测试,这样可以多个交易同时进行,可以考核各人的测试情况,也避免重复劳动。但在分工的同时,尽量考虑每一项功能或交易由两人(或以上)负责,避免一个交易只通过一个人检查和操作,有一定程度个人判断的局限。

3、测试记录

良好而忠实的测试记录是提供给包括验收者在内的第三方验证和分析的最原始资料。要求记录详尽,各要素齐全。建议最好设计成表格形式,一目了然。比如测试具体交易,则需分栏记录交易引起变动的各个相关要素测试前后的状态和记录,如交易前后卡的相关卡号、状态、余额、利息积数等信息,所进行测试的交易种类、交易金额,交易完成后系统输出记录、出错信息,是否成功的结论等。IC卡的测试记录在包括系统各要素的同时,要增加对卡片相关要素(如芯片余额等)的记录。测试人员必须根据实际测试情况忠实填写。测试输出的单据和资料也作为测试重要资料保存。

我们同时设计IC卡测试问题报告单,内容包括测试人员发现问题的描述、时间、技术员分析错误的原因、是否修改程序、是否要求重新测试、再测试结果、相关负责的人员签署等,可以详尽记录出现和解决的问题,方便备查,并为项目完成时提交测试报告,提供验收人员参考分析作为第一手的资料。

4、测试信息反馈

在测试过程中要建立良好的信息反馈和沟通机制。测试人员发现问题要及时与技术人员沟通要求修改。不能解决的问题要向上反映,不能造成问题悬空和脱节。项目管理人员要及时掌握项目进度情况和测试情况,对业务和技术的交叉环节进行疏导解决。

5、讨论会和

IC卡是个新产品,在测试过程中,总会出现新问题或是与设计有矛盾或冲突的地方。有些问题还需其他业务部门定夺。项目组的业务技术人员,包括分管项目的领导,定期地召开讨论会和(遇到紧急情况可随时要求召开),互通项目的进展情况,对测试中遇到的问题共同讨论分析,群策群力寻求最佳方案。要求对项目组不能决定的问题及时提交相关部门,及时解决。

6、程序的版本控制

相关文档
最新文档