网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
对DoWork函数各个判定的各种条件取值加以标记。
(1) 对于第一个判定(x>3&&z<10):
条件x>3取真值记为t1,取假值记为-t1;
条件z<10取真值记为t2,取假值记为-t2。
(2) 对于第二个判定(x==4||y>5):
条件x==4取真值记为t3,取假值记为-t3;
条件y>5取真值记为t4,取假值记为-t4。
根据条件覆盖的基本思想,要使上述4个条件可能产生的8种情况至少满足一次,其设计测试用例如表4-6所示。
■ 表4-6条件覆盖测试用例
分析: 表4-6中这组测试用例不但覆盖了4个条件的全部8种情况,而且将两个判定的4个分支b、c、d、e也同时覆盖了,即同时达到了条件覆盖和判定覆盖。
虽然前面的一组测试用例同时达到了条件覆盖和判定覆盖,但是,并不是说满足条件覆盖就一定能满足判定覆盖。如果设计了如表4-7中的这组测试用例,则其虽然满足了条件覆盖,但也只是覆盖了程序中第一个判定的取假分支c和第二个判定的取真分支d,不能满足判定覆盖的要求。
■ 表4-7另一组条件覆盖测试用例
4. 判定/条件覆盖
根据判定/条件覆盖的基本思想,只需设计如表4-8中的两个测试用例便可以覆盖4个条件的8种取值以及4个判定分支。
■ 表4-8判定/条件覆盖测试用例
分析: 从表面上看,判定/条件覆盖了各个判定中的所有条件的取值,但实际上,编译器在检查含有多个条件的逻辑表达式时,某些情况下的某些条件将会被其他条件掩盖。例如,对第一判定(x>3)&&(z<10)来说,必须x>3和z<10这两个条件同时满足才能确定该判定为真。如果x>3为假,则编译器将不再会去检查z<10这个条件,那么即使这个条件有错也无法被发现。对第二个判定(x4)||(y>5)来说,若条件x4满足,编译器就会认为该判定为真,这时将不会再去检查y>5,那么同样也无法发现这个条件中的错误。因此,判定/条件覆盖也不一定能够完全检查出逻辑表达式中的错误。
5. 条件组合覆盖
对DoWork函数中的各个判定的条件取值组合加以标记。
(1) x>3,z<10记为t1,t2,即第一个判定的取真分支。
(2) x>3,z≥10记为t1,-t2,即第一个判定的取假分支。
(3) x≤3,z<10记为-t1,t2,即第一个判定的取假分支。
(4) x≤3,z≥10记为-t1,-t2,即第一个判定的取假分支。
(5) x==4,y>5记为t3,t4,即第二个判定的取真分支。
(6) x==4,y≤5记为t3,-t4,即第二个判定的取真分支。
(7) x≠4,y>5记为-t3,t4,即第二个判定的取真分支。
(8) x≠4,y<=5记为-t3,-t4,即第二个判定的取假分支。
根据组合覆盖的基本思想,以上可得设计测试用例如表4-9所示。
■ 表4-9条件组合覆盖测试用例
分析:表4-9中这组测试用例覆盖了所有8种条件取值的组合,也覆盖了所有判定的真假分支,但丢失了一条路径abe。
6. 路径覆盖
根据路径覆盖的基本思想,在满足组合覆盖测的测试用例中修改第三个测试用例,则可以实现路径覆盖,如表4-10所示。
■ 表4-10路径覆盖测试用例
分析: 虽然前面一组测试用例满足了路径覆盖,但并没有覆盖程序中所有的条件组合(丢失了组合3和7),即满足路径覆盖的测试用例并不一定满足条件组合覆盖。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**