• 结对编程3


    点滴成就

    学习时间

    新编写代码行数

    博客量(篇)

    学习知识点

    第一周

    10小时

     0

     0

    了解软件工程

    第二周

    10小时

     0

     1

     项目开题

    第三周

    15小时

     0

     1

     开通博客、开展项目调查

    第四周

    20小时

     200

    1

     需求文档、用例图、代码规范

    第五周

    15小时

    0

    0

    软件工程

    第六周

    20小时

      291

    0

    编译原理、软件工程详细设计

    第七周

    18小时

    91

    1

    软件工程

    第八周

    20小时

    330

    1

    Android、编译原理、软件工程

    1、编程问题

    构造程序达到以下测试要求,分别是:

    • 不能触发Fault
    • 触发Fault,但是不能触发Error
    • 触发Error,但是不能产生Failure

    2、编程的出发点

    和同伴一起相互学习,相互监督,相互促进,共同提高。

    结队编程对象:邹阳

    对方博客地址:http://www.cnblogs.com/Master-zy/

    双方贡献比例: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 这三种状态;

    ---恢复内容结束---

  • 相关阅读:
    MySql日期与时间函数
    Redis内存分析工具redis-rdb-tools
    MYSQL5.7脚本运行时出现[Warning] Using a password on the command line interface can be insecure
    Prometheus
    Shopt命令(删除排除)
    Nginx配置跨域支持功能
    Nginx之 try_files 指令
    Grafana使用阿里云短信的报警实现
    用python发送短消息(基于阿里云平台)
    同步pod时区与node主机保持一致
  • 原文地址:https://www.cnblogs.com/gAoliping/p/5416120.html
Copyright © 2020-2023  润新知