2024年测试循环结构经常踩坑?那些测试老司机们都这样处理~(3),2024年最新带你全面解析软件测试框架体系架构view篇

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

其实很简单,即iteration和i的初值的大小关系,最终决定该循环体的循环次数。

  void SampleFunc4( int iteration )

  {// iteration决定循环的次数

  1  for(int i=1; i<iteration; i++)

  2   printf(“i=%d\n”, i);

  }

下面分情况来说:

l 当iteration=1时,i的初值等于iteration,程序不执行循环体;

l 当iteration<1时,比如:iteration=0时,i的初值比iteration还大,因此,程序不会执行循环体。这种情况下,我们只需要测试循环0次的情况;

l 当iteration>1时,i将进入循环体,执行循环。在这个时候,我们应该尽量测试关于循环次数的所有典型情况。

(例如:我们取iteration=10,对应最大循环次数为9。根据前面的分析,我们对该函数的测试应从如下各方面展开。)

图片

4、针对单个循环节点循环过程的测试

下面,我们一起来说说,在结构化设计循环结构的循环执行过程。主要包括如下3个步骤:

1)循环的初始化

对于循环的初始化而言,应考虑循环变量的初值设置是否正确。如果初值设置错误,那么循环总次数必然受到影响。

2)循环的迭代

这里需要注意的比较多,比如:

①测试在循环体内部包含的语句执行过程中,循环变量的增量是否正确;

②重复多次循环是否导致误差累积;

③多次循环是否对内存造成压力;

④每次循环中涉及的重要变量的取值是否按预期规律发生变化;

⑤是否存在continue、break等语句,从而导致在某些循环过程中强制跳过部分语句不执行等。

3)循环的终止

另外,我们还要注意循环的终止条件是否存在边界错误。

对于SampleFunc4函数来说,同样需根据iteration的取值大小,分情况来做测试。测试情况包括两种:不执行循环体和多次执行循环体。这里,我们也根据循环变量i、其增量1、最大值iteration和退出条件等内容来做测试。

事实上,针对循环的测试并非一个完整的动态测试的过程,而是一个类似静态检查和调试的过程。

5、针对多个循环结构的测试

下面,我们来说说针对多个循环结构的测试应该怎么做。当循环节点存在不同形式的组合时,我们对循环的测试需要考虑更多内容。比如:

1)循环节点的串联

当各循环节点为串联形式时,若各个判定节点相互独立,那就根据单个循环体的测试原则进行测试即可;

当串联的各循环节点存在相互关联时,循环次数和循环过程存在一定的不确定性,此时,我们不能孤立地测试每个循环节点,而应在参照单个循环节点的原则来测试,并结合对数据变量,来做补充测试。

2)循环节点的嵌套

当循环节点为嵌套,且判定节点相互独立时,我们可以按照由内向外的次序,先测试最内层循环体,然后逐步外推,直至测试到最外层的循环体。4种特殊组合如下:

① 内层最小循环次数,外层最小循环次数;

② 内层最小循环次数,外层最大循环次数;

③ 内层最大循环次数,外层最小循环次数;

④ 内层最大循环次数,外层最大循环次数。

3)非结构化的循环

最后,如果是非结构化循环结构,那么对程序员来说,就比较困难了。因为这样的循环结构通常无法测试,需重新设计成结构化的程序再进行测试。

当然啦,如果是这样,最好就是程序员来测,因为他们能修改代码。而一般的测试人员无法做到这一点,因此,只能通过参照单个循环体的测试原则,来设计测试用例,并兼顾循环嵌套条件,对循环次数多种特殊组合情况,来进行测试。

希望上述内容能帮助大家,减少在循环结构测试中踩雷的次数。下期我们给大家来个真实案例分析,加深大家对本文内容的理解。感兴趣的小伙伴也可以在留言区给我们留言哦~

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保100%免费】
在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到 高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

dn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值