论文部分内容阅读
软件测试是保证软件质量和可靠性的一种重要技术。软件测试的开销在整个软件开发成本中占有重大比例,提高软件测试的效率对于降低软件成本具有重要的作用。在软件测试的过程中,测试数据的生成是比较困难并且代价较高的技术难题之一,这一过程传统上要通过手工完成,需要耗费大量的人力物力资源。如何有效地生成测试数据,以减轻测试人员的繁琐劳动,已经成为软件测试领域面临的一个重要问题。
在软件开发阶段,程序员往往面临对大量可疑代码段进行测试的工作。这些可疑代码既包括程序员主观上的判断,也包括借助一些辅助工具发现的结果。如何有效地生成测试数据来覆盖这些可疑代码,揭示其潜在的错误,对于提高程序员的开发效率、保证软件质量将起到至关重要的作用。
本文针对程序员开发阶段的特点,提出了一种面向程序段的测试数据自动生成方法。通过对输入程序进行语法分析,提取程序中所有分支条件信息;然后结合可疑代码段信息,从中抽取与其相关的条件信息;进而通过对程序进行静态分析,建立一系列相关的约束系统;最后求解各个约束系统,得到一组相应的测试数据集。
本文中同时给出了一种对测试数据进行优化调度的方法。对于生成的测试数据集,工具将根据一定的准则对其进行筛选,去除冗余,同时确定其执行的优先级顺序,以便更快地揭示代码中潜在的错误。工具将自动地完成测试执行,分析测试结果,生成测试报告,同时存储测试相关信息,以便用于回归测试。