软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖.doc_第1页
软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖.doc_第2页
软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖.doc_第3页
软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖 我举一个简单的例子来解释一下语句覆盖,分支覆盖,条件覆盖以及路径覆盖的相关知识,如果有不对的地方,恳请各位同行指正:举例说明:if A=true and B=true then Action1if C=true or D=true then Action2这是一个很简单的例子,也就是,当A和B都为真的情况下,执行Action1,Action1执行好以后再次判断,只要A或者B有一个为真,那么就执行Action2,当Action2执行完成后,整个程序算是执行完成了:分析见图(pic 01)语句覆盖:顾名思义,让程序中的每个语句都cover到。在这个例子中,也就是要符合两个Positive条件: 1. A = true and B = true 2. C = true or D = true 根据上图所示,符合有两个条件的,都可以实现语句覆盖: 比如:A = true, B = true, C = true, D =true就可以实现最大的语句覆盖了 看到图,我们可以知道,实际上A和B有一种情况,C和D有三种情况,1*3=3,所以,语句覆盖的例子除了有上面提示的一个例子外还可以有以下两个,罗列如下: 2. A = true, B = true, C = true, D = false 3. A = true, B = true, C = false, D = true 这个例子中,选择任何一个(比如1),都可以覆盖整个语句,实现最大的语句覆盖率分支覆盖(判定覆盖):把程序中所有判定的分支尽可能得到体验。这句话说白了,就是两个条件的真真假假都得考虑到,也就是以下四种情况在case中都需要cover到: 1. A = true and B = true 真positive (见图pic 01:1种情况) 2. A = true and B = true 假negative (见图pic 01:3种情况) 3. C = true or B = true 真positive (见图pic 01:3种情况) 4. C = true or B = true 假negative (见图pic 01:1种情况)典型的两个例子如:A=true, B=true, C=false, D=trueA=false, B=true, C=false, D=true当然,我们如果再深入考虑下去,其实不只这一对case可以覆盖所有的条件,还有很多对的case可以覆盖,其实就是符合上述1234的条件就行,很容易就可以看出:13 24组合,14 23组合完全覆盖到了,算下来(13)*(3*1)+(1*1)*(3*3)=18:13 24组合1. A=true, B=true, C=false, D=true A=false, B=true, C=false, D=true2. A=true, B=true, C=true, D=false A=false, B=true, C=false, D=true3. A=true, B=true, C=true, D=true A=false, B=true, C=false, D=true4. A=true, B=true, C=false, D=true A=true, B=false, C=false, D=true5. A=true, B=true, C=true, D=false A=true, B=false, C=false, D=true6. A=true, B=true, C=true, D=true A=true, B=false, C=false, D=true7. A=true, B=true, C=false, D=true A=false, B=false, C=false, D=true8. A=true, B=true, C=true, D=false A=false, B=false, C=false, D=true9. A=true, B=true, C=true, D=true A=false, B=false, C=false, D=true14 23组合10. A=false, B=true, C=false, D=true A=true, B=true, C=false, D=false11. A=true, B=false, C=false, D=true A=true, B=true, C=false, D=false12. A=false, B=false, C=false, D=true A=true, B=true, C=false, D=false13. A=false, B=true, C=true, D=false A=true, B=true, C=false, D=false14. A=true, B=false, C=true, D=false A=true, B=true, C=false, D=false15. A=false, B=false, C=true, D=false A=true, B=true, C=false, D=false16. A=false, B=true, C=true, D=true A=true, B=true, C=false, D=false17. A=true, B=false, C=true, D=true A=true, B=true, C=false, D=false18. A=false, B=false, C=true, D=true A=true, B=true, C=false, D=false条件覆盖:每个判断中的每个条件的可能取值至少满足一次. 说条件覆盖的时候不要看上面的两幅图了。这里的条件参数有四个A,B,C,D,也就是说A,B,C,D可能的条件至少要满足一次:1. A = false, B = false, C = false, D = false2. A = true, B = true, C =true, D = true这两个用例已经覆盖了条件测试的所有的条件,当然,你同样可以展开来:2*2*2*2 = 16,可以设计出16对上面所列的测试用例这里就不一一列出来了1. A = true, B = false, C = false, D = false A = false, B = true, C =true, D = true2. A = false, B = true, C = false, D = false A = true, B = false, C =true, D = true3. A = false, B = false, C = true, D = false A = true, B = true, C =false, D = true路径覆盖:要求覆盖程序中的所有可能路径,见如下图:(Pic 02)如上图所示,所有的路径包括:13,14,23,24示例1:A=false, B=true, C=false, D=false (1,3)A=false, B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论