软件测试学习笔记:找代码中的fault,并设计特定的测试用例
观察两段代码:
(1) 发现代码中的错误;
(2) 设计测试用例,不执行fault部分;
(3) 设计测试用例,执行fault部分,但不出现error情况;
(4) 设计测试用例, 出现error情况,但不发生failure。
代码一:
public int findLast (int[] x, int y) { //Effects: If x==null throw NullPointerException // else return the index of the last element // in x that equals y. // If no such element exists, return -1 for (int i=x.length-1; i > 0; i--) { if (x[i] == y) { return i; } } return -1; } // test: x=[2, 3, 5]; y = 2 // Expected = 0
(1) for循环中循环条件为i>=0;
(2) x=[],y=2;
对于此测试用例,x为空,不执行for循环,直接返回NullPointerException;
理论结果:NullPointerException,
实际结果:NullPointerException;
(3) x=[1,2,3],y=2;
对于此测试用例,最后一个等于y的值不在x[0]处,而在x[1] 出,所以for循环并没有执行到"i>0"的条件出,所以不会出现error状态;
理论结果:1,
实际结果:1;
(4) x=[3,4,5],y=2;
对于此测试用例,虽然执行到了error状况,但由于x中并没有与y相等的值,所以得到结果是正确的,所以没有出现failure;
理论结果:-1,
实际结果:-1;
public static int lastZero (int[] x) { //Effects: if x==null throw NullPointerException // else return the index of the LAST 0 in x. // Return -1 if 0 does not occur in x for (int i = 0; i < x.length; i++) { if (x[i] == 0) { return i; } } return -1; } // test: x=[0, 1, 0] // Expected = 2
(1)for循环的方向反,应该从i = x.length-1执行到i = 0;
(2)无论如何代码都会执行进入for循环,所以不存在样例不执行fault;
(3)x=[1];这里执行时会进入for循环,即进入了fault,但是由于x中只有一个元素,所以不存在循环执行的正反问题,所以没有error状态;
理论结果:-1,
实际结果:-1;
(4)x=[1,0,2];此用例执行时会发生error状态,但是由于x中只有一个0,所以for循环执行顺序不会对结果产生影响,因此没有发生failure;
理论结果:1,
实际结果:1。
转载于:https://www.cnblogs.com/xzzily-mitao/p/5267528.html
软件测试学习笔记:找代码中的fault,并设计特定的测试用例相关推荐
- SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理
在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...
- 软件测试学习笔记(九)淘宝测试
软件测试学习笔记(九)淘宝测试 视频链接:软件测试_中国大学MOOC 1.淘宝性能测试经历哪三个发展阶段?简述其工作内容. (1)业务发展-基础阶段 编写性能测试白皮书和测试文档,整理了常用性能测试的 ...
- 软件测试学习笔记与思考(1)---软件测试基础
这学期开始学习软件测试,课本是软件测试(慕课版)郑炜,刘文兴,杨喜兵,王文鹏,吴潇雪主编的. 本来没有打算写相关博客的,但是在做课后习题时想到做测试必然少不了思考,从不同的角度分析,于是就打算用博客来 ...
- (实验38)单片机,STM32F4学习笔记,代码讲解【SD卡实验】【正点原子】【原创】
文章目录 其它文章链接,独家吐血整理 实验现象 主程序 SD卡驱动程序 代码讲解 其它文章链接,独家吐血整理 (实验3)单片机,STM32F4学习笔记,代码讲解[按键输入实验][正点原子][原创] ( ...
- (实验37)单片机,STM32F4学习笔记,代码讲解【内存管理实验】【正点原子】【原创】
文章目录 其它文章链接,独家吐血整理 实验现象 主程序 内存池初始化程序 代码讲解 其它文章链接,独家吐血整理 (实验3)单片机,STM32F4学习笔记,代码讲解[按键输入实验][正点原子][原创] ...
- 软件测试学习笔记(三)控制数据流测试
软件测试学习笔记(三)控制&数据流测试 视频链接:软件测试_中国大学MOOC 2.3 结构化覆盖 2.4 控制流测试 2.5 数据流测试 1.什么是顶点覆盖? 对每个测试需求,即可达顶点,都可 ...
- 【软件测试】软件测试学习笔记(一)
文章目录 一.软件测试基础 1.1.软件概述 1.1.1.软件生命周期 1.1.2.软件开发模型 1.1.2.1.瀑布模型 1.1.2.1.1.瀑布模型的特点 1.1.2.1.2.瀑布模型的优缺点 1 ...
- (实验50)单片机,STM32F4学习笔记,代码讲解【串口IAP实验】【正点原子】【原创】
文章目录 ❤2023重新理解记录 其它文章链接,独家吐血整理 实验现象 主程序 IAP初始化程序 代码讲解 文章目录 ❤2023重新理解记录 其它文章链接,独家吐血整理 实验现象 主程序 IAP初始化 ...
- SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...
最新文章
- Redis集群两种配置方式
- 如何在电脑桌面添加计算机网络等,如何实现在电脑桌面上添加文字提醒
- 高影响力期刊iMeta扬帆起航!第一篇文章已上线!
- Kali Linux安装中文输入法
- OpenStack Liberty 连接vCenter
- (转)DevExpress 汉化(简单、实用、快速)
- 追一科技热招职位来袭:AI新世界,不做旁观者
- 计算机专业实训计划,计算机专业实习计划范文
- ajax 返回flase,Django request.is_ajax返回false
- Error in nextTick
- 依赖注入与对象间关系
- python接收最新邮件_Python接收Gmail新邮件并发送到gtalk的方法
- 火车图 、jackson图
- 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)
- C语言测试:想成为嵌入式程序员应知道的0x10个基本问题
- FRAGSTATS.4中用移动窗口算法计算景观指标步骤
- 教你Word一键自动生成目录步骤
- python图片后缀转换---统一转换成.jpg
- 云渲染和渲染农场有什么区别?看完你就明白了
- R语言实战之基本统计分析
热门文章
- Eclipse 用Hibernate Tools 生成 .hbm cfg.xml等文件
- Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
- DIV CSS display (block none inline)属性的用法教程
- Apache Mina开发手册
- java 空指针异常(java.lang.NullPointerException)
- /proc/xx/maps命令
- 前端二十七:四彩边框
- C#中[WebMethod]的用法,aspx、ashx、asmx
- 微软发布Azure SignalR Service的预览版本
- 公有/私有/保护继承、overload/overwrite/override之间的区别