[软件测试] - No.1 Fault Error Failure 区别
在软件测试中,首先我们就会讲到什么是Fault,Error,Failure。这三个单词的翻译都可以很笼统的称为-“错误”。但是它们三个的区别到底在哪里呢?我们先来看完整的定义:
Fault的定义:可能导致系统或功能失效的异常条件(Abnormal condition that can cause an element or an item tofail.),可译为“故障”。
Error的定义:计算、观察或测量值或条件,与真实、规定或理论上正确的值或条件之间的差异(Discrepancy between a computed, observed or measured value or condition and the true, specified, or theoretically correct value or condition.),可译为“错误”。Error是能够导致系统出现Failure的系统内部状态。
Failure的定义:当一个系统不能执行所要求的功能时,即为Failure,可译为“失效”。(Termination of the ability of an element or an item to perform a function as required.)
这个完整的定义,网上随处可见。但是我相信不少人看了之后还是一知半解。Fault的定义显而易见,只要程序中存在这种使系统失效的条件,那么这就叫Fault。如果你有接触到,或者说可能运行该Fault的机会,那么我们就说你执行了Fault。例如,如果一个函数中存在一个逻辑错误,那么这个逻辑错误就是Fault。但是你并没有运行到这个函数,所以我们说,你没有执行Fault。
那么什么是Error呢?我们来看他的定义:计算、观察或测量值或条件,与真实、规定或理论上正确的值或条件之间的差异。简单的说,如果你设计了一段程序,这段程序在你设想的情况下可以运行。如果这段程序很不幸,在运行的时候,中间有些步骤,或者中间变量与你设计的不同,这就叫Error。
程序就好比是从起点运行到终点。如果在过程中,有偏差,即使最终到达了我们期望的终点,过程也是Error的。
接下来我们来看Failure。这个是最好理解的了。我们只看最后的结果和我们预想的是否一致,来判断程序是否失效。
接下来我们来看个题目:
这个题目要求我们在数组中从后往前找到匹配期望值的索引,但是在for循环中,由于当i = 0时候没有满足 i>0的条件,无法遍历到 i = 0,所以实际上没有比对第一个数。这就是我们的Fault。
1.当测试用例为 test:x = [] 时,抛出空指针异常,此时没有执行下面的程序,所以没有执行fault。
2.当测试用例为 test:x = [2,3,5], y = 3 的时候
期望值:1 实际值:1 同时由于我们在 i = 1的时候,正确返回。所以我们虽然执行了含有fault的程序,但是并没有产生错误,所以 执行了fault,没有执行error。
3.当测试用例为 test:x = [2,3,5],y = 1的时候
期望值:-1 实际值:-1 虽然我们得到了正确的结果,但是按照设计,应该在遍历完x = 0 以后,返回 -1;而实际程序在遍历完x = 1之后直接返回了 -1,所以执行了error,没有执行failure。
同理,我们来看这一题:
题中程序的目的是我们找到数组的最后一个0的索引,也就是说从后往前匹配第一个0,但是for循环中,i从0开始遍历,找到第一个0即返回,这就是我们的fault。
1.当测试用例为 test:x = []的时候,抛出异常,不执行fault。
2.当测试用例为 test:x = [0]的时候
期望值:0 实际值:0 在返回0的时候, i = 0,和我们设计的过程一样。所以执行了fault,没有执行error。
3.当测试用例为 test:x = [2,3,5]的时候
期望值:-1 实际值:-1 但是返回-1的时候,i = 3,遍历到了最后,所以和我们设计的过程不符合,所以执行了error,没有执行failure。
P.S.文章不妥之处还望指正
[软件测试] - No.1 Fault Error Failure 区别相关推荐
- fault、failure和error区别
fault.failure和error 看上面那篇博文理解学习的. 作出个人的理解和总结: 1.fault(缺陷):程序段有缺陷但可以将就使用. 2.error(出错):程序段用错误的方式得出了正确的 ...
- CDH集群异常处理ERROR Failure due to stall on seeded torrent.、重装时hdfs提示目录已存在、CDH重启不正常
//集群安装报错 ERROR Failure due to stall on seeded torrent. 解决:重启agent服务 //重装时hdfs提示目录已存在 rm -rf /d ...
- [vb]On Error GoTo 0和On Error resume区别
On Error GoTo 0 表示禁止当前过程中任何已启动的错误处理程序. On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运 ...
- 软件测试中自上而下与自下而上的区别
文章将要探讨一下软件测试中自上而下与自下而上的区别. 第一.自顶向下的增殖方式.这种集成方式将模块按系统程序结构,沿控制层次自顶向下进行组装.自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断 ...
- Mac系统brew install 安装报错 Error: Failure while executing
Mac安装Apache http服务器,brew install httpd 时报错 报错信息如下: ==> Installing httpd dependency: nghttp2 ==> ...
- Error:FAILURE: Build failed with an exception. * What went wrong: Task '' not found in root projec
在使用Android studio的过程中,用gradle assembleRelease编译版本的时候,出现下列错误,无法编译 Error:FAILURE: Build failed with an ...
- console 对象属性方法详解 log、info、warn、error的区别
参考: https://blog.csdn.net/S_clifftop/article/details/80363128?utm_medium=distribute.pc_relevant.none ...
- pg启动异常:Error: Failure while executing; `/bin/launchctl bootstrap gui/501
启动postgresql: brew services start postgresql 报错信息如下: Error: Failure while executing; `/bin/launchctl ...
- Fault,Error与Failure的联系与区别
Fault: 可能导致程序失败的因素,可理解成具体的代码. Error: 在程序运行过程中与设计时的预先设想不一致的情况,如变量值错误,错误的运行路径等. Failure: 当一程序不能完成所要求的功 ...
- 计算机术语——fault、failure、exception和error的区别
本文的主要思路是先分别解释这几个概念的含义,然后通过一个具体的例子进行阐释,最后总结它们之间的关系. (一)什么是error? 我们先看软件工程中对error的定义, Error is devia ...
最新文章
- php主机转发ipv6,php实现ipv4转换ipv6
- Spring Boot 2.X 使用@Cacheable时注意事项
- js 根据时间生成唯一订单号
- 虚拟CentOS访问Windows下共享文件(二)
- 如何通过父类引用“调用”子类所独有的方法
- 二维点云数据椭圆拟合算法及C++实现
- zdc找不到xenapp服务器,Citrix XenApp 客户端访问服务器的通讯流程
- List转Json数组
- java red5 流媒体服务_[Red5]Red5之Flash流媒体服务器的安装与使用教程完整版(组图)...
- 解决 dyld: Library not loaded:Reason: image not found
- 工作中PUSH用到的统计命令
- Python字符串前缀u、r、b、f含义
- 1.5黄金白银最新行情走势分析预测,黄金实时操作建议
- 看完李宏毅的视频我决定学好英语了
- windows Apache 的安装和配置教程
- 2020年全国计算机二级考试大纲改变,2020年3月计算机二级考试大纲内容
- 记录Google被和谐的日子
- 【mysql】事务的四大特性
- C++ 无法打开 源 文件「bits/stdc++.h」//E1696
- element-ui 中的el-table表格默认的“暂无数据”修改
热门文章
- Pycharm下载库出错ERROR: Could not find a version that satisfies the requirement
- 住得越高越安静? 中间楼层噪音最大
- 2022-2028全球造水机市场现状及未来发展趋势
- pocketpc同步驱动_PocketPC上的NewsBreak RSS Feed阅读器和播客
- 3.4.3 区域与图像的平均灰度值
- 小米、百度、bigo 、滴滴 、快手等iOS 面试后的一次阶段性总结
- 美国纽约摄影学院摄影教材 学习笔记1
- 现在90,00后经常上哪些网站?喜欢看啥网站?
- linux杀死ltp进程,LTP套件使用方法详解
- Baidu Expressive TTS《Multi-reference Tacotron by Intercross Training for Style Disentangling...》