[发明专利]代码与功能覆盖映射系统及其覆盖映射方法有效
| 申请号: | 201110295759.3 | 申请日: | 2011-09-28 |
| 公开(公告)号: | CN102436417A | 公开(公告)日: | 2012-05-02 |
| 发明(设计)人: | 于秀山;于长钺 | 申请(专利权)人: | 于秀山 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 张良 |
| 地址: | 100036 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 代码 功能 覆盖 映射 系统 及其 方法 | ||
技术领域
本发明涉及软件功能测试领域,特别涉及一种代码与功能覆盖映射系统及其覆盖映射方法。
背景技术
白盒测试与黑盒测试是软件测试采用的两种主要方法。在白盒测试领域,为了准确掌握测试用例对代码的覆盖情况,陆续推出了商业化的测试工具,有代表性的有TestBed工具、CodeTest工具等。这些工具采用程序插装技术,能够准确显示出测试用例所覆盖的语句、分支和路径等信息,根据这些信息,测试人员可以设计新的测试用例覆盖那些未被当前测试用例所覆盖的代码,从而满足测试充分性要求。这种方法的优点是能够直观显示测试用例对代码的覆盖情况,其缺点是在设计新的测试用例覆盖未被覆盖的代码时,需要测试人员阅读代码,只有对代码进行分析,才能设计出新的测试用例。这一方面要求测试人员具有较高的程序设计水平,另一方面需要花费大量的精力和时间。
与白盒测试方法相对应的是黑盒测试方法,这种方法只关注软件的功能而不考虑程序代码结构,在测试时只考虑测试用例对软件功能的覆盖情况而不关心其对底层程序代码的覆盖情况。这种方法的优点是直观、便捷,其缺点表现在三个方面,一是覆盖粒度较粗。满足功能覆盖标准的测试不一定能够满足代码覆盖标准;二是无法通过代码覆盖信息获取与其对应的功能覆盖情况。尽管测试人员通过白盒测试工具获取了未覆盖的代码信息,但如何从功能角度设计新的测试用例覆盖这些代码仍然是一个难题;三是无法识别那些底层程序代码发生了变化而软件功能未发生变化的软件功能。目前,测试用例对软件功能的覆盖信息只能靠人工统计,无商业化的辅助工具。
白盒测试和黑盒测试是软件测试中不可或缺的两种方法,但由于缺乏有效的方法,这两种测试方法一直处于割裂状态,严重影响了测试充分性和效率。
发明内容
本发明所解决的技术问题是提供一种代码与功能覆盖映射系统,能够搭建白盒测试与黑盒测试之间桥梁,充分发挥白盒测试与黑盒测试各自特长,提高测试充分性和效率。
技术方案如下:
一种代码与功能覆盖映射系统,包括白盒测试工具,所述白盒测试工具用于提取并显示出测试用例所覆盖的代码,还包括代码覆盖信息提取模块、代码与控件映射处理模块和代码覆盖与功能覆盖映射模块,其中,
代码覆盖信息提取模块,用于接收从所述白盒测试工具发送的代码覆盖信息,并从所述代码覆盖信息中提取出所覆盖的程序语句,并将所述程序语句发送给所述代码覆盖与功能覆盖映射模块;
代码与控件映射处理模块,用于分析程序语句中源程序代码、构建语法树和符号表,在此基础上实现源程序代码与软件界面控件的映射,并将映射关系发送给代码覆盖与功能覆盖映射模块;
代码覆盖与功能覆盖映射模块,用于根据所述源程序代码与软件界面控件的映射关系将所述程序语句转换为功能覆盖信息。
进一步:所述代码与控件映射处理模块进行词法和语法分析时,所述词法和语法分析采用类编译原理技术,对被测软件源代码进行词法和语法分析,通过分析得到所述抽象语法树和符号表。
进一步:所述代码与控件映射处理模块在图形用户界面GUI控件辨识过程中采用深度优先搜索技术,遍历所述抽象语法树和符号表,得到源代码中所有的GUI控件。
进一步:所述代码与控件映射处理模块用于生成被测程序的源代码与GUI控件的代码控件映射表,通过分析代码中对GUI控件的定义和使用的语句,得到代码控件映射表。
进一步:所述代码覆盖与功能覆盖映射模块根据输入的未覆盖代码信息,通过对代码控件映射表进行搜索,得到相关未覆盖的图形用户界面GUI控件列表,通过遍历未覆盖代码并扫描代码控件映射表生成未覆盖GUI控件列表。
本发明所解决的另一个技术问题是提供一种代码与功能覆盖映射方法,能够搭建白盒测试与黑盒测试之间桥梁,充分发挥白盒测试与黑盒测试各自特长,提高测试充分性和效率。
技术方案如下:
一种代码与功能覆盖映射方法,包括:
白盒测试工具用于提取并显示出测试用例的代码覆盖信息,并发送给代码覆盖信息提取模块;
代码覆盖信息提取模块接收从所述白盒测试工具发送的代码覆盖信息,并从所述代码覆盖信息中提取出所覆盖的程序语句,并将所述程序语句发送给所述代码覆盖与功能覆盖映射模块;
代码与控件映射处理模块分析程序语句中源程序代码、构建语法树和符号表,在此基础上实现源程序代码与软件界面控件的映射,并将映射关系发送给代码覆盖与功能覆盖映射模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于秀山,未经于秀山许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110295759.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电池电压及温度采样装置
- 下一篇:一种凝汽器在线超声旋流除垢装置





