[发明专利]软件自动测试方法及装置有效
申请号: | 201510375347.9 | 申请日: | 2015-06-30 |
公开(公告)号: | CN104932980B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 陈佃晓 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲;刘云贵 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 自动 测试 方法 装置 | ||
1.一种软件自动测试方法,包括:
接收用于测试软件的描述性语言;
从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
根据所述至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码;其中,所述对象库内存储有测试对象关键字与对象代码的映射关系,所述动作库内存储有测试动作关键字与动作代码的映射关系;
按照所述描述性语言中描述的执行顺序,将所述对象代码和动作代码组合为可执行代码;
执行所述可执行代码,得到执行结果;
将所述执行结果与期望结果进行对比分析,得到测试结果。
2.根据权利要求1所述的方法,其中,在所述接收用于测试软件的描述性语言之后,所述方法还包括:判断所述对象库和所述动作库是否存在;
若所述对象库和所述动作库均存在,则从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
若所述对象库和/或所述动作库不存在,则创建所述对象库和/或所述动作库。
3.根据权利要求2所述的方法,其中,所述方法还包括:
若在所述对象库内未查找到任一测试对象匹配的对象代码,为该测试对象配置对象代码并加入到所述对象库中;
若在所述动作库内未查找到任一测试动作匹配的动作代码,为该测试动作配置动作代码并加入到所述动作库中。
4.根据权利要求1所述的方法,其中,在所述得到执行结果之后,所述方法还包括:按照资源类型,将所述执行结果进行分解;
所述将执行结果与期望结果进行对比分析,得到测试结果进一步为:将分解的不同资源类型的执行结果分别与对应的资源类型的期望结果进行对比分析,得到测试结果。
5.根据权利要求4所述的方法,其中,所述资源类型包含以下类型的一种或多种:图像资源、进程资源以及文件资源。
6.根据权利要求1-5任一项所述的方法,其中,所述测试对象包括以下对象中的一个或多个:文件、进程、窗口、注册表以及服务。
7.根据权利要求6所述的方法,其中,所述窗口包括以下窗口中的一个或多个:按钮、图标、超级链接以及输入框。
8.根据权利要求1-5任一项所述的方法,其中,所述测试动作包括以下动作中的一个或多个:新建、删除、写、移动、修改、关闭、传递、拖动、双击、单击、右键双击、右键单击、右键拖动、输入、增加、启动以及暂停。
9.一种软件自动测试装置,包括:
接收模块,适于接收用于测试软件的描述性语言;
提取模块,适于从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
查找模块,适于根据所述至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码;其中,所述对象库内存储有测试对象关键字与对象代码的映射关系,所述动作库内存储有测试动作关键字与动作代码的映射关系;
组合模块,适于按照所述描述性语言中描述的执行顺序,将所述对象代码和动作代码组合为可执行代码;
执行模块,适于执行所述组合模块组合得到的所述可执行代码,得到执行结果;
对比分析模块,适于将所述执行结果与期望结果进行对比分析,得到测试结果。
10.根据权利要求9所述的装置,所述装置还包括:判断模块和创建模块;
所述判断模块,适于判断所述对象库和所述动作库是否存在;若所述判断模块判断得到所述对象库和所述动作库均存在,则触发所述提取模块;若所述判断模块判断得到所述对象库和/或所述动作库不存在,则触发所述创建模块,其中,所述创建模块适于创建所述对象库和/或所述动作库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510375347.9/1.html,转载请声明来源钻瓜专利网。