张 鹏 电子科学研究院
基于消息转发软件的自动化测试研究
张 鹏 电子科学研究院
【文章摘要】
【关键词】
软件自动化测试;测试用例生成;测试用例设计;测试策略
消息转发软件的测试内容大部分具有重复性的特点,如果单纯靠人工测试,不仅耗费较多的人力和财力去设计和执行测试用例,而且不能保证消息接口各个字段值内容的正确性。实现消息转发软件的自动化测试能够极大的减少测试的随机性和盲目性,减弱人为因素对测试过程的影响,极大的较少重复性的工作量,降低测试过程中出错的频率,因此消息转发软件的自动化测试体现了它的有效性和实用性。
消息转发软件自动化测试是整个军用系统自动化测试的一个缩影,作为一个军用软件系统的一个消息转发软件,对消息转发软件的正确性及测试充分性提出了很高的要求。众所周之,军事电子信息系统具有体系复杂、处理数据量大、人机交互频繁、评估结果直观等特点。所以为了满足要求,必须对消息转发软件进行详细而全面的测试。
消息转发自动化测试主要为了实现以下几方面的优点:提高消息转发软件测试工作率;较少消息转发软件测试的研发成本;完成消息转发软件手工测试难以完成的测试;消息转发软件的质量可信度极大增强;软件自动化测试可以多次进行重复性的测试。基于消息转发软件的自动化测试及测试用例生成系统能够很好的实现上述的几个方面优点。
消息转发软件实现的主要实现以下功能。
(a)头文件转换XML文件
头文件转化XML的过程分为单个文件转XML文件及多个头文件批量转换XML文件。能够将包含结构体或联合体的头文件按照ENUM值进行拆分转换为XML文件。
(b)解析XML文件以及输入消息参数
自动化测试软件可以解析XML文件,并且将解析结果存入MySql数据库,测试人员在界面输入各个字段的合法值范围,软件自动根据设置的参数值范围及字段类型进行测试用例的脚本生成。关联应答消息,输入应答消息字段的合格判据。
(c)解析比对消息内容
自动化测试软件向消息转发软件发送激励消息,同时自动化测试软件记录应答时间,随时捕获收到的消息转发软件的应答消息,并对捕获到的应答消息进行解析,比对应答消息和发送消息的各个字段的参数值是否满足合格判据。
(d)自动化生成测试用例
根据测试人员设计的测试脚本,按照测试人员制定的测试策略,自动生成测试用例。同时,软件跟踪记录实际测试结果,随时写入数据库中,按照测试人员实际需求,可随时导出软件测试用例记录及自动生成每一轮次的软件问题报告单。
自动化测试软件通过中间件软件与消息转发软件进行消息的交互,主要调用中间件的send()函数和get()函数,交互的消息主要包括发送消息和捕获消息两类。自动化测试软件搭建MySql数据库,用于存储解析头文件产生的XML内容。每一个数据表中将消息ΙD号作为外键。数据库按照头文件字段属性进行内容的存储,一个XML文件生成一个数据表。软件能够实现自动填充消息字段值的功能,测试执行者设计的测试策略为:按照边界值法进行测试用例的设计,同时测试人员可以通过鼠标选择测试用例脚本的执行场景,软件根据场景的内容进行测试用例的执行。自动化软件将场景中的测试脚本自动生成测试用例,可支持生成Word版本和Excel版本。同时Word版和Excel版的测试用例能够被导入到自动化软件中,自动生成测试脚本。自动化测试软件可进行测试记录的增加、删除、修改和查看操作。测试人员按照用户需求和接口需求等需求文档,逐一输入各个发送消息字段值的范围,同时,设置被测软件应答该消息的间隔时间,激励消息发出后,软件设置一个时间戳,当接到应答消息后,获取间隔时间参数,获取的间隔时间与需求文档提出的间隔时间参数做比较。
收到的应答消息后,首先确认消息ΙD,按照消息ΙD寻找数据表,按照数据表各列的字段大小进行内容解析,解析完成后,将解析结果与判断准则比对,与判断准则不一致的地方做不一致记录,并随时写入数据表中,然后进行下一个测试用例脚本的执行,重复上述执行步骤。执行完成后可自行导出测试用例记录,生成软件问题报告单。自动化测试软件提供测试用例记录、软件问题报告单模板的定制功能,测试人员也可以将模板导入到自动化测试工具中。
自动化测试软件可以实现测试人员的管理功能,测试人员选取自己的账户去登录,选择测试场景,将需要执行的测试脚本拖拽到场景中,执行过程中,软件根据场景的要求进行测试脚本的执行。
本自动化测试软件基于B/S模式实现的,能够兼容ΙE6.0及以上版本,FireFox 3.0及以上版本。将自动化测试软件布置在测试服务器上,测试人员可以在任意一台计算机上访问测试服务,只需配置被测软件的ΙPV4地址和端口号,便可进行网路层的连接。
测试人员在编写脚本过程中,一定要编历到消息的每一个字段值,在保存字段值的时候,自动化测试软件会自动判断每一个字段值范围有无输入正确,若测试人员输入不正确或未输入,软件自动给出错误提示,测试人员根据错误提示进行字段值范围的输入,重复上述步骤,直至消息的各个字段值输入正确。
利用自动化测试软件能够很快的完成测试执行工作,保证了测试节点,提高了测试的效率。本款自动化测试软件的优点是:当某些字段值未输入范围时,可以根据消息字段的类型自动输入一个正常值和一个越界值,同时提示测试人员字段范围异常。经过长时间的对消息转发软件的测试,发现自动化测试只能减轻人工测试的负担,但并不能完全的替代人工测试,本软件暂不能解决激励消息发送后无应答和激励消息发送后多条应答的情况,需要测试人员自己去分析判断。
【参考文献】
[1] 王鹏.军用电子信息系统测试评估工具的研究和实践.中国电子科学研究院学报,2007,2(1):73-79.
[2] 季淑引.软件自动化测试工具的应用研究[J] 科技向导.2012.20: 59.
消息转发软件是整个系统软件中的一个配置项软件,其涉及到的消息交互很多,而且消息中包含的字段值比较复杂,人工测试很难对消息中各个字段值的正确性与否进行全面准确的测试,以及人工设计测试用例的工作量也非常大,研发一款基于消息转发软件自动化测试及生成工具显得很有必要。