1自动化测试理论
测试自动化的目标是对被测试系统进行自动测试,提高测试的效率和客观性。自动化测试过程中主要涉及的内容有下面几个方面。自动测试输入:工具录制测试者所做的所有操作,并将这些操作写成工具可以识别的脚本。测试脚本技术:用于自动测试过程中存放测试步骤、测试数据等相关内容。测试结果的自动比较:将预期输出与程序运行过程中的实际输出进行比较。自动测试执行:工具读取脚本并执行脚本命令,可以重复测试者的操作。在执行脚本过程中可以完成测试结果的自动比较。
2自动化测试系统的设计
通过对低速无线传感器网络协议的深入研究,分析软件测试、通信协议测试和自动测试等相关理论知识,本文提出将通信协议测试和自动测试相结合的方法,实现对测试过程自动执行和测试结果的自动分析,是本系统的创新点。如图2所示,虚线框内测试步骤可以实现测试的自动执行,其中可视化用例设计器、测试用例生成器完成测试用例的自动生成工作,测试用例的自动生成是测试自动执行的关键部分。测试结果分析器则对测试结果进行自动分析。测试用例的设计和生成是协议测试的关键和难点,如何生成最能发现被测协议存在问题的测试用例,如何用最少的测试用例实现足够大的覆盖率,是协议一致性测试的目标和难点。本文提出利用测试用例的自动生成来解决这一问题。测试用例自动生成主要依靠测试用例自动生成器是来完成,是实现测试自动执行的核心。其体系结构如图3所示,其中用例设计描述是文本文件,描述测试用例的特性,选择的算法不同,描述方式也会有所不同。如采用“基于形式规格说明的方法”用Z,VDM,OBJ,LARCH等语言描述,采用“组合覆盖方法”则用XML脚本描述,因为XML脚本的可扩展性比较强,所以在目前的自动化测试系统中得到较多的使用。算法适配器为算法提供接口,向上提供算法支持服务给描述解析器,向下兼容多种算法,兼容多种算法能增强体系结构的扩展性和适用范围。描述解析器在算法适配器基础上分析用例设计描述,将用例描述转换成用例生成器可识别的内部描述形式,并传递给用例生成器。用例生成器获得来自描述解析器的内部描述,根据描述自动生成可执行测试用例。可执行的测试用例支持多种形式存储,如内存存储、文本存储、数据库存储等,具体的存储格式随着测试执行的需求变化。
3一致性自动化测试系统的实现
为了验证体系结构的适用性和有效性,搭建了基于MicrosoftVS2010、SQLServe2005、“分类树方法”、GDI+(GraphicsDeviceInterface)来实现无线传感器网络协议一致性测试的自动化系统。其中GDI+完成系统中的可视化用例设计器工作,它是一个语法可控制的、可视化、图形化的编辑器,帮助我们更加有效地使用分类树方法进行测试用例的设计。分类树方法是黑盒测试中的一种部分测试方法,是一种有效的功能测试方法。分类树方法的基本思想是:首先逐层划分测试对象的输入域,然后将划分的独立的类结合为无冗余的测试用例,这些测试用例覆盖了整个输入数据域。算法适配器、描述解析器、用例生成器、分类树方法均使用MicrosoftVS2010实现。SQLServer2005降低了管理数据基础设施和发送观察和信息给所有用户的成本,并具有可信任,高效,智能的特点。因此本文将测试系统及被测试网络信息存储在SQLServer2005数据库中,用来在自动执行测试用例时调用并存放测试结果信息。自动化测试系统在实际应用时,首先用GDI+构建测试用例设计,也就是生成XML语言描述的用例说明,然后描述解析器解析该用例说明并生成测试用例模板(系统内部格式),由用例生成器生成可执行的测试用例,调用SQLServer2005中存放的测试网络信息和测试配置信息执行测试用例并生成测试报告。本系统中人工只参与第一步,即用GDI+技术构建测试用例设计,其余部分均自动完成,提高了测试工作的效率和客观性。该实现已应用于国家科技重大专项“信息汇聚传感器网络综合测试与验证评估环境”中,限于篇幅测试过程不再赘述,经过测试发现了一些隐藏的无线传感器网络协议一致性测试问题,提高了一致性测试有效性和客观性,也证明了本文所提出的一致性测试自动化方法的有效性和实用性。
4结语
在分析了现有协议一致性测试和自动化测试理论后,本文提出了一致性测试的自动化方法,并基于这个方法设计实现了一致性测试系统,在实际应用本系统时发现了一些隐藏的无线传感器网络协议一致性问题,提高了无线传感器网络协议一致性测试的有效性和客观性,证明了该方法的有效性和实用性。
作者:李重阳 单位:重庆邮电大学工业物联网与网络化控制教育部重点实验室