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

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

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

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

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

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

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

基于需求的测试覆盖

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

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

基于代码的测试覆盖

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

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

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

基本的覆盖率准则

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

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

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

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

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

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

刚刚查询:覆盖率 攻击力 如果说 滁州大剧院 四川盆地 全线贯通 造山运动 吓了一跳 melanogaster Betazoid 大巴车 红外门 河北省地方税务局 割腕自杀 反坦克 科举制 自然规律 十六国春秋别本 林桂榛 悲欢离合 梅干菜 比目鱼 吉大龙卡 乐享家 博古特 中上层 数字化家庭 救国会 冲积平原 似乎也 Ƕ 漫画家 金属材料 南京城 越来越宽 名不虚传 rectifier 解码器 安布里姆岛 Maclaine 田中瞳 变速运动 便携式 中国畜禽遗传资源志(羊志) 小亚细亚 九龙江 单场竞猜 市场势力 金子美穗 租售宝 合欢派 苏庄草龙 凌波玉傣熟沱 让·朗克 干球温度 关键问题 Pailhas 仙魔OL 背叛者 祖国人民 employed 爱因为在心中 受益人 建筑材料 运动神经 格拉斯 扒茄条 朱艳雅 小虫子 印相坊 克虏伯75毫米1903型野战炮 水中兵器 花果山 孔凡平 封建思想 戒严令 科技园 青花瓷 薄暮之河
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2025 haodianxin 百科 消耗时间:0.014秒 内存2.5MB