(U)SIM 智能卡的自动测试生成
在软件开发和系统验证领域,自动测试生成是确保软件质量和系统可靠性的关键环节。特别是在智能卡功能测试方面,如何高效、全面地生成测试用例成为了研究的热点。本文将介绍一种基于符号执行技术的自动测试生成方法,以及如何使用 UML 状态图来设计智能卡功能,并展示相关的应用和成果。
数值测试用例选择
在测试用例生成过程中,我们可以选择特定的数值来验证路径条件。例如,选择 (a_0 = 2),(a_1 = 3),(b_0 = 2) 和 (c_0 = 0)。任何其他能验证路径条件的数值序列都是有效的,并可构成一个可能的数值测试用例。AGATHA 工具所采用的技术允许将符号测试用例中的每个数值测试用例视为等效的,因此,每个符号测试用例只需一个数值测试用例就能覆盖所有规范。此外,未定义的电梯大小不会影响符号计算,这意味着我们的规范可以表示具有两个、三个或更多阶段的电梯。
这些测试用例可以在允许生成规范的工业工具或实现上进行模拟,通常需要调整为合适的格式。
应用于(U)SIM 智能卡
本文旨在研究 AGATHA 工具在智能卡环境中的实用性。我们将研究范围限制在(U)SIM 智能卡上,因为这类智能卡有不同的标准,详细描述了许多卡片特性。其中,3GPP 11.11 标准描述了功能规范,3GPP 11.17 标准则描述了对这些功能的测试。对于 Oberthur 卡系统,测试用例是使用十六进制代码的专有语言编写的指令序列。
UML 表示法用于(U)SIM 智能卡测试
由于智能卡测试由指令序列组成,为了表示智能卡测试和行为,我们建议使用 UML 状态图。目前,我们仅使用这种类型的图,它非常