【技术实现步骤摘要】
白盒测试覆盖信息提取方法、系统、设备及介质
[0001]本申请涉及软件测试领域,尤其涉及一种白盒测试覆盖信息提取方法
、
系统
、
设备及介质
。
技术介绍
[0002]白盒测试也称为逻辑驱动测试,是围绕被测单元内部如何进行工作而开展的测试
。
在白盒测试过程中,动态测试需测试者提前观察代码实现,然后根据程序的控制结构设计测试用例,运行被测程序,最后分析问题
。
测试用例对代码的覆盖情况是白盒测试的重要过程数据
。
测试覆盖信息既能体现测试的充分性,也是测试人员分析问题的重要依据
。
因此,对于测试覆盖信息的提取和保存是白盒测试的关键
。
[0003]目前存在一些商业化的测试工具能够直观显示测试用例对代码的覆盖情况
。
但是,这些商业化的测试工具大多价格昂贵,使用成本较大
。
同时,上述测试工具的测试覆盖信息通常以工程脚本的形式保存,不便于在测试环境之外查看,效率较低,直观性较差,不利于测试人员在短时间内完成白盒测试
。
技术实现思路
[0004]为了解决上述技术缺陷之一,本申请实施例中提供了一种白盒测试覆盖信息提取方法
、
系统
、
设备及介质
。
[0005]根据本申请实施例的第一个方面,提供了一种白盒测试覆盖信息提取方法,所述方法包括:
[0006]在待测程序中插入探针;
[ ...
【技术保护点】
【技术特征摘要】
1.
一种白盒测试覆盖信息提取方法,其特征在于,所述方法包括:在待测程序中插入探针;编译运行所述插入探针的待测程序,生成运行覆盖记录;根据所述运行覆盖记录向临时文件中写入覆盖信息;解析所述临时文件获得覆盖信息,并根据所述解析获得的覆盖信息绘制
SVG
控制流图,通过所述
SVG
控制流图表征所述白盒测试覆盖信息
。2.
根据权利要求1所述的方法,其特征在于,所述在待测程序中插入探针的过程包括:在待测程序的条件语句前插入决策节点探针;在待测程序的各分支中插入分支探针;在待测程序的每个分支结束的位置插入汇入节点探针
。3.
根据权利要求2所述的方法,其特征在于,所述在待测程序中插入探针的过程还包括:当任意分支内部包含子分支时,在所述待测程序的次级条件语句前插入子决策节点探针;在子分支中插入子分支探针,直至遍历所有分支
。4.
根据权利要求1所述的方法,其特征在于,所述编译运行所述插入探针的待测程序,生成运行覆盖记录的过程包括:将所述插入探针的待测程序打包成桩代码编译运行;编译运行结束后,根据待测程序中插入探针的位置生成软件控制流节点标记规则;根据所述软件控制流节点标记规则生成运行覆盖记录
。5.
根据权利要求2或3所述的方法,其特征在于,所述临时文件中包含有节点标识和决策信息,所述节点标识包括节点深度和节点序号,所述节点深度相同时,根据所述节点序号判断节点位置
。6.
根据权利要求1所述的方法,其特征在于,所述根据所述解析获得的覆盖信息绘制
SVG
控制流图的过程包括:通过
XML
标记语言预先设定控制流图中各元素的表现形式;根据所述解析获得覆盖信息进行描点,生成所述覆盖信息所对...
【专利技术属性】
技术研发人员:刘峻霄,唐逢光,尹显峰,
申请(专利权)人:成都交控轨道科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。