软件测试覆盖包括分支覆盖,语句覆盖以及条件覆盖,这是白盒测试中一个很基本的测试概念,但是最近和几位搞了多年测试的朋友谈及此事,大家都搞不大清楚。下面我通过一个例子来深入探讨一下这个问题: 我们首先来看一下这几些测试覆盖的定义: 定义一、语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过; 定义二、分支覆盖:要求程序中所有判定的分支尽可能得到检验; 定义三、条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验; 从这些定义我们可以很容易理解到语句覆盖是把程序中的所有的语句都给覆盖到;分支覆盖是把程序中每个分支都给覆盖到;条件覆盖是把判断条件中所有的条件都给覆盖到。 下面我们通过一个简单的例子来描述一下 0: 1:if ((a<150)||(b<200)){ 2: for (i=a;i<100;i++) 3: { 4: println(“A”);} 5:}else{ 6:println (“B”); 7:} 分支覆盖: 1)在0处设置a=120,b 任意 将执行1,2,5 2)在0处设置a=200,b=400 将执行1,5,6,7 这里所有的分支都走到,也就是说要达到分支覆盖率100%,要设计2组测试用例 a b 120 任意 200 400 语句覆盖: 1)在0处设置a=40,b 任意 将执行1,2,3,4,5 2)在0处设置a=200,b=400 将执行1,5,6,7 这里所有的语句都走到了,也就是说要达到语句覆盖率100%,要设计2组测试用例 a b 40 任意 200 400 而在分支覆盖中语句3,4没有走到 条件覆盖: 由于第一个条件是if ((a<150)||(b<200)) 所以需要设计测试用例 a b 备注 40 50 全部满足 160 150 a不满足,b满足 40 250 a满足,b不满足 150 250 a,b都不满足 条件覆盖只要求把所有的条件都覆盖就可以了。 这样一来我们就把这几个概念搞得很清楚了。 |
关于测试覆盖
精选 转载上一篇:意外收获
下一篇:高手过招的乐趣---测试用例预演
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
API测试用例的编写
API测试用例编写的规范
接口自动化测试 软件测试 自动化测试 API测试 -
Java测试用例覆盖指标 测试用例语句覆盖
Testing coverage(测试覆盖),指测试系统覆盖被测试系统的程度,一项给定测试或一组测试对某个给定系统或构件的所有指定测试用例进行处理所达到的程度。逻辑覆盖方法有以下6种: 语句覆盖 判定覆盖(即 分支覆盖) 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 1. 语句覆盖 : 设计若干 测试用例,运
Java测试用例覆盖指标 测试覆盖语句覆盖判定覆盖即分支覆盖条件覆 测试用例 条件覆盖 取值