结对编程学习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 ...
随机推荐
- 纪中OJ 2019.02.15【NOIP提高组】模拟 B 组 梦回三国 比赛题解(第一个)
声明 旁边的同学小 H(胡)对我说: “哟,比赛拿了 140,强!要知道,如果哥第三题 AC 了,哥就 230 了,你个废柴!!!(比赛实际分数 130 额呵)” 顿时,千万草泥马从我心中奔腾而过:你 ...
- struts2框架实例
一,Struts2框架介绍 它是一个View框架,对Servle进行了封装,使用核心过滤器对servlet进行了解耦,可以自动封装数据 核心是结果视图导航 二,程序实例 1.导入框架依赖包 2.注册框 ...
- c++ 全局变量
一.全局变量 声明 全局变量的定义和一般变量定义相同,不同的就是它的位置.一般会放在所有共享函数的前边. 作用 在函数间共享数据. 二.全局变量的运用 三.作业: 写出代码运行结果: ; //0 in ...
- 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Alignment模块用于检测人脸关键点,包括5个点,两个眼的中心.鼻尖.两个嘴角,以下是测试代码: int test_alignment() { std: ...
- P1546 最短网络(codevs | 2627村村通)
P1546 最短网络 Agri-Net 题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一 ...
- 2017"百度之星"程序设计大赛 - 初赛(A) 小C的倍数问题
谢谢帮忙刷访问量! 题解当然下考再发啦 答案为P-1的约数个数 // It is made by XZZ #include<cstdio> #include<algorithm> ...
- Spring学习(十)-----Spring依赖检查
在Spring中,可以使用依赖检查功能,以确保所要求的属性可设置或者注入. 依赖检查模式 4个依赖检查支持的模式: none – 没有依赖检查,这是默认的模式. simple – 如果基本类型(int ...
- python-前方高能-面向对象-进阶3
面向对象 你写代码的时候 什么时候用面向对象 代码量大,功能多的时候 处理比较复杂的角色之间的关系 qq 好友 陌生人 群 组 复杂的电商程序 公司/学校的人事管理/功能的系统 我的代码的清晰度更高了 ...
- Appium+python HTML测试报告(1)(转)
(原文:https://www.cnblogs.com/fancy0158/p/10054632.html) 测试任务执行完成后,我们需要一份通俗易懂的测试报告来展示自动化测试的结果. HTMLTes ...
- 第五章Web应用与应用层协议
Web应用与应用层协议 本篇博文中的主要参考文献是<计算机网络高级教程>,分别是吴功宜老先生和吴英教授合著.这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容 ...