结对编程学习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 ...
随机推荐
- 短连接、长连接、轮询、长轮询、WebSocket
短连接 建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接 定义:短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送. 应 ...
- 基于MATLAB的多项式数据拟合方法研究-毕业论文
摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...
- # 第二周课堂实践以及MyOD
第二周课堂实践以及MyOD 之前使用的虚拟机出现问题被我删掉了,开始学着使用Mac系统自带的终端.在课堂上出现了问题,询问王雄老师也没有解决,课下先使用了实验楼环境进行实验,后来又在Mac重新进行了尝 ...
- logstash patterns github
USERNAME [a-zA-Z0-9._-]+ USER %{USERNAME} INT (?:[+-]?(?:[0-9]+)) BASE10NUM (?<![0-9.+-])(?>[+ ...
- Storyboarding by Scripting
Storyboarding by Scripting In the .osu file, under [Events]:Note: underscores can be replaced with s ...
- 记boost在gcc的一个库链接问题generic_category()
报错大致如下: main.cpp:(.text+0x49): undefined reference to `boost::system::generic_category()'main.cpp:(. ...
- Spring之HandlerInterceptor拦截器
思维导图下载:https://pan.baidu.com/s/19z73Bs8MsHFAupga3Cr3Gg
- 【LG3321】[SDOI2015]序列统计
[LG3321][SDOI2015]序列统计 题面 洛谷 题解 前置芝士:原根 我们先看一下对于一个数\(p\),它的原根\(g\)有什么性质(好像就是定义): \(g^0\%p,g^1\%p,g^2 ...
- DSP5509项目之用FFT识别钢琴音调(3)之ccs v6环境变量的配置
1. 添加头文件路径,没搞明白"${C5500_CSL_CG_ROOT}/include"里面的C5500_CSL_CG_ROOT是在哪里定义的? 2. 打开CCS的窗口,优选项配 ...
- 四、Django设置相关
1.全局设置 setttings文件 import os import sys # Build paths inside the project like this: os.path.join(BAS ...