一、问题描述:

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

二、结对对象:周芳

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

双方贡献:1:1

  队友优点:长的好看

结对编程照片:

  

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

package com.sicnu.findnumber;

public class FindLastNumber {

    public static void main(String[] args) {
//找出目标值aim在数组最后出现的位置,若在数组中不存在则表示-1
int array[] = {2};
int aim = 2;
int pos = -1; if(array.length <= 1){
if(aim == array[0]){
pos = 1;
}else{
pos = -1;
} }else{
pos = findLast(aim,array); } for(int i = 0; i < array.length; i++){
System.out.print(array[i] + " ");
}
System.out.println();
System.out.println("find :"+ aim +" The last position:"+pos); } /**
* @param aim
* @param array
* @return
*/
public static int findLast(int aim, int array[]){
int position = -1;
for(int i = 1; i < array.length ;i++){//wrong!
if(array[i] == aim){
position = i;
}
} return position + 1; } }

四、结果代码分析:

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

•不能触发Fault

测试用例输出:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYAAAAA2CAIAAABBQdk0AAADOklEQVR4nO3c66GjIBCGYeuiIOuhGpuhmN0fSU64DCMoZDR5n1+7J15GxS9C1OUfABhZrAsA8LsIIABmCCAAZoQA2tblxfnw+ZIA/Io8gIJ3y7q9/00GAZhG7YIF75a/OAKAwQggAGa0AKILBmCqegBtK6PQAKaqBNDjlzB6XwBmkgIoeEf6AJivCCDSB8CnZAH0iJ8MaQRgCh7FAGCGAAJghgACYIYAAmCGAAJghgACYIYAAmCGAAJgphpA0XsR00dSzz2kuq2Xu7FxfEnRvrvYto5wrAHwbDMkcgBpLwK6QAB1vzRWvMH7Ne+0TBy64Oskd60B6BV+MICeR/saews6OYDmtfbzSz710tjgXTE9ATTGJSrc1mVx3q8E0E2IATTxTYiDW2lvpQTQPBeocFsfFWwE0F2kARQP/JQPo9aHNrZ1cT5UP88W29wy9p/MHxdA715a9nlcfF+brpyR1dG1rKf4nFXsPrZc9ekHJVlsQxlZ5fGydipUR8RqZey0qJ22QQDdxoErIOG8ejaU518fl8FBXFbX1+RuAA3rgjUV35t20rYG79Kd8Z5ifwylP/+yHEu+StLt+tvm/RUpwarMWGs2chnKQYmmJoBub1wAZd+UUdOJJx55nX5gXLOhCxb9t5i6r/rOU1k/a44FkLjry8Mbb+j+yTsogNQy6gelBQF0G5MDqFjSsAA69tLYvgASe6QnA6jor1Q6M+dHqqQAcj6IOyGdVilDKeVIAFXLIIB+xD2vgA6/trE/gE4UW86edxmrKyj7lh+7AtLLUErhCgj9ZgdQ3H1/fbGeHAM689LYvgA6+XNgJYDSPldl8UWh/aWkq0+GUYTBl8Yy5O1qqbBtDChuNmoAMQb0HToCSOiQNDWX93zOh/gunl1SIzv30tjOABLW17AqZUcli3N+y+9pWqIP8wuSdNamX8GUwpNP69sbr0jbrnqF+ly1Mo4FkNA4uPn62ngW7GuNHO8H5iCAvhYBhOsjgL4WAYTrI4AAmCGAAJghgACYIYAAmCGAAJghgACYIYAAmCGAAJghgACYIYAAmCGAAJghgACYIYAAmCGAAJghgACYIYAAmCGAAJghgACY+Q9rDTbErczt8QAAAABJRU5ErkJggg==" alt="" />

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

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

测试用例输出:

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

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

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

五、心得体会:

  在软件测试课程学习中,通过编写此程序,我对软件中 fault,error,failure 有了深刻的理解,当然在寻找触发error,但是不触发failure的用例,也花费了不少的时间。

