博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对编程学习fault、error、failure三种状态
阅读量:5222 次
发布时间:2019-06-14

本文共 3480 字,大约阅读时间需要 11 分钟。

 

点滴成就

学习时间

新编写代码行数

博客量(篇)

学习知识点

第一周

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 这三种状态;

转载于:https://www.cnblogs.com/Master-zy/p/5411031.html

你可能感兴趣的文章
读书_2019年
查看>>
有道词典_每日一句_总贴
查看>>
读书汇总贴
查看>>
有道词典_每日一句_2019/09
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
微信公众号_Deejo说_2019
查看>>
ASC47B borderless
查看>>
MPT树详解
查看>>
最适合程序员转行的10大职业
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
数据表设计
查看>>
alluxio
查看>>
关于ajax回调数据类型为Json,如何获得他的值
查看>>
前端各种mate积累
查看>>
css深度选择器
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>