论文部分内容阅读
随着软件技术的发展,程序的规模逐渐增大,复杂度也逐渐增加。在软 件的开发过程中,完全依靠人力进行分析测试效率太低,而且不能保证软件 质量。测试过程中的一个主要问题是生成具有一定覆盖度的测试数据。如果 有一种工具能自动地分析程序并且生成测试数据,将大大地提高软件的可靠 性并且节约大量的人力。目前自动生成测试数据的工具已有很多,但是大多 数都有一定的局限性,不能完全自动地生成测试数据,所能处理的数据类型 也有限。 采用路径覆盖的方法生成程序的测试实例时,自动生成的路径大部分是 不可执行的,不仅占用了大量的资源,而且大大降低了自动工具的实际应用 价值。利用约束求解的工具可以排除不可行路径,最终求出的输入数据能够 使程序沿着一条路径正常执行。 本文中的主要工作有: 1.工具PAT的实现 工具PAT能够自动的求出一条路径的前置条件。通过求解前置条件可以 判断路径的可执行性,还可以求出使程序沿着该条路径运行的输入数据。数 组一直是同类问题中的难点,本文中提出了两种处理数组的方法,能够很好 的分析含有有限大小数组的程序。 2.工具EFAT的实现 EFAT在扩展的有限状态机(EFSM)的基础上自动生成程序中的所有可 行路径,求出一组路径覆盖的测试数据。 PAT和EFAT能接受多种数据类型,包括整型、布尔型、浮点型、枚举型 变量和有限大小的数组。