[发明专利]基于覆盖率量化指标确定软件测试过程充分性的方法有效

专利信息
申请号: 201110338915.X 申请日: 2011-11-01
公开(公告)号: CN102419728A 公开(公告)日: 2012-04-18
发明(设计)人: 王雅文;宫云战;谭立力;韩春晓;王思岚;周傲;赖思佳 申请(专利权)人: 北京邮电大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京汇泽知识产权代理有限公司 11228 代理人: 刘淑敏
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 覆盖率 量化 指标 确定 软件 测试 过程 充分 方法
【说明书】:

技术领域

发明涉及软件测试技术,尤其涉及一种基于覆盖率量化指标确定软件测试过程充分性的方法,即利用代码覆盖率作为量化指标来确定软件测试中的测试是否充分。

背景技术

在软件单元测试的各个阶段中,人们总是期望用一个统一的量化指标来确定测试过程和方法的充分性,并以此来指导何时结束测试。这里,覆盖率是软件单元测试中常见的量化评价标准,常见的覆盖准则包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、修改的判定条件覆盖、组合覆盖以及路径覆盖等。但,现有的传统覆盖准则,并不适用于软件测试的各个阶段。所述测试阶段,包括单元测试、集成测试和系统测试。另外,传统的覆盖准则也有待进一步扩展,以解决软件测试技术发展过程中的新问题。

发明内容

有鉴于此,本发明的主要目的在于提供一种基于覆盖率量化指标确定软件测试过程充分性的方法,扩展传统覆盖准则的使用阶段,以适用评估不同测试阶段中的多种动态测试方法;并扩展传统单元测试的覆盖准则,提出文件覆盖、方法覆盖和类覆盖等新的准则;以及能够按照给定的覆盖准则,对被测单元进行静态分析,得到待覆盖元素集合,根据用户测试需求,进行动态测试执行,统计被覆盖元素,并计算覆盖率,从而根据覆盖率量化指标来确定软件测试过程和方法的充分性,使用多种覆盖准则统计的覆盖率进行衡量,提高评估测试的效率和准确性。

为达到上述目的,本发明的技术方案是这样实现的:

一种基于覆盖率量化指标确定软件测试过程充分性的方法,该方法主要包括:

A、对被测程序进行预编译、词法分析和语法分析,得到程序的抽象语法树、控制流图和函数之间的调用关系图,并根据用户测试需求,自动生成被测单元;

B、根据覆盖准则,从所述抽象语法树和控制流图中提取被测单元中相应的待覆盖元素集合;

C、根据所述的覆盖准则,在被测单元的程序中插入相应的探针函数;

D、根据用户测试需求,选择系统自动执行或用户手动执行的方式对插入探针函数的被测单元进行动态测试;

E、根据动态测试执行的返回信息,得到测试单元的被覆盖元素集合,并计算被测单元的覆盖率。

其中,所述步骤A包括: 

根据被测程序中的函数调用关系,对被测程序进行单元划分,得到被测单元;所述被测单元为根据用户测试需求,将被测试程序划分成的独立的测试对象,其为一个或多个函数、类、文件。

所述步骤B包括:

对于语句覆盖准则,提取被测试单元的函数中每一个可达语句块作为语句覆盖元素,组成语句覆盖元素集合;

对于分支覆盖准则,提取被测试单元的函数中,每一个可达分支作为分支覆盖元素,组成分支覆盖元素集合;

对于C/DC覆盖准则,提取被测试单元的函数中,每个覆盖元素包括:可被执行的判定表达式;判定表达式中,所有取值既可以为真又可以为假的简单条件,由此遍历整个被测单元,组成C/DC覆盖元素集合;

对于MC/DC覆盖准则,提取被测试单元的函数中,每个覆盖元素包括:可被执行的判定表达式;判定表达式中,所有可以独立影响判定表达式结果的简单条件,由此遍历整个被测单元,组成MC/DC覆盖元素集合;

对于路径覆盖准则,提取被测试单元的函数中,所有可达路径作为覆盖元素,组成路径覆盖元素集合;

对于函数覆盖准则,提取被测试单元的类(对于函数直接构成类的情况)或者文件(对于函数直接构成文件的情况)中,所有可被执行的函数作为函数覆盖元素,组成函数覆盖元素集合;假设函数中只要有一条路径可被执行,就认为该函数可被执行;

对于类覆盖准则,提取被测试单元的文件中所有可被执行的类作为类覆盖元素,构成类覆盖元素集合;

对于文件覆盖准则,提取被测试单元中所有可被执行的文件作为文件覆盖元素,组成文件覆盖元素集合;对于由类直接组成文件的情况,该文件中只要有一个类可被执行,就认为该文件可被执行;对于由函数直接组成文件的情况,该文件中只要有一个函数可被执行,就认为该文件可被执行。

所述步骤C包括:

对于语句覆盖准则,在语句覆盖元素集合的每个元素中插入探针函数,以便记录执行测试用例过程中语句块的被覆盖情况;

对于分支覆盖准则,在分支覆盖元素集合每个元素中插入分支探针函数, 以便记录执行测试用例过程中分支的被覆盖情况;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110338915.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top