[发明专利]针对软件构件的自动化测试方法有效
申请号: | 201010266770.2 | 申请日: | 2010-08-30 |
公开(公告)号: | CN101950269A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 徐恪;贾鸳鸳;马东超 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 朱琨 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 针对软件构件的自动化测试方法属于可重构网络技术的领域,其特征在于,是一种规范的测试构件的方法,含有以下的步骤:生成测试输入和测试输出,进行结果与期望输出的对比,自动生成makefile文件,生成测试用例执行代码,执行并观察测试结果。本发明是具有简化了测试过程,使测试工作变得简单,方便,并更高程度上保证了测试的正确性的优点。 | ||
搜索关键词: | 针对 软件 构件 自动化 测试 方法 | ||
【主权项】:
针对软件构件的自动化测试方法,其特征在于,是一种在可重构路由器内用一个自动化测试模块对路由管理构件进行自动化测试的方法,步骤如下:步骤(1),构造模板库,该模板库含有用于向待测试的路由管理构件输入路由信息的路由协议构件候选模板以及用于接收所述待测试路由构件输出的经筛选路由信息的路由转发构件候选模板,以下简称输入候选模板和输出候选模板,步骤如下:步骤(1.1),构造候选模板,根据所述路由协议构件和待测试路由管理构件之间以及根据所述待测试路由管理构件和路由转发构件之间各自外层封装上有限几种构件交互形式,抽象化为函数方法,作为各自对应的候选模板,步骤(1.2),构造模板变量,提取每一个所述候选模板中的参数,经重新命名后,使所选参数在该候选模板中具有唯一性,并作为模板参数写入所选候选模板内,并保存以便按用户提供的可扩展宏语言XML文本,以下简称XML文本,以控制对模板变量的填写,步骤(1.3),把步骤(1.2)的候选模板保存在文件夹template下,并把对应该候选模板的模板变量保存在文件模板名称fillin中,步骤(2),生成测试输入代码和测试输出代码,步骤(2.1),生成测试输入代码测试,测试人员向所述自动化测试模板输入针对所述待测试路由管理构件的XML文件,在保存后,生成测试输入代码,步骤(2.1.1),从所述XML文件中得到用于生成测试输入代码的含有关键字input及其后部分的input文件部分与该其后部分包括关键字template_in,lib,inlet和fillin_in,其中,该关键字template_in指定要写入的输入候选模板,简称输入模板,该关键字lib指定在在结构时需要额外添加的库文件,该关键字inlet指定该待测路由管理构件的接入口,该关键字fillin_in指明要在该输入模板中填入的模板参数,格式由该关键字template_in指定的输入模板来决定,步骤(2.1.2),用测试输入程序读取所述input文件部分的全部内容,从所选模板库中读取对应的输入候选模板,填写模板变量,形成作为测试输入代码用的input.c文件,保存到forTest文件中,步骤(2.2),生成测试输出代码,步骤(2.2.1),按步骤(2.1)和步骤(2.1.1)所述方法生成测试输出代码的output文件部分,所述output文件部分包括关键字output及其后部分,该其后部分包括关键字template_out,outlet和fillin_out,其中,关键字template_out指明要填写的输出模板,关键字outlet指明所述待测试路由管理构件的接口,关键字fillin_out指明要填写的输出模板的参数,步骤(2.2.2),用测试输出程序读取所述output文件部分的全部内容,从所述模板库中选择对应的输出模板,填写模板参数形成output.c文件作为测试输出代码保存在所述forTest文件中,步骤(3),从所述XML文件中判断是否含有关键字result,以进行测试结果与所述期望测试结果比较,步骤(3.1),若有关键字result,则依照步骤(3.1.1)到(3.1.3),步骤(3.1.1),从所述关键字result的内容中取得指定的期望测试结果,并保存到文件夹resultfile下的文件giveresult中,步骤(3.1.2),把所述输入测试代码输入到所述待测试路由管理器中,经筛选后,把用所述的测试输出代码中的测试结果存放到内置的缓冲器中,保存到所选文件夹resultfile下的文件testresult中,步骤(3.1.3),把所选测试结果与期望测试结果进行对比,若:两者完全相同,则通过测试,若:两者不同,则判定未通过测试,步骤(3.2),若所述XML文件中无关键字result,则读取该XML文件中所选待测试路由管理构件接收数据中结构体中的变量的类型,送入所选待测试路由管理构件中,经所选测试输出代码得到测试结果,然后把所选一系列测试输入参数和对应的测试结果同时返回所选测试人员,步骤(4),生成测试入口程序,根据所述的XML,确定待测试构件的入口函数名与出口函数名,查找待测试构件存放的component文件夹,读取其中的.h文件名,加入到模板中,生成测试入口程序entrance.c并保存到forTest文件夹下,步骤(5),生成makefile文件,把已得到的所述测试输入代码,测试输出代码,测试结果对比代码,测试入口程序的代码以及所述component文件中所述待测试路由管理构件的源代码进行组合,生成makefile文件,步骤(5.1),把步骤(5)中所述所有文件拷贝到所述文件夹forTest下,步骤(5.2),读取步骤(5.1)中的input.c,output.c和entrance.c文件,并保存入一个链表中,步骤(5.3),从输入的所述XML文件中,判断所述关键字lib后的内容:步骤(5.3.1),若:关键字lib后为空,则用shell控制根据步骤(5.2)中所述的各c文件的名称执行文件makefile,步骤(5.3.2),若:关键字lib后为非空,且为pthread库,在编译时加入由该pthread库,步骤(6),根据步骤(5.3)形成的文件makefile,生成对所述待测试路由管理构件的测试程序,执行并观察给出的测试结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010266770.2/,转载请声明来源钻瓜专利网。