论文部分内容阅读
随着信息时代的到来,非接触式IC卡(Integrated Circuit Card,集成电路卡)在日常生活中的应用日趋广泛,这对嵌入式软件系统测试方法的有效性与实用性提出了新的挑战。高层次的安全保护已成为了非接触式IC卡得以广泛使用的基础。在非接触式IC卡的系统层次架构中,硬件驱动层位于硬件层以及用户COS(Chip Operating System,片上操作系统软件)之间,在实现对各个硬件模块存储或操作的同时,隔离了对于硬件资源的攻击风险。论文探讨了非接触式IC卡硬件驱动层的系统测试方法,包括在FPGA(Field Programmable Gate Array,现场可编程门阵列)平台上进行在线测试以及样卡的回归测试方法。本文讨论了嵌入式软件的统一测试模型,分析了嵌入式软件测试的特点,并对国内外流行的嵌入式软件系统测试种类以及测试方法进行了研究。同时,本文还探讨了嵌入式软件安全性评估标准CC ( Common Criteria,通用标准)规范中对于测试方面的要求,这些都为硬件驱动层系统测试方法的研究奠定了理论基础。然后,本文根据对硬件驱动层总体架构以及实现情况的分析,确定了在进行硬件驱动层系统测试时可使用的三种系统测试种类,分别为:功能测试、性能测试以及恢复测试。其中,功能测试是最关键也是最基本的,而性能测试以及恢复测试是对硬件驱动层的事务处理速率以及容错能力的测试。功能测试中主要采用的是动态测试方法(等价类划分方法等)来进行测试用例的设计,同时,用静态测试方法中的代码走查方法来弥补使用动态测试方法无法测试到的情况。硬件驱动层提供了多种算法(ECC算法等)以及大数运算(2048位数据的乘法运算等)的功能函数,本文采用OpenSSL软件包作为测试数据的来源,以保证功能测试用例中所设计的预期输入输出测试数据的正确性以及标准性。另外,本文还从EAL4+(Evaluation Assurance Level,安全保证级别)的测试范围分析、测试深度分析以及功能测试三个角度考虑了安全功能的功能测试用例的设计方法。最后,本文确定了样卡的回归测试方法,并根据测试环境以及实际项目情况,选择了一种合适在线测试以及回归测试的测试架构,且提出了测试结果验证的方法以及若验证未通过,所要进行的Bug的管理流程。本文所提供的系统测试方法,可以有效地被利用在非接触式IC卡硬件驱动层的系统测试中。