欢迎光临 Carey's blog  
首页  |  生活日志  |  CSS+DIV  |  JS日志  |  ASP收集  |  ASP.NET  |  DataBase    |  友情链接  
用户登陆
用户名:
密   码:
验证码: 
 

站点日历
73 2010 - 9 48
   1234
567891011
12131415161718
19202122232425
2627282930


站点统计

最新评论

日志搜索

 标题   内容

DVXP.TEdit.net 3.0破解思路 DataGrid基于Access的快速分页法
未知 测试覆盖率工具--clover.net   [ 日期:2006-03-21 ]   [ 来自:本站原创 ]

以前上软件测试课时,看到老师演示的一个统计C语言的测试覆盖率的工具,当时就想不知道.NET下是否有同样的工具。碰巧昨天就发现了clover.net,它能帮你分析那些代码已经经过了测试。

 http://cenqua.com/clover.net/

 下面是我们上的软件测试课中关于覆盖分析的一些资料:

覆盖分析是对需求的实现程度或对程序的执行程度的分析。

覆盖分析包括两部分,即基于需求的覆盖分析和基于结构的覆盖分析。基于需求的覆盖分析是分析测试用例对软件需求的覆盖程度,以证实所选的测试用例满足指定的需求覆盖准则。基于结构的覆盖分析是分析测试用例对被测程序的覆盖程度,以证实所选的测试用例满足指定的结构覆盖准则。

 语句覆盖是最起码的结构覆盖要求。语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。

一个程序模块的测试独立路径数等于该模块的 McCabe  圈复杂度。  

考虑上图所示流程图,要使其达到语句覆盖,只需选取:

         A=2,B=0,X=3。

但是这个测试还不彻底,如果AND误写成了OR,上面的语句覆盖测试就发现不了。           

判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。

判定覆盖测试用例

测试用例        A       B       X       路径    

     1          3       0       1       acd     

     2           2      1       3       abe     

 

对上图来说,设计两组测试输入就可以通过路径ace和abd或路径acd和abe达到判定覆盖。

判定覆盖也不完全,例如上面两个测试用例未能检查沿着路径abd执行时,值是否保持不变。

条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。

条件覆盖测试用例

测试用例        A       B       X       路径    

       1        1      0       3       abd     

       2        2      1       1       abd     

 

 

对上图来说,要达到条件覆盖,需要足够多的测试用例,使得在A点有A>1,A≤1,B=0,B≠0,在B点有A=2,A≠2,X>1,X≤1。

条件覆盖也不完全,由上例可以看出,条件覆盖并不能保证判定覆盖。

设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

 判定/条件覆盖测试用例

 测试用例        A       B       X       路径    

       1        2       0       4       ace     

       2        1       1       1       abd     

判定/条件覆盖准则满足判定覆盖准则和条件覆盖准则。判定/条件覆盖准则的缺点是未考虑条件的组合情况。

要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。

 多重条件覆盖测试用例

 测试用例        A       B       X       路径    

       1        2       0       4       ace     

       2        2       1       1       abd     

       3        1       0       2       abd     

       4        1       1       1       abd     

多重条件覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。

更改的判定/条件覆盖要求设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次。并且每个条件都显示能单独影响判定结果。 

if(A and B)...,测试用例1和3说明条件A独立地影响测试结果,测试用例1和2说明条件B独立地影响测试结果,所以测试用例1,2,3是必须的。

测试用例        A       B       Result  

       1        T       T       T       

       2        T       F       F       

       3        F       T       F       

       4        F       F       F       

判断每个条件是否能单独影响判定结果的方法是:在固定其它条件值的同时变化要检查的条件。

更改的判定/条件覆盖继承了多重条件覆盖的优点,同时只是线性地增加了测试用例的数量。

 if(a>0 && b<0 && c == 1)...,

测试用例        A       B       C     Result    

       1        T       T       T       T

       2        F       T       T       F

       3        T       F       T       F

       4        T       T       F       F


if(a>0 || b<0 || c == 1)...,

测试用例        A       B       C      Result   

       1        F       F       F       F

       2        T       F       F       T

       3        F       T       F       T

       4        F       F       T       T

 

程序插装技术(打点)

 模拟运行

Google
Web 本站

[ 阅读字体大小: ]  
暂时没有评论
发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:   注册? 验证: 
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情
 
CopyRight © nmdoor.com,2005-2006, All Rights Reserved 蒙ICP备06001305号
Processed in 0.062500 second(s) , 9 queries