姓名 | 学号 | 实验组 | ||||
实验时间 | 指导教师 | 成绩 | ||||
实验项目名称 | 白盒测试—逻辑覆盖 | |||||
实验目的 | ps切片导出熟练白盒测试的各种方法。 | |||||
实验要求 | 上图描述了某个子程序的处理流程.试设计测试用例,使之分别实现对该子程序的语句覆盖,判定覆盖,条件覆盖和路径覆盖.电脑卡了怎么办点不动怎么办 | |||||
实验原理 | 语句覆盖 语句覆盖 SC(Statement Coverage),就是设计若干个测试用例,运行被测程序,使得程序中每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖在测试中主要发现缺陷或错误语句。 例如上边的Coverage类代码,从path a到path c再到path e的路径就是所有可执行的语句路径,所以选择path ace路径设计测试用例即可覆盖所有可执行语句。 语句覆盖率的公式:语句覆盖率=被评价到的语句数量/可执行的语句总数 x 100% 语句覆盖的缺点:对程序执行逻辑的覆盖很低。 判定覆盖(分支覆盖) 判定覆盖DC(Decision coverage),有时也称分支覆盖,就是指设计若干测试用例,运行被测程序,使得每个判定的取真分支和取假分支至少评价一次。例如上边的 Coverage类代码,path ace,path abd,path abe,path acd 四条路径均是符合判定覆盖要求的路径。判定覆盖虽然把程序所有分支均覆盖到了,但其主要对整个表达式最终取值进行度量,忽略了表达式内部取值。 判定覆盖的公式: 判定覆盖率=被评价到的判定分支个数/判定分支的总数X100% 判定路径覆盖率(DDP)=被评价到的判定路径数量/判定路径的总数X100% 判定覆盖的缺点:判定覆盖虽然把程序所有分支均覆盖到了,但其主要对整个表达式最终取值进行度量,忽略了表达式内部取值。 例如上边的Coverage类代码的第8行“if(A==2 or X>1)”, 当A==2或者X>1时都会执行第9行代码,判定覆盖只考虑整个“(A==2 or X>1)”表达式的取值,并没有考虑到表达式内部变量的取值(应该将A==2和X>1的情况均考虑)。 条件覆盖 条件覆盖CC(Condition Coverage),设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。 条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100% 条件覆盖的缺点:只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖 例如上边的Coverage类代码,判定语句有两个,分别是第3行和第8行代码。根据条件覆盖的定义,则应考虑“(A>1 and B==0)”和“(A==2 or X>1)”两个表达式中的变量取值。 路径覆盖 路径覆盖,设计足够多的测试用例,执行程序所有可能的路径。 路径覆盖率的公式:路径覆盖率=被执行到的路径数/程序中总的路径数。 优点:路径覆盖是覆盖率最高的一种覆盖技术。 路径覆盖测试步骤: 1. 将程序流程图转换成控制流图; 2. 经过语法分析求的路径表达式; 3. 生成路径图; 4. 进行路径编码; 5. 经过译码得到执行的路径; 6. 通过路径枚举产生特定路径测试用例。 7. 修正的条件判断覆盖率(MC/DC) | |||||
实验环境 | Windows 7 飞蛾之死 | |||||
实验步骤高一政治必修一电子课本 | 见原理 | |||||
实验内容 | 写出语句覆盖,判定覆盖,条件覆盖和路径覆盖 | |||||
实验数据 | 语句覆盖: a=5 b=2 判定覆盖: a=5 b=3 a=-6 b=-2 最大的植物条件覆盖: a=4 b=1 a=-6 b=-4 路径覆盖: a=5 b=2 a=-6 b=-2 a=-6 b=-4 a=1 b=1 | |||||
实验总结 | 通过本次实验,我对白盒测试有了进一步的认识和学习,对其流程有了较清楚的了解,收获很多。 婚礼祝福成语 | |||||
指导教师意见 | 恐惧英文 签名: 年 月 日 | |||||
王莲香 |
本文发布于:2023-06-13 01:03:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/89/1035832.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |