结对编程学习fault、error、failure三种状态
|
点滴成就 |
学习时间 |
新编写代码行数 |
博客量(篇) |
学习知识点 |
|
第一周 |
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三种状态的更多相关文章
- 结对编程2—Fault&Error&Failure
学习进度表 点滴成就 学习时间 新编写代码行数 博客量(篇) 学到知识点 第一周 8 0 0 了解软件工程 第二周 10 0 1 博文一篇 第三周 15 0 2 选择项目.调查问卷 第四周 20 80 ...
- Hibernate学习2--对象的三种状态以及映射关系的简单配置
上篇hibernate的博客总体简单梳理了对象持久化的一些思想以及hibernate中对象持久化化的方法,下面说说对象持久化过程的三种状态. 一.hibernate缓存的概念 1.session与缓存 ...
- JAVA并发编程学习笔记------线程的三种创建方式
创建线程一般有如下几个方式: 1. 通过继承Thread类来创建一个线程: /** * 步骤1:定义一个继承Thread类的子类 * 步骤2:构造子类的一个对象 * 步骤3:启动线程: * */ pu ...
- 结对编程——关于Fault、Error、Failure程序设计
一.问题描述: 构造程序,分别是: •不能触发Fault •触发Fault,但是不能触发Error •触发Error,但是不能产生Fai ...
- 结对项目3-bug的三种状态
这周和小伙伴结对构造程序,来深刻理解软件测试中,bug发现的三种状态. 1:不能触发Fault 2:触发Fault,但是不能触发Error 3:触发Error,但是不能产生Failure 我们完成的代 ...
- 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...
- Hibernate学习(二)———— 一级缓存和三种状态解析
一.一级缓存和快照 什么是一级缓存呢? 很简单,每次hibernate跟数据库打交道时,都是通过session来对要操作的对象取得关联,然后在进行操作,那么具体的过程是什么样的呢? 1.首先sessi ...
- 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比
[原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...
- 软件测试中的fault,error,failure
问题:给定两段代码,设计fault,error,failure的测试用例. fault:即引起错误的原因,类似病因. error:类似疾病引起的内部结果. failure:类似疾病引起的症状. 代码1 ...
随机推荐
- Go语言基础-序言
2018年6月,第一次接触go语言,在之后通过多本书籍渐渐了解go语言之后,开启了自己go语言全栈工程师的道路.特此记录,希望能给后学的朋友提供一个方向. 语言是一门寻寻渐进的课程,结合自己这两个月的 ...
- Scala数组操作
数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array ...
- vim 中文乱码问题
编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf ...
- 简单的Slony-I设置实例
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL集群方案相关索引页 回到顶级页面:PostgreSQL索引页 参考如下链接: http://lets.postg ...
- .net core 无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了
使用vs 发布.net CORE 项目,调试遇到了“无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了”这个问题,弄了半天才发现是发布的时候没有设置为debug,做个总 ...
- 创龙6748开发板加载.out出现a data verification error occurred, file load failed
1. 需要提前添加GEL文件 2. 找到GEL文件路径 3. 然后再加载.out文件
- T-SQL语句基础
连接服务器 - 去哪个仓库找目标数据库 - 找仓库中的目标区域查找目标表 - 找货柜找数据(以行为基础单位) - 在货柜上找到目标的物品 基础T-Sql语句1.SQL语句的注释 2.创建数据库crea ...
- 「Leetcode」13. Roman to Integer(Java)
分析 把具体的情况一个一个实现即可,没有什么幺蛾子. 代码 class Solution { public int romanToInt(String s) { int ans = 0; for (i ...
- centos7 python2.7.5 升级python3.6.4
(转)Linux Centos7 升级python2至python3 - 依然范儿特西的文章 - 知乎 https://zhuanlan.zhihu.com/p/33660059 1 查看python ...
- 测试面试必会sql(1)
测试一般各种查询语句用的较多,下面的查询语句都是需要熟悉的 Course表 Score表 Student表 Teacher表 1,查询课程编号为“02”的总成绩 SELECT * FROM `Scor ...