zoukankan      html  css  js  c++  java
  • 第二次作业+105032014124

    1、测试帖连接:http://www.cnblogs.com/Tichocan/p/6576087.html

       源码连接:http://www.cnblogs.com/xiaojuangao/p/6531078.html

     

    2、测试人员提出的问题、发现的缺陷

      原代码中无用的判断语句过多,可以优化逻辑,简化一个判断。

     

    3、修正后的代码清单

     

     1 package 软件测试实验1;
     2 import java.util.Arrays;
     3 import java.util.Scanner;
     4 
     5 public class test01 {
     6     public static void main(String[] args){
     7         int[] length=new int[3];
     8         String result=null;
     9         boolean flag=true;
    10         Scanner sc = new Scanner(System.in);
    11         while(flag){
    12            System.out.print("***********************
    ");
    13            System.out.print("请输入三角形的三条边
    ");
    14            System.out.print("第一条边:");
    15            length[0]=sc.nextInt(); 
    16            System.out.print("第二条边:");
    17            length[1]=sc.nextInt();   
    18            System.out.print("第三条边:");
    19            length[2]=sc.nextInt();
    20            Arrays.sort(length);//对三条边进行排序
    21            if(length[0]<1||length[2]>100){
    22                System.out.print("Attention!边的值不在范围内!!");
    23            }
    24            else
    25            {
    26                result=triangle(length[0],length[1],length[2]);
    27                System.out.print(length[0]+","+length[1]+","+length[2]+"可构成"+result);
    28                System.out.print("
    ***********************
    ");
    29                
    30            }
    31            System.out.print("是否要继续输入数据?1:Yes 2:No");
    32            String temp=sc.next();
    33            switch(temp)
    34             {
    35                case"1":
    36                    flag=true;
    37                    break;
    38                case"2":
    39                    flag=false;
    40                    System.out.print("您已退出程序");
    41                    break;
    42             }
    43         }
    44     }
    45     
    46     public static String triangle(int a,int b,int c){
    47         String sort=null;
    48         /*
    49          * //修改处:因为对三条边进行排序,所以判断语句会比较简单。
    50          */
    51         if((a+b>c)&&((c-b)<a)){
    52             if((a==b)||(b==c)){
    53                     sort="等腰三角形";
    54             }
    55             else if(a==c){
    56                 sort="等边三角形";
    57             }
    58             else if(a*a+b*b==c*c)
    59                 sort="直角三角形";
    60             else 
    61                 sort="一般三角形";
    62         }
    63         else{
    64             sort="不能构成三角形";
    65     }
    66         return sort;
    67 }
    68 }

    4、修正后的心得体会

    1)、代码变更:

         对三角形的三条边进行排序,简化判断三角形形状的语句

         (在代码中加入while语句,可以方便测试与使用,所以这部分代码仍保留)

    2)、心得与体会

       看了测试人员的测试结果和建议后,我觉得有一定的道理:先对三角形的三条边进行排序,这样,在进行是否构成三角形、等腰三角形、等边三角形、直角三角形的时候可以简化判断语句。其实,之前在编写代码的时候,我也有对三角形三条边进行排序,后来发现题目要求:条件1a100,条件2   1b100;条件3   1c100 ,所以我就觉得排序删了会比较好。

       我觉得,一个比较好的程序,离不开开发人员与测试人员的共同努力,所以,开发者与测试者要经常交流沟通,这样可以优化程序。

       在这次实验中,我既是开发人员,也对别的同学写的代码进行了语句覆盖、判定覆盖的测试,用到了课堂上学的软测的知识,学以致用。

     

  • 相关阅读:
    我要好offer之 二叉树大总结
    我要好offer之 字符串相关大总结
    楼层扔鸡蛋问题[转]
    Linux System Programming 学习笔记(十一) 时间
    Linux System Programming 学习笔记(十) 信号
    Linux System Programming 学习笔记(九) 内存管理
    Linux System Programming 学习笔记(八) 文件和目录管理
    Linux System Programming 学习笔记(七) 线程
    Linux System Programming 学习笔记(六) 进程调度
    APUE 学习笔记(十一) 网络IPC:套接字
  • 原文地址:https://www.cnblogs.com/xiaojuangao/p/6627104.html
Copyright © 2011-2022 走看看