点滴成就

学习时间

新编写代码行数

博客量(篇)

学习知识点

第一周

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. 快速认识LinkIt 7697开发板

    LinkIt 7697是一款多功能且价格亲民的开发板,可用来连接网络或你的各项装置,同时提供Wi-Fi及蓝芽两种联机功能.此开发板采用MediaTek MT7697芯片,比起其他类似的Wi-Fi/蓝芽 ...

  2. python IO模式(多路复用和异步IO深入理解)

    1.事件渠道模型.事件渠道为异步IO的原型. 2.IO模式,一次IO调用会经历两个阶段.一.等待数据阶段,将数据从网络或者是磁盘读取到系统内核(kennel) 二.将数据从内核拷贝到进程中. 基于这两 ...

  3. upload-labs19记录

    upload-labs19记录 本次做题为白盒,因为只是fuzz的话并不能学到什么,所以从漏洞源下手. 前端校验 Pass1 源码 function checkFile() { var file = ...

  4. 获取文件属性“详细信息” - StringFileInfo

    0.什么是StringFileInfo1.获取方法2.示例代码 参考链接: 1.MS docs - GetFileVersionInfoA:https://docs.microsoft.com/zh- ...

  5. 算法训练 K好数(C/C++)AC码

    蓝桥杯 算法训练 K好数 AC码 题目要求: 算法训练 K好数 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如 ...

  6. 20155334 2016-2017-2《Java程序设计》课程总结

    20155334 2016-2017-2<Java程序设计>课程总结 1. 每周作业链接汇总 题目 主要内容 二维码 预备作业1 不知道所以然的第一次博客 预备作业2 有关之前的C语言的调 ...

  7. cocos2dx2.0 帧动画的创建和播放过程 深入分析

    一.帧动画的创建过程帧动画的实现有四个不可或缺的类,如下:1.CCSpriteFrame:精灵帧信息.存储帧动画的每一帧的纹理基本信息. class CC_DLL CCSpriteFrame : pu ...

  8. 在Notepad++中为Python配置编译环境

    方法1:按下F5 输入d:\Python25\python.exe "$(FULL_CURRENT_PATH)" 其中"d:\Python25\python.exe&qu ...

  9. java nio实现文件复制

    public class TransferTo { public static void main(String[] args) throws Exception { FileChannel in = ...

  10. appium自动化环境搭建

    1.java开发环境JDK 2.android SDK(platform/platform tools/tools/build tools) 3.python下载安装(pip) 4.appium下载安 ...