[发明专利]一种用于白盒测试覆盖率计算可视化的测试装置及方法有效
申请号: | 201410476175.X | 申请日: | 2014-09-17 |
公开(公告)号: | CN104331361B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 赵明 | 申请(专利权)人: | 南京涅菩云信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众合诚成知识产权代理有限公司11246 | 代理人: | 连平 |
地址: | 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 测试 覆盖率 计算 可视化 装置 方法 | ||
技术领域
本发明涉及一种可视化装置及方法,主要用于软件测试,具体涉及一种用于白盒测试覆盖率计算可视化的测试装置及方法。
背景技术
在软件测试过程中,由于测试人员执行黑盒测试,无法知道程序内部运行的结构和情况,而开发人员也并不清楚测试用例具体对应的程序执行逻辑,而测试人员也不清楚如何完成充分的测试。特别对于单元测试这种白盒测试,大量代码的测试覆盖率需要大量的核对工作,才能确定哪些代码被测试覆盖,哪些代码没有被覆盖到,这种没有工具提供支持的白盒测试,导致开发时产生的很多低级错误使开发人员对于版本质量失去信心也会给测试工作带来非常大的障碍。使得测试的效率和质量得不到保障,甚至为后的软件应用过程埋下巨大隐患。
发明内容
本发明所解决的技术问题:现有技术中的白盒测试工作量庞大,导致测试效率低下。
本发明提供如下技术方案:一种用于白盒测试覆盖率计算可视化的测试装置,包括源码分块装置和覆盖率计算可视化呈现装置,所述源码分块装置用于分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表,所述覆盖率计算可视化呈现装置包括代码插桩模块、覆盖率关联模块、覆盖率计算呈现模块,所述代码插桩模块在源码分块装置处理后的程序代码块中植入探针,所述探针在程序运行时能够生成记录有探针所在代码块的标识的测试信息,所述覆盖率关联模块根据测试信息中的代码块标识信息建立源码测试路径执行的信息表,所述覆盖率计算呈现模块对覆盖率的计算方法和视图进行呈现。所述用于白盒测试覆盖率计算可视化的测试装置还包括根据所述代码块之间的关系基于源码风格无关算法将所述代码块进行整体性布图并呈现的逻辑呈现装置。所述源码分块装置包括词法分析模块、类型分类模块、结构标识模块、结构校正模块。
词法分析模块用于对待测试程序的字符流进行扫描然后识别单词和语句,并将程序语句标记为分支语句、顺序语句。分支语句中包括函数和控制语句的开始结束处,以及控制语句的判断条件处;顺序语句是一组没有分支语句的连续代码段。类型分类模块用于根据词法分析模块输出的语句类型,将程序代码分割成多个代码块,所述代码块包括顺序块和分支块,其中:所述顺序块是一组没有分支判断的连续代码语句,所述分支块是分支判断语句的节点,用于源码的可视化,即源码控制流程图。流程图需要通过图形来描述源码的控制结构,所以需要标识哪些块是分支块,这样才能绘制出完备充分的源码控制流程图。结构标识模块用于分析所述类型分类模块输出的顺序块以及分支块在程序代码中的逻辑位置,在块结构代码中添加用于表示程序代码逻辑结构的标识。标识是自定义的一组常量,是块编码的一部分,用于标识源代码的结构,分别在程序(函数)的开始处;控制语句的开始处;控制语句体;程序(函数)的结束处(即连接处)进行标识,其特点是通过易于理解的标识来表示程序代码的逻辑结构,将源代码分块进行编码,以数字化的形式存储于数据库中,并为源码结构可视化提供数据支撑。结构校正模块,校正结构标识模块分析得到的所述块结构逻辑位置,生成描述程序逻辑结构的块编码表。结构校正模块主要用于对一些特殊段和特殊的语句(如:break等)的校正,使所生成的块既准确又尽可能少,提高后期处理的效率,最终得到代码的块编码表。块编码表是为了描述程序的逻辑结构,用来表述类、函数、全局变量、静态变量的结构关系和实现对程序的动态绑定,以数字化的形式存储于数据库中,并为源码结构可视化提供数据支撑。
作为本发明的进一步说明,所述类型分类模块包括中间类型存储单元、中间类型合并单元、顺序块确认单元、分支块确认单元。中间类型存储单元用于存储中间类型语句。中间类型就是不确定的块类型,在下一个控制语句块生成之前来改造其类型。中间类型合并单元在词法分析模块输出的语句是非分支语句,将该语句与中间类型存储单元中的中间类型语句合并。顺序块确认单元,若中间类型存储单元中的中间类型语句不为空,并且词法分析模块输出的语句是非分支语句,则将该中间类型语句标记为一个顺序块,并清空中间类型存储单元;分支块确认单元,若词法分析模块输出的语句是分支语句,则将该语句标记为一个分支块。
作为本发明的进一步说明,所述覆盖率计算可视化呈现装置包括代码插桩模块、覆盖率关联模块、覆盖率计算呈现模块。代码插桩模块,在源码分块装置处理后的程序代码块中植入探针,所述探针在程序运行时能够生成记录有探针所在代码块的标识的测试信息;覆盖率关联模块,根据测试信息中的代码块标识信息建立源码测试路径执行的信息表;覆盖率计算呈现模块,呈现9种覆盖率说明以及计算方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京涅菩云信息技术有限公司,未经南京涅菩云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410476175.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种原木自动处理系统
- 下一篇:多仓混棉机