点滴成就

学习时间

新编写代码行数

博客量(篇)

学习知识点

第一周

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. Go语言基础-序言

    2018年6月,第一次接触go语言,在之后通过多本书籍渐渐了解go语言之后,开启了自己go语言全栈工程师的道路.特此记录,希望能给后学的朋友提供一个方向. 语言是一门寻寻渐进的课程,结合自己这两个月的 ...

  2. Scala数组操作

    数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array ...

  3. vim 中文乱码问题

    编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936   set termencoding=utf ...

  4. 简单的Slony-I设置实例

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL集群方案相关索引页     回到顶级页面:PostgreSQL索引页 参考如下链接: http://lets.postg ...

  5. .net core 无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了

    使用vs 发布.net CORE 项目,调试遇到了“无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了”这个问题,弄了半天才发现是发布的时候没有设置为debug,做个总 ...

  6. 创龙6748开发板加载.out出现a data verification error occurred, file load failed

    1. 需要提前添加GEL文件 2. 找到GEL文件路径 3. 然后再加载.out文件

  7. T-SQL语句基础

    连接服务器 - 去哪个仓库找目标数据库 - 找仓库中的目标区域查找目标表 - 找货柜找数据(以行为基础单位) - 在货柜上找到目标的物品 基础T-Sql语句1.SQL语句的注释 2.创建数据库crea ...

  8. 「Leetcode」13. Roman to Integer(Java)

    分析 把具体的情况一个一个实现即可,没有什么幺蛾子. 代码 class Solution { public int romanToInt(String s) { int ans = 0; for (i ...

  9. centos7 python2.7.5 升级python3.6.4

    (转)Linux Centos7 升级python2至python3 - 依然范儿特西的文章 - 知乎 https://zhuanlan.zhihu.com/p/33660059 1 查看python ...

  10. 测试面试必会sql(1)

    测试一般各种查询语句用的较多,下面的查询语句都是需要熟悉的 Course表 Score表 Student表 Teacher表 1,查询课程编号为“02”的总成绩 SELECT * FROM `Scor ...