- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
条件覆盖(续) 说明:虽然前面的一组测试用例同时达到了条件覆盖和判定覆盖,但是,并不是说满足条件覆盖就一定能满足判定覆盖。如果设计了下表中的这组测试用例,则虽然满足了条件覆盖,但只是覆盖了程序中第一个判定的取假分支c 和第二个判定的取真分支d,不满足判定覆盖的要求。 测试用例 执行路径 覆盖条件 覆盖分支 x=2、y=6、z=5 acd ~T1、T2、 ~T3、T4 cd x=4、y=5、z=15 acd T1、~T2、 T3、~T4 cd 判定/条件覆盖 判定/条件覆盖实际上是将判定覆盖和条件覆盖结合起来的一种方法,即:设计足够的测试用例,使得判定中每个条件的所有可能取值至少满足一次,同时每个判定的可能结果也至少出现一次。 根据判定/条件覆盖的基本思想,只需设计以下两个测试用例便可以覆盖4个条件的8种取值以及4个判定分支。 测试用例 执行路径 覆盖条件 覆盖分支 x=4、y=6、z=5 abd T1、T2、 T3、T4 bd x=2、y=5、z=15 ace ~T1、~T2、 ~T3、~T4 ce 判定/条件覆盖(续) 分析:从表面上看,判定/条件覆盖测试了各个判定中的所有条件的取值,但实际上,编译器在检查含有多个条件的逻辑表达式时,某些情况下的某些条件将会被其它条件所掩盖。因此,判定/条件覆盖也不一定能够完全检查出逻辑表达式中的错误。 例如:对于第一个判定(x3)(z10)来说,必须x3和z10这两个条件同时满足才能确定该判定为真。如果x3为假,则编译器将不再检查z10这个条件,那么即使这个条件有错也无法被发现。对于第二个判定(x==4)||(y5)来说,若条件x==4满足,就认为该判定为真,这时将不会再检查y5,那么同样也无法发现这个条件中的错误。 组合覆盖 组合覆盖的目的是要使设计的测试用例能覆盖每一个判定的所有可能的条件取值组合。 对DoWork函数中的各个判定的条件取值组合加以标记: 1、x3, z10 记做T1 T2,第一个判定的取真分支 2、x3, z=10 记做T1 ~T2,第一个判定的取假分支 3、x=3, z10 记做~T1 T2,第一个判定的取假分支 4、x=3, z=10 记做~T1 ~T2,第一个判定的取假分支 5、x==4, y5 记做T3 T4,第二个判定的取真分支 6、x==4, y=5 记做T3 ~T4,第二个判定的取真分支 7、x!=4, y5 记做~T3 T4,第二个判定的取真分支 8、x!=4, y=5 记做~T3 ~T4,第二个判定的取假分支 组合覆盖(续) 根据组合覆盖的基本思想,设计测试用例如下: 测试用例 执行路径 覆盖条件 覆盖组合号 x=4、y=6、z=5 abd T1、T2、 T3、T4 1和5 x=4、y=5、z=15 acd T1、~T2、 T3、~T4 2和6 x=2、y=6、z=5 acd ~T1、T2、 ~T3、T4 3和7 x=2、y=5、z=15 ace ~T1、~T2、 ~T3、~T4 4和8 分析:上面这组测试用例覆盖了所有8种条件取值的组合,覆盖了所有判定的真假分支,但是却丢失了一条路径abe。 路径覆盖 前面提到的5种逻辑覆盖都未涉及到路径的覆盖。事实上,只有当程序中的每一条路径都受到了检验,才能使程序受到全面检验。路径覆盖的目的就是要使设计的测试用例能覆盖被测程序中所有可能的路径。 根据路径覆盖的基本思想,在满足组合覆盖的测试用例中修改其中一个测试用例,则可以实现路径覆盖: 测试用例 执行路径 覆盖条件 x=4、y=6、z=5 abd T1、T2、T3、T4 x=4、y=5、z=15 acd T1、~T2、T3、~T4 x=2、y=5、z=15 ace ~T1、~T2、~T3、~T4 x=5、y=5、z=5 abe T1、T2、~T3、~T4 路径覆盖(续) 分析:虽然前面一组测试用例满足了路径覆盖,但并没有覆盖程序中所有的条件组合(丢失了组合3和7),即满足路径覆盖的测试用例并不一定满足组合覆盖。 说明: 对于比较简单的小程序,实现路径覆盖是可能做到的。但如果程序中出现较多判断和较多循环,可能的路径数目将会急剧增长,要在测试中覆盖所有的路径是无法实现的。为了解决这个难题,只有把覆盖路径数量压缩到一定的限度内,如程序中的循环体只执行一次。 在实际测试中,即使对于路径数很有限的程序已经做到路径覆盖,仍然不能保证被测试程序的正确性,还需要采用其他测试方
您可能关注的文档
- 第2章Oracle客户端--《Oracle数据库基础与应用》书籍讲稿.ppt
- 第2章SMT生产物料——工艺讲稿.ppt
- 第2章TMS320C54xDSP硬件结构讲稿.ppt
- 第2章UML语言体系讲稿.ppt
- 第2章VB学习讲稿.ppt
- 第2章财务报表()讲稿.ppt
- 第2章采购战略管理讲稿.ppt
- 第2章彩色电视制式与讲稿.ppt
- 第2章操作系统(Win7)讲稿.ppt
- 第2章处理器结构讲稿.ppt
- 2025年五年级信息技术下册全册教案.doc
- 2025年内部竞聘操作全套表格.doc
- 2025年人美版一年级美术上册教案全册.doc
- 2025年上海市第十八届初中物理竞赛复赛试题及答案大同中学杯.doc
- 2025年六年级全册心理健康教案116课.doc
- 重庆市重点校联考(含重庆市第八中学校)2024-2025学年高三下学期2月月考历史试卷.docx
- 2025年前25题5月企业培训师二级真题.doc
- 2025年商务礼仪南开大学远程在线作业答案.docx
- 2025年全国通用高中英语必修二Unit3TheInternet知识点归纳超级精简版.docx
- 2025年人教版小学四年级语文上册基础知识复习试题全册.doc
文档评论(0)