• 结对编程学习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 这三种状态;

  • 相关阅读:
    centos安装MySQL5.7
    centos搭建ftp服务器的方法
    centos 7 卸载 mariadb 的正确命令
    MySQL5.7关于密码二三事
    第四次:渗透练习,xss学习
    第三次靶场练习:通过抓包,绕过内部限制
    第二次靶场练习:cookie注入
    第一次靶场练习:SQL注入(1)
    Linux用户和组管理
    Linux基础命令(三)
  • 原文地址:https://www.cnblogs.com/Master-zy/p/5411031.html
Copyright © 2020-2023  润新知