语句覆盖和路径覆盖的区别

语句覆盖和路径覆盖的区别,第1张

区别:

1、度量对象

语句覆盖:程序中每一可执行语句

路径覆盖:程序中每条路径

2、覆盖程度

语句覆盖:语句覆盖常常被人指责为“最弱的覆盖”,它只管覆盖代码中的执行语句,却不考虑各种分支的组合等等。假如只要求达到语句覆盖,那么换来的确实测试效果不明显,很难更多地发现代码中的问题。

路径覆盖:在白盒测试法中,覆盖程度最高的就是路径覆盖,因为其覆盖程序中所有可能的路径。

扩展资料

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。

根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,条件/判定覆盖,条件组合覆盖,路径覆盖。

语句覆盖(StatementCoverage) 又称行覆盖(LineCoverage),段覆盖(SegmentCoverage),基本块覆盖(BasicBlockCoverage),这是最常用也是最常见的一种覆盖方式,就是度量被测代码中每个可执行语句是否被执行到了。

这里说的是“可执行语句”,因此就不会包括像C++的头文件声明,代码注释,空行,等等。非常好理解,只统计能够执行的代码被执行了多少行。需要注意的是,单独一行的花括号{} 也常常被统计进去。

参考资料:

百度百科 - 语句覆盖

1stu[N]只能存储一个学期,一个班级,N个学生的信息,

你要想存储一个学期,m班级的信息需定义二维数组:stu[m][N]

你要想存储s个学期,m班级的信息需定义二维数组:stu[s][m][N]

2你的程序还有个数组越界的问题。stu[N]的下标索引从0开始,到N-1结束。所以程序中

for(i=0;i<=N;i++)错误,应该是for(i=0;i<N;i++)

3strcpy(stu[N]term,term);和strcpy(stu[N]Class,Class);两句存在数组越界问题。此外,应该每个每个学生都应该进行学期和班级的初始化,而不是只给最后一个学生的学期和班级初始化。

你可以让你所有的结果都输出到一个数组里。

例如:

i=1;

for x=1:10

a=x^2;

aa(i)=a;

i=i+1;

end

aa

aa就存了循环后的所有a结果。

希望对您有帮助。

以上就是关于语句覆盖和路径覆盖的区别全部的内容,包括:语句覆盖和路径覆盖的区别、C语言题目,我的程序后面的输入为什么会覆盖前面的输入不能输两学期或者两个班的信息,求教。。。、怎么实现for循环中每一个输出的文件不覆盖前面的文件 Matlab等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9731093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存