论文部分内容阅读
计算机通信协议的开发难度随着复杂程度的增加而日益增大,潜在错误也越来越多,其中对协议规格说明理解的偏差是重要原因之一.因此需要对协议进行一致性测试,协议的一致性测试就是测试协议的实现是否与相关国际标准中的规格说明相一致.协议的规格说明主要是以自然语言描述的,对其进行形式化是为了精确描述协议,因而可有效的减少这类错误的出现.在软件测试过程中,测试用例的生成是软件测试的关键和难点.目前,测试用例的生成主要靠手工完成,而且要求软件测试人员具有一定的经验和较高的专业水平,因而,测试过程往往带有很大盲目性,致使测试效率低下,软件成本居高不下,软件质量也很难保证.为此,迫切需要改进软件测试的方法,开发一些测试用例的自动生成工具,提高软件测试效率,降低软件成本,保证软件质量,提高软件测试的自动化程度.形式方法是基于数学方法来描述目标软件系统性质的软件开发方法,它为系统的说明、开发和验证提供了一个框架.软件规格说明是用形式规格说明语言精确描述软件需求的文档.Z语言是目前比较流行、使用较为成功而有效的语言,它是基于模型的形式化规格语言,它以一阶谓词逻辑和集合论作为形式语言基础,将函数、映射、关系等数学方法用于规格说明之中,具有精确、简洁、无二义性的特点,有利于保证程序的正确性,尤其适合于无法进行现场调试的高安全性系统的开发.本文中我们使用Z对TCP协议进行形式化,为协议一致性测试打下基础.得到TCP协议的形式化描述后,可以将其转换为xml格式的文件,构造一个自动产生测试用例的工具,该工具导入存储了TCP协议状态转换信息的xml格式说明文件,然后利用Microsoft的DOM(文档对象模型)对XML文件进行语法和语义分析,获得关于协议状态转换的有用信息,即协议状态转换的状态机,然后在此基础上对这些信息进行处理,从而产生我们所需要的测试用例以及测试用例序列.