结对编程学习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 ...
随机推荐
- Selenium_python自动化环境搭建篇
説 明: 本篇随笔讲解Selenium+python自动化环境的搭建,此随笔暂不介绍Selenium3,Selenium3需要考虑环境依赖驱动等相关问提比较多一篇随笔没法説完,所以暂不介绍,当然你可以 ...
- Angular Elements
Angular Elements Angular Elements 就是打包成自定义元素的 Angular 组件.所谓自定义元素就是一套与具体框架无关的用于定义新 HTML 元素的 Web 标准. 自 ...
- (数据科学学习手札55)利用ggthemr来美化ggplot2图像
一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...
- 114. Unique Paths [by Java]
Description A robot is located at the top-left corner of a m x n grid. The robot can only move eithe ...
- vue中组件间的传参
1.父传子 父组件准备一个数据,通过自定义属性给子组件赋值,进行传递 在子组件中通过 props 属性来接收参数 <body> <div id="app"> ...
- Eclipse怎么恢复默认界面
Eclipse里面将界面恢复到默认状态: 1.选择Eclipse的工具栏里面的“窗口(Window)”,找到“复位透视图(Reset Perspective)”选项: 2.单击“复位透视图(Reset ...
- 20155207实验2 Windows口令破解
20155207实验2 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和 ...
- Java程序设计 第16周 课堂实践 —— 数据库4
Java程序设计 第16周 课堂实践 -- 数据库4 课堂实践任务4 查询world数据库,查询哪个国家的平均寿命最长. 代码分析 实现查询数据库需要我们修改Message.java,MessageD ...
- 20155305乔磊2016-2017-2《Java程序设计》第一周学习总结
学习考核方式后感 老师对于成绩的获得有很多细节的地方,获得高分很不容易,考核次数也很多,100分分为课堂考核,实验,团队项目,老师对我们的要求可以说非常的严格,我也为有一个要求严格的老师感到幸运荣幸. ...
- 20155316 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 学习主要内容:基本类型介绍及流程控制简介 关键点:关键记住JAVA的大体框架,可以类比C语言结合着记.相较于C不同且值得关注的主要信息有: 基本类型的不同:byte.boolean. ...