结对编程——关于Fault、Error、Failure程序设计的更多相关文章

  1. 结对编程2—Fault&Error&Failure

    学习进度表 点滴成就 学习时间 新编写代码行数 博客量(篇) 学到知识点 第一周 8 0 0 了解软件工程 第二周 10 0 1 博文一篇 第三周 15 0 2 选择项目.调查问卷 第四周 20 80 ...

  2. 软件测试中的fault,error,failure

    问题:给定两段代码,设计fault,error,failure的测试用例. fault:即引起错误的原因,类似病因. error:类似疾病引起的内部结果. failure:类似疾病引起的症状. 代码1 ...

  3. 结对编程--fault,error,failure的程序设计

    一.结对编程内容: 1.不能触发Fault. 2.触发Fault,但是不触发Error. 3.触发Error,但不触发Failure. 二.结对编程人员 1.周浩,周宗耀 2.结对截图: 三.结对项目 ...

  4. 结对编程学习fault、error、failure三种状态

    点滴成就 学习时间 新编写代码行数 博客量(篇) 学习知识点 第一周 10小时 0 0 了解软件工程 第二周 10小时 0 1 项目开题 第三周 15小时 0 1 开通博客.开展项目调查 第四周 20 ...

  5. 结对项目——fault,error,failure的程序设计

    一.结对编程内容: 1.不能触发Fault. 2.触发Fault,但是不触发Error. 3.触发Error,但不触发Failure. 二.结对编程人员 1.周宗耀.周浩: 2.结对截图: 三.结对项 ...

  6. ST HW2 fault & error & failure

    Software Testing 3014218128 牛菲菲 Below are two faulty programs. Each includes a test case that result ...

  7. 软件测试作业 - fault error failure

    给出的题目如下: 我的解答如下: For program 1:1. where i > 0 is the fault , it should be changed to i>= 0 to ...

  8. 结对编程--fault,error,failure

    结对编程对象:叶小娟 对方博客地址:http://www.cnblogs.com/yxj63/ 双方贡献比例:1:1 结对照片: 结对题目:输入一定个数的数字,对其排序后输出最大值.   1 pack ...

  9. 结对编程之Fault、Error、Failure

    1.结对说明 结对对象:刘世麟  博客地址:http://www.cnblogs.com/liushilin/ 双方贡献:1:1 2.题目要求  构造程序,分别是:         •不能触发Faul ...

随机推荐

  1. C# winform解决解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题

    public frmMain() { InitializeComponent(); //解决窗体第一次设置为最大化后,点击最大化按钮窗体无法居中问题 int x = Convert.ToInt32(( ...

  2. go语言中间的循环

    在Go语言中只有很少的几个控制结构,它没有while或者do-while循环. 但是它有for.switch.if.而且switch接受像for那样可选的初始化语句.下面来认识一下他们 一.if语句 ...

  3. velocity基础教程--1.标准使用(zhuan)

    http://llying.iteye.com/blog/387253 **************************** velocity是一个非常好用的模板引擎 这里不对项目进行详细介绍,可 ...

  4. WEB网页插件 如何实现 选择上传图片路径 【高级问题】

    发表于 2010-10-22 12:11 | |只看楼主       按键精灵程序里面的WEB网页插件 如何实现 选择上传图片路径 我想在上传图片的选框设置图片路径为 C:\fakepath\001. ...

  5. HTML5游戏实战(4): 20行代码实现FlappyBird

    这个系列很久没有更新了.几个月前有位读者调侃说,能不能一行代码做一个游戏呢.呵呵,接下来一段时间,我天天都在想这个问题,怎么能让GameBuilder+CanTK进一步简化游戏的开发呢.经过几个月的努 ...

  6. [翻译]了解ASP.NET底层架构(八)

    原文地址:http://www.cnblogs.com/tmfc/archive/2006/09/04/493304.html [翻译]了解ASP.NET底层架构(完) [翻译]了解ASP.NET底层 ...

  7. R语言与正态性检验

    1.Kolmogorov-Smirnov正态性检验 Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法,若两者间的差距很小,则推论该样本取自某 ...

  8. nyoj------203三国志

    三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5  描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下,地 ...

  9. HDUOJ----2485 Destroying the bus stations(2008北京现场赛A题)

    Destroying the bus stations                                                                          ...

  10. emmet使用笔记及sublime常用快捷键

    2015.10.07补: 格式化JS代码: 安装JSformat插件,选中需要格式化的JS代码,Ctrl+Alt+f 使用笔记看:http://www.w3cplus.com/tools/emmet- ...