点滴成就

学习时间

新编写代码行数

博客量(篇)

学习知识点

第一周

10小时

0

0

了解软件工程

第二周

10小时

0

1

项目开题

第三周

15小时

0

1

开通博客、开展项目调查

第四周

20小时

200

1

需求文档、用例图、代码规范

第五周

15小时

0

0

软件工程

第六周

20小时

310

0

编译原理、软件工程详细设计

第七周

18小时

88

1

软件工程

第八周

20小时

371

1

Android、编译原理、软件工程

1、编程问题

构造程序达到以下测试要求,分别是:

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

2、编程的出发点

和同伴一起相互学习,相互监督,相互促进,共同提高。

结队编程对象:高莉萍

对方博客地址:http://www.cnblogs.com/gAoliping/

双方贡献比例:1:1

3、编程细节

(1)采用语言:java

(2)主要类:包名(softwareEngineering.testFaultErrorAndFailure)、function(功能实现类)、Tester(结果输出)

(3)主要代码:

A、类名:Tester

package softwareEngineering.testFaultErrorAndFailure;

/**

* @function 编写的一个求几个数字平均数的小 demo,测试 fault、error、failure 这几种状态

* @author zy

*

*/

public class Tester {

public static void main(String[] args) throws Exception {

int[] aIntNums = { 0, 4, 5 };

/*

* 没有 fault 测试

*/

double dubcount1 = Function.getCountFromAIntOK(aIntNums);

System.out.println("没有 fault 的测试输出" + dubcount1);

/*

* 触发 fault,不触发 error 的测试

*/

double dubcount2 = Function.getAverageFromAIntDetanateErrorNoFailure(aIntNums);

System.out.println("触发 fault,不触发 error 的测试输出" + dubcount2);

/*

* 触发 error,不触发 failure 的测试

*/

double dubAverage2 = Function.getAverageFromAIntDetanateErrorNoFailure(aIntNums);

System.out.println("触发 error,不触发 failure 的测试输出" + dubAverage2);

}// end main

}// end class

B、类名:Function

package softwareEngineering.testFaultErrorAndFailure;

public class Function {

/**

* @function 计算一个 aInt 的和(没有 fault )

* @return

*/

public static double getCountFromAIntOK(int[] nums) throws Exception {

int intCount = 0;

if (nums.length > 0) {

for (int i = 0; i < nums.length; i++) {

intCount += nums[i];

}// end for

} else {

throw new Exception("传入参数数组长度为 ---> 0");

}// end if else

return intCount;

}// end

/**

* @function 计算一个 aInt 的和(触发 fault 不触发 Error )

* @reason fault 产生的原因:对数组的遍历操作从 index = 1 开始

* @return

*/

public static double getCountFromAIntDetanateFaultNoError(int[] nums)

throws Exception {

double dubCount = -999999;

if (nums.length >= 1) {

for (int i = 1; i < nums.length; i++) {

dubCount += nums[i];

}// end for

} else {

throw new Exception("传入参数数组长度为 ---> 0");

}// end if else

return dubCount;

}// end

/**

* @function 计算一个 aInt 的和(触发 fault 不触发 Error )

* @reason fault 产生的原因:对数组的遍历操作从 index = 1 开始

* @return

*/

public static double getCountFromAIntDetanateErrorNoFailure(int[] nums)

throws Exception {

int intCount = 0;

if (nums.length >= 1) {

for (int i = 1; i < nums.length; i++) {

intCount += nums[i];

}// end for

} else {

throw new Exception("传入参数数组长度为 ---> 0");

}// end if else

return intCount;

}// end

/**

* @function 计算一个 aInt 的和(触发 fault 不触发 Error )

* @reason fault 产生的原因:对数组的遍历操作从 index = 1 开始

* @return

*/

public static double getAverageFromAIntDetanateErrorNoFailure(int[] nums)

throws Exception {

double dubCount = Function.getCountFromAIntDetanateErrorNoFailure(nums);

double dubAverage = dubCount / nums.length;

return dubAverage;

}// end

}// end class

(4)测试结果输出截图

(5)结对编程照片

4、结果分析

数据源是 int[] aIntNums = { 0, 4, 5 };

(1)没有 fault 测试

① 操作:对 aIntNums 求和

② 输出结果:9.0

