测试覆盖是对测试完全程度的评测。测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。

质量是对测试对象(系统或测试的应用程序)的可靠性、稳定性以及性能的评测。质量建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)的分析的基础上。

覆盖指标提供了"测试的完全程度如何"这一问题的答案,最常用的覆盖评测是基于需求的测试覆盖和基于代码的测试覆盖。简而言之,测试覆盖是就需求(基于需求的)或代码的设计/实施标准(基于代码的)而言的完全程度的任意评测,如用例的核实(基于需求的)或所有代码行的执行(基于代码的)。

系统的测试活动建立在至少一个测试覆盖策略基础上。覆盖策略陈述测试的一般目的,指导测试用例的设计。覆盖策略的陈述可以简单到只说明核实所有性能。

如果需求已经完全分类,则基于需求的覆盖策略可能足以生成测试完全程度的可计量评测。例如,如果已经确定了所有性能测试需求,则可以引用测试结果来得到评测,如已经核实了 75% 的性能测试需求。

如果应用基于代码的覆盖,则测试策略是根据测试已经执行的源代码的多少来表示的。这种测试覆盖策略类型对于安全至上的系统来说非常重要。

两种评测都可以手工得到(公式如下所示)或通过测试自动化工具计算得到。

基于需求的测试覆盖

基于需求的测试覆盖在测试生命周期中要评测多次,并在测试生命周期的里程碑处提供测试覆盖的标识(如已计划的、已实施的、已执行的和成功的测试覆盖)。

在执行测试活动中,使用两个测试覆盖评测,一个确定通过执行测试获得的测试覆盖,另一个确定成功的测试覆盖(即执行时未出现失败的测试,如没有出现缺陷或意外结果的测试)。

基于代码的测试覆盖

基于代码的测试覆盖评测测试过程中已经执行的代码的多少,与之相对的是要执行的剩余代码的多少。代码覆盖可以建立在控制流(语句、分支或路径)或数据流的基础上。控制流覆盖的目的是测试代码行、分支条件、代码中的路径或软件控制流的其他元素。数据流覆盖的目的是通过软件操作测试数据状态是否有效,例如,数据元素在使用之前是否已作定义。

覆盖率等于覆盖面积/总面积

为了量测测试套件测试软件的程度,会用一种或多种不同的覆盖率准则。

基本的覆盖率准则

以下列出一些基本的覆盖率准则:

函式覆盖率(Function coverage):有呼叫到程式中的每一个函式(或副程式)吗?

指令覆盖率(Statement coverage):若用控制流图(英语:control flow graph)表示程式,有执行到控制流图中的每一个节点吗?

判断覆盖率(Decision coverage):(和分支覆盖率不同)若用控制流图表示程式,有执行到控制流图中的每一个边吗?例如控制结构中所有IF指令都有执行到逻辑运算式成立及不成立的情形吗?

条件覆盖率(Condition coverage):也称为谓词覆盖(predicate coverage),每一个逻辑运算式中的每一个条件(无法再分解的逻辑运算式)是否都有执行到成立及不成立的情形吗?条件覆盖率成立不表示判断覆盖率一定成立。

条件/判断覆盖率(Condition/decision coverage):需同时满足判断覆盖率和条件覆盖率。

相关查询:
最新查询:据理力争 远日点 纹孔 大庆市 责任感 受胎率 阎锡山家事 咸镜南道 内乡县 译文随笔·六人 特别法 商铺 太空时代 狂风中的橡树 土拉河 固始皮丝 带岭区 日臻完善 马路上 车间经费 金钱鱼盒 在线式ups 扣牛掌 下骆宅村 中俄关系 昌图县 深静脉通畅试验 微处理器 博士后 上饶市 佛光寺 法华方竹 贫困村 人源化抗体 海藻球 动量指标 一卡通 亚洲舞娘完美精选辑 玉溪市 工商税 交汇点 黑豹党 柴可夫斯基第六交响曲 精英P4S5AS 甲基红试验 泰州盆景 蛋白胨 角弓反张 塘岸镇 中阴经 乌鞘岭 副团职 颤音琴 泰姆凯迪快乐梦想城 王豫颖 人工呼吸 延展性 皮肌炎 花生酱 反射波 碳酸钙 恒化器 河间市 中糯309 卢子枢泉声咽危石图 张国焘 宁国山核桃 VOCALOID 罗甸县 杨谅 微波蛋糕粉 大洪河 广州华茂中心 冰下捕鱼 创意生菜鱼松盅 同一性 博采众长 东垣老人传 哈尔·格里尔 覆盖率
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 豫ICP备14030218号-3 消耗时间:0.012秒 内存2.83MB