[发明专利]一种基于事件响应函数树的GUI软件测试用例生成方法有效
申请号: | 201610016760.0 | 申请日: | 2016-01-11 |
公开(公告)号: | CN105677570B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 殷蓓蓓;王宾;方蕴宇;蔡开元 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京金恒联合知识产权代理事务所 11324 | 代理人: | 李强 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事件 响应函数 gui 软件 测试 生成 方法 | ||
1.一种基于事件响应函数树模型的GUI软件测试用例生成方法,其特征在于包括:
A)分析程序源代码,构造函数调用图,其中通过分析GUI软件源代码,提取出各个函数之间的相互调用图,
B)根据函数调用图,提取事件响应函数,并录制事件响应函数相应的测试脚本,其中事件响应函数能够连接用户操作和程序底层代码,用录制的事件响应函数测试脚本来模拟用户的操作,
其中,根据事件响应函数的先后顺序体现了在事件响应函数所在类的创建顺序这个特性,即一个第二事件响应函数调用了一个第一事件响应函数所在类的构造函数,那么该第二事件响应函数为该第一事件响应函数的父节点,并结合步骤A)所构造的函数调用图,对步骤B)所提取出的事件响应函数进行分析,构造出事件响应函数树,
C)利用函数调用图,分析事件响应函数主从关系,构造事件响应函数树,
D)遍历事件响应函数树,组合测试脚本,生成测试用例。
2.根据权利要求1所述的方法,其特征在于进一步包括:
当GUI软件用面向对象的编程语言编写而成时,函数调用图表示各个类中方法以及类间方法之间的相互调用关系图。
3.根据权利要求1或2所述的方法,其特征在于所述步骤D)的遍历方法包括:
首先找出所有从根节点出发到叶子结点截止的路径,
根据所述路径,按照事件响应函数的先后顺序,依次组合所录制的相应操作脚本,最终组成测试用例。
4.根据权利要求1或2所述的方法,其特征在于
利用Apache Commons BCEL库对Java字节码进行操作,Apache Commons BCEL库为遍历Java软件所有的类提供了一个org.apache.bcel.classfile.JavaClass模块,此模块自动找出Java代码中所有的类,
利用Apache Commons BCEL库所提供的一个org.apache.bcel.generic.EmptyVisitor访问者模式,通过继承此模块,然后重载其中的visitInvokeInstruction方法,找出所有的函数调用关系,进而构造出软件的函数调用图。
5.根据权利要求1或2所述的方法,其特征在于:
事件响应函数直接由系统调用,在所述步骤A)中所构造的函数调用图中并没有包含系统调用,所以事件响应函数在函数调用图中入度为零,即没有函数调用到这些事件响应函数,根据这一特性提取出事件响应函数,
对初步获取到的事件响应函数进行筛选,包括根据事件响应函数在Java程序中所具有的固定的形式,判断初步获取的事件响应函数是否具备上述固定的形式,从而进行筛选,
利用在所述步骤A)中所生成的函数调用图所包含的函数所在文件的行号信息,对事件响应函数所在位置进行定位,
然后通过比照代码,分析出事件响应函数所对应的操作,
再利用Abbot测试用例录制框架录制出相应的测试脚本。
6.根据权利要求1所述的方法,其特征在于:
在所述步骤C)中,当一些事件响应函数在其他事件响应函数触发之后才能被触发时,通过函数调用图,分析出事件响应函数之间的先后顺序,从而提供相应信息,构造有效的测试用例。
7.根据权利要求1所述的方法,其特征在于:
其中的根节点为main函数,把main函数也看作一个事件响应函数,相当于打开应用,
所有的事件响应函数都只有在main函数运行之后才能运行,即main函数为根节点。
8.根据权利要求1所述的方法,其特征在于:
在所述步骤D)中,通过遍历事件响应函数树,获得所有合法的测试用例。
9.根据权利要求1、2或8所述的方法,其特征在于所述步骤D)包括:
首先找出所有从根节点出发到叶子结点截止的路径,
根据这些路径,按照事件响应函数的先后顺序,依次组合所录制的相应操作脚本,最终组成测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610016760.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存访问装置和方法
- 下一篇:一种调度自动化主站系统软件测试方法及其平台