③ 分析:getCountFromAIntOK(int[] nums)函数没有 fault

(2)触发 fault,不触发 error 的测试

① 操作:对 aIntNums 求和

② 输出结果:9.0

③ 分析:getCountFromAIntDetanateFaultNoError(int[] nums)函数:触发 fault,不触发 error

(3)触发 error,不触发 failure 的测试

① 操作:对 aIntNums 求平均数

② 输出结果:3.0

③ 分析:getAverageFromAIntDetanateErrorNoFailure(int[] nums)函数:触发 error,不触发 failure

5、项目总结

1) 结果

① 结对编程实现了预期的功能

② 对fault、error、failure 这三种状态有了进一步的了解;

2) 不足

① 编程过程中只是为了可以的实现目标,没有更进一步的了解 fault、error、failure 这三种状态;

结对编程学习fault、error、failure三种状态的更多相关文章

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

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

  2. Hibernate学习2--对象的三种状态以及映射关系的简单配置

    上篇hibernate的博客总体简单梳理了对象持久化的一些思想以及hibernate中对象持久化化的方法,下面说说对象持久化过程的三种状态. 一.hibernate缓存的概念 1.session与缓存 ...

  3. JAVA并发编程学习笔记------线程的三种创建方式

    创建线程一般有如下几个方式: 1. 通过继承Thread类来创建一个线程: /** * 步骤1:定义一个继承Thread类的子类 * 步骤2:构造子类的一个对象 * 步骤3:启动线程: * */ pu ...

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

    一.问题描述:         构造程序,分别是:         •不能触发Fault         •触发Fault,但是不能触发Error         •触发Error,但是不能产生Fai ...

  5. 结对项目3-bug的三种状态

    这周和小伙伴结对构造程序,来深刻理解软件测试中,bug发现的三种状态. 1:不能触发Fault 2:触发Fault,但是不能触发Error 3:触发Error,但是不能产生Failure 我们完成的代 ...

  6. 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...

  7. Hibernate学习(二)———— 一级缓存和三种状态解析

    一.一级缓存和快照 什么是一级缓存呢? 很简单,每次hibernate跟数据库打交道时,都是通过session来对要操作的对象取得关联,然后在进行操作,那么具体的过程是什么样的呢? 1.首先sessi ...

  8. 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比

    [原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...

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

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

随机推荐

  1. html学习笔记--标签大全

    一.HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(DTD).   标签:a 说明:标明超链接的起始或目的位置.   标签:acronym 说明:标明缩写词.   ...

  2. 树莓派ubuntu系统下修改config.txt文件 树莓派config.txt文件修改记录

    原文:https://www.raspberrypi.org/documentation/configuration/config-txt.md译文:http://my.oschina.net/fun ...

  3. 记账本app(1)

    今天开始做做这个app了,加油,目前在看视频,明天正式入手

  4. flex datagrid checkbox选中项目

    <?xml version="1.0" encoding="utf-8"?>  <mx:Application xmlns:fx=" ...

  5. C语言复习20170821

    函数 函数头部参数表里的变量称为形参,也是内部变量,只能在函数体内访问. 形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参.没有形参的 ...

  6. 2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业

    2017-2018-1 20155327 <信息安全系统设计基础>课堂测试&课下作业 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep ...

  7. 13 tcp3次握手 4次释放 mac和ip 访问百度的过程

    1.mac地址和ip地址的不同 (传棒棒糖) 需求:192.168.1.1  ping 192.168.2.1 1):获取默认的网关mac地址 2)寻找下一个网关的mac地址 3)mac地址在变,寻找 ...

  8. Yii2 使用 faker 生成假数据

    测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库,可以生成姓名,电话,IP地址,密码,ISBN等等你能想到的或者你想不到的各种类型的假数据. Yii2.0已经集成该类库,不用再 ...

  9. 一次性搞定Session

    相信很多人遇到过同一个浏览器会出现Session覆盖问题.今天主要针对Session覆盖问题来看看Session是如何工作的.那么先看一张简单的图说明一下 上面的图大致的说明Session工作简单创建 ...

  10. .net core 部署 Docker 所遇到的几个问题

    1.Connection reset by peer 造成这个问题的主要原因是在program.cs 文件中,未加入端口: public static IWebHostBuilder CreateWe ...