引言
随着智能卡在金融、电信、移动通信、医疗保险、付费电视等领域应用的迅速增长,其可靠性要求越来越高,而针对智能卡模块的测试已经成为必不可少的质量保证手段。自动化测试不需要人工干预,能提高测试效率,受到更多重视和应用。在发展自动化测试的过程中,一个高效的自动化测试平台是其基本保障。根据智能卡的应用现状和市场需求,本设计用TCL语言和C语言联合编程的方法,以PC/SC为编程接口,实现了智能卡的测试平台,能够对智能卡进行质量和性能的测试。
1测试系统结构
具有测试功能的系统结构如图1所示。测试系统一般由测试平台、读/写器和智能卡三个部分组成。测试平台运行测试脚本,并对从智能卡返回的结果进行处理。智能卡内部有被测程序,响应测试平台发来的命令,返回测试数据。读/写器提供测试平台和智能卡的接口。这里的研究重点是测试平台。
2测试平台的设计思路
测试平台软件由两个部分组成,即界面程序和通信软件程序,如图2所示。界面程序提供一个友好的图形画面,接受用户指令,如脚本输入,按钮响应等。界面将用户的任务转换为内部指令,然后由通信软件程序具体实施,而通信软件程序负责与USB读卡器通信。下面分别介绍界面程序和通信软件程序的实现原理。
图2是测试平台的软件结构
图3界面程序
2.1界面程序
界面程序分为三层,顶层为脚本层,用于支持ATP语言。ATP并不是一种全新的语言,是从TCL语言口
扩展而来,针对ATP开辟的命令集,它包括TCL基本命令和应用程序相关的扩展命令。TCL基本指令的使用方法可以参考文献[1,2],扩展命令是TCL专门针对智能卡的测试而扩展的。
中间层是根据应用需求而扩展的TCI解释器,它包含TCI标准库和与底层接口程序有关的TCL扩展库。ATP的基本部分由TCL语言解释器调用TCL标准库来执行;ATP的扩展部分由扩展的TCL解释器调用TCL扩展库执行。
顶层和中间层说明了TCI即是一种脚本语言也是一个解释器。底层是接口程序,提供与通信软件程序的接口,负责发送命令和返回状态。