• 结对编程2


    一、问题描述:

        构造程序,分别是:

          •不能触发Fault。
          •触发Fault,但是不能触发Error。
          •触发Error,但是不能产生Failure。
     
    二、结对说明:
          结对对象:叶银芳    博客地址:http://home.cnblogs.com/u/linuoxin/
          双方贡献:1:1
          编程照片:
          
    三、源代码:
         采用语言:java
     
     1 package com.yyf;
     2  
     3 import java.util.Scanner;
     4  
     5 public class Software {
     6     public static final int COUNT = 3;
     7  
     8     public static void main(String[] args) {
     9         // TODO Auto-generated method stub
    10  
    11  
    12             double result = 0, sum = 0;
    13             int num;
    14  
    15             Scanner in = new Scanner(System.in);
    16  
    17             System.out.print("请问要求几个平均数:num=");
    18             num = in.nextInt();
    19             double array[] = null;
    20             array = new double[num];
    21             /*
    22              * 输入数值
    23              */
    24             System.out.println("请输入具体数值:");
    25             for (int i = 0; i < num; i++) {
    26                 System.out.print("array[" + i + "]=");
    27                 array[i] = in.nextDouble();
    28  
    29             }
    30             if (array.length <= COUNT) {// 不触发fault
    31                 System.out.print("计算过程:sum=" );
    32                 for (int i = 0; i < array.length; i++) {
    33                     sum += array[i];
    34                     System.out.print(array[i]+"+");
    35                 }
    36                 result = sum / array.length;
    37  
    38             } else {// 有fault
    39                 System.out.print("计算过程:sum=" );
    40                 for (int i = 1; i < array.length; i++) {
    41                      
    42                     sum += array[i];
    43                     System.out.print(array[i]+"+");
    44                 }
    45                 if(array[0]!=0){
    46                     result=sum/(num-1);
    47                 }else{
    48                     result = sum / array.length;
    49                 }
    50             }
    51             System.out.println("所求平均值为:" + result);
    52             in.close();
    53     }
    54  
    55 }

    四、存在Fault代码:

     1                 System.out.print("计算过程:sum=" );
     2                 for (int i = 1; i < array.length; i++) {//说明:如果是用数组存储输入的数据,并求其平均值,应该是从说组下标0开始计算
     3                      
     4                     sum += array[i];
     5                     System.out.print(array[i]+"+");
     6                 }
     7                 if(array[0]!=0){
     8                     result=sum/(num-1);
     9                 }else{
    10                     result = sum / array.length;
    11                 }

    五、测试用例:

        •1. 存在fault,但是不能触发Fault。

        

    if (array.length <= COUNT) {// 不触发fault
                    System.out.print("计算过程:sum=" );
                    for (int i = 0; i < array.length; i++) {
                        sum += array[i];
                        System.out.print(array[i]+"+");
                    }
                    result = sum / array.length;
     

        •2.触发Fault,但是不能触发Error。

        

                    System.out.print("计算过程:sum=" );
                    for (int i = 1; i < array.length; i++) {
                        
                        sum += array[i];
                        System.out.print(array[i]+"+");
                    }

        •3.触发Error,但是不能产生Failure。

        

    六、总结: 

        这次结对项目是构造程序,通过程序的编写完成对error,fault,failure的认识,在写程序之初,我们对这几个概念进行了学习,然后设计了求平均数的题目,编写了以上程序,有了之前结对编程的经验,虽然这次换了一个结对对象,但进入状态还是要快一些,我的队友是一个很有耐心,思维活跃的人,在结对过程中,我们也有不同的看法,但很快在我们的分析讨论中也迎刃而解了。其实,我们这次的程序写得不是很完善,可能是因为我们对上面三个概念的理解也不是很深刻,了解很片面,在最后的结果分析中我们也认识到了这点,所以我们会在以后的编程练习中进一步学习这些知识。

        学习进度条:

    点滴成就

    学习时间

    新编写代码行数

    博客量(篇)

    学到的知识点

    第一周

    2h

    0

    0

    了解认识软件工程

    第二周

    2h

    0

    1

    了解软件工程思想

    第三周

    2h

    0

    1

    制作并进行问卷调查

    第四周

    4h

    100

    1

    需求分析与结对编程

    第五周

    4h

    240

    0

    Java的学习

    第六周

    3h

    0

    0

    初步学习“软件测试”

    第七周

    4h

    178

    1

    软件系统设计、结对编程

    第八周

    6h

    55

    1

    软件测试、结对编程对fault、error、failure的认识

     
  • 相关阅读:
    js高级1
    JUC总览
    7 种阻塞队列相关整理
    Exchanger 相关整理
    Semaphore 相关整理
    ConcurrentLinkedQueue 相关整理
    ConcurrentHashMap(1.8) 相关整理
    ConcurrentHashMap(1.7) 相关整理
    ReentrantReadWriteLock 相关整理
    LockSupport 工具相关整理
  • 原文地址:https://www.cnblogs.com/ciciCassie/p/5406948.html
Copyright © 2020-2023  润新知