您的位置:首页 > 编程语言

结对编程学习fault、error、failure三种状态

2016-04-20 07:29 302 查看
点滴成就

学习时间

新编写代码行数

博客量(篇)

学习知识点

第一周

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 这三种状态;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: