结对编程——关于Fault、Error、Failure程序设计

0人阅读 评论(0) 收藏 举报
分类:

一、问题描述:

        构造程序,分别是:
        •不能触发Fault
        •触发Fault,但是不能触发Error
        •触发Error,但是不能产生Failure
二、Fault、Error、Failure区别
  Fault:可能导致系统或功能失效的异常条件,可译为“故障”。
  Error:计算、观察或测量值或条件,与真实、规定或理论上正确的值或条件之间的差异,译为“错误”。Error是能够导致系统出现Failure的系统内部状态。
  Failure:当一个系统不能执行所要求的功能时,即为Failure,可译为“失效”。

二、结对对象:韩思明

     博客地址:http://www.cnblogs.com/a294098789/

     双方贡献:1:1

  队友优点:认真负责、细心细致、有很好的代码编写水平、注重代码的规范和格式。好队友!

     结对编程照片:

  

 

三、采用语言:java(代码实现如下):

 

复制代码
 1 package com.sicnu.findnumber;
 2 
 3 public class FindLastNumber {
 4     
 5     public static void main(String[] args) {
 6         //找出目标值aim在数组最后出现的位置,若在数组中不存在则表示-1
 7         int array[] = {2};
 8         int aim = 2;
 9         int pos = -1;
10         
11         if(array.length <= 1){
12             if(aim == array[0]){
13                 pos = 1;
14             }else{
15                 pos = -1;
16             }
17             
18         }else{
19             pos = findLast(aim,array);
20             
21         }
22         
23         for(int i = 0; i < array.length; i++){
24             System.out.print(array[i] + "  ");
25         }
26         System.out.println();
27         System.out.println("find :"+ aim +" The last position:"+pos);
28         
29         
30     }
31     
32     
33     /**
34      * @param aim
35      * @param array
36      * @return
37      */
38     public static int findLast(int aim, int array[]){
39         int position = -1;
40         for(int i = 1; i < array.length ;i++){//wrong!
41             if(array[i] == aim){
42                 position = i;
43             }            
44         }
45                 
46         return position + 1;
47 
48     }
49 
50 }
复制代码

 

 

四、结果代码分析:

 

错误分析:此题所要找的是,目标值在数组中出现的最后一个位置,应该是从数组从后往前找,而题中代码是,从前往后找,并且是从数组的第二个往后找的,所以是出错代码!

 

•不能触发Fault

 

测试用例输出:

数组为单个元素,当数组元素只有一个时,如题上代码,直接比较的是数组的值与目标值,并没有调用findLast()方法,所以并没有触发Fault。

 

 

  •触发Fault,但是不能触发Error

测试用例输出:

 

调用了findLast()方法,也就是触发了Fault,但是程序结果仍然是正确,因为8在数组中只有一个且正好处于最中间的位置,此时最后一个出现和第一个出现位置是相同的,所以并未触发Error。

 

 

  •触发Error,但是不能产生Failure

在查找目标值5时,本来程序查找的先后顺序出错,找的是第一个出现的值,但是由于程序又出错在是从第二个找起的,本来第一出现的5被略过,就找到了位于第5个位置的5,因此最后程序运行的结果阴差阳错是正确的。

五、心得体会:

  在软件测试课程学习中,通过编写此程序,我对软件中 fault,error,failure 有了深刻的理解,同时,更让我明白,软件测试的测试用例应该在同一等价划分上尽量多种,毕竟测试用例的巧合不能是测试的瓶颈。这些,也让我对软件测试有了不一样的理解。



转载自:结对编程——关于Fault、Error、Failure程序设计

查看评论

fault,error和failure的区别与联系

Fault的定义:可能导致系统或功能失效的异常条件;可译为“故障”。 Error的定义:计算、观察或测量值或条件,与真实、规定或理论上正确的值或条件之间的差异;可译为“错误”。Error是能够导致系...
  • JIHONG1129
  • JIHONG1129
  • 2017-04-22 21:30:47
  • 938

计算机术语——fault、failure、exception和error的区别

本文的主要思路是先分别解释这几个概念的含义,然后通过一个具体的例子进行阐释,最后总结它们之间的关系。...
  • qq_14982047
  • qq_14982047
  • 2016-03-30 16:59:16
  • 3772

C++语言的fault/error/failure(软件测试)

定义 fault:故障 error:错误 failure:失败 导言在软件测试,从上三个英文单词的意思,我们可以看出这故障越来越大!如果你没有看出来,你听我给你捋一捋! 我们写软件,可能其中存在故障...
  • Le_leezp
  • Le_leezp
  • 2017-03-08 21:33:36
  • 594

软件测试基础——fault、error and failure

*************软件测试基础*************首先解释一下fault、error以及failure的各自定义:Fault:可能导致系统或功能失效的异常条件(Abnormal cond...
  • yangxingpa
  • yangxingpa
  • 2017-04-25 17:09:39
  • 424

Bug、Defect、Error、Fault、Exception的区别

在电子管技术制造计算机的那个年代,那是计算机的主机重达数吨,并常常占据整个房间的时代。在某个实验室的某个平常的早晨,这个庞然大物突然停止了工作,我们的IT前辈们马上就开始寻找出现这种情况的原因。凭借设...
  • BareBear
  • BareBear
  • 2016-07-21 11:30:10
  • 1538

[软件测试] - No.1 Fault Error Failure 区别

在软件测试中,首先我们就会讲到什么是Fault,Error,Failure。 public int findLast (int[] x, int y) public static int lastZ...
  • tjuyanming
  • tjuyanming
  • 2017-02-26 10:20:37
  • 619

Bug、Defect(缺陷)、Error、Fault、Exception的区别

Bug、Defect(缺陷)、Error、Fault、Exception的区别 今天在做软件开发和测试过程中,突然想起来需要明了一些概念。有关Bug、Defects、Error、Fault、Excep...
  • lejuo
  • lejuo
  • 2009-02-17 17:24:00
  • 7799

adb故障:adb devices error protocol falut(no status)

具体原因也不知道是什么, 在网上查了一圈圈, 有的说卸载 adb重新安装什么的(感觉真的不靠谱,) 其实自己去网络上查就是想知道是个什么原因而已。 最后的解决方案。windows:任务管理器, 看到...
  • kongbaidepao
  • kongbaidepao
  • 2016-07-15 20:51:08
  • 2601

敏捷开发,极限编程,结对编程介绍

参考:http://zhidao.baidu.com/link?url=O9OtPIuteNEcN0hXNDm0k9H3SIZeBsbONCRdp1dUmNAZLWOEdLvLV9ggDHxCd3iq...
  • xuyuqingfeng953
  • xuyuqingfeng953
  • 2016-10-12 19:08:24
  • 675

C错误大全

本附录列出的出错信息中用单引号括起的单词 代表一个通用的名或值,用户在屏幕上看到的出错信息是把这个单词用具体的名或值取代后的信息。例如:如果有一个C++函数goforit出现错误,用户在屏幕上看到的实...
  • SANERSANERSANER
  • SANERSANERSANER
  • 2009-08-08 09:03:00
  • 1494
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 422
    排名: 11万+