• 关于程序的单元测试


    通过这次小程序的测试,我发现自己在编写程序的时候考虑的不够全面,在课堂上我学到了很多的东西,例如测试软件的最小单位是模块或者函数,函数的许多部位值得测试,例如:

        Right-结果是否正确?
        B-是否所有的边界条件都是正确的?
        I-能查一下反向关联吗?
        C-能用其他手段交叉检查一下结果吗?
        E-你是否可以强制错误条件发生?
        P-是否满足性能要求?

      在编写程序是也要注意边界条件,也要满足一致性,我们期望的或产生的数据必须符合某种特定的格式。

    还要考虑有序性,区间性,引用/耦合性,存在性(给定的事物存在吗,为空,是否为0等),基数性,时间性。并且好的测试还应具有许多品质,例如:自动化,彻底的,可重复的,独立的,专业的。

    编写程序时还应注意到代码规范的问题,代码风格规范和代码设计规范,代码要注意简明,易读,无二义性。

    这次要测试的是一个输出数组中最大值的程序,在测试时我们很多人没有注意到很多细节的问题,例如如果输入的数全部相等,如果输入的数为空,如果输入的数全部是负数等等,在这种情况下我们的程序应该有相应的应急处理。下面是我的编写代码:

    #include<stdio.h>
      int Largest(int list[], int length)
            {
                   int i,max=0;
                   for(i = 0; i <length; i ++ )

                   {
                      if(list[i] > max) 
                      {
                        max=list[i];
                      }
                  }
                      return max;
            }

         int main()
      {
            int i,a[9],num,n;
            printf("请输入要输入数字的个数:");
            scanf("%d",&n);
            for(i=0;i<n;i++)
           {

           scanf("%d",&a[i]);
           }
              if (n!=0)
         {

              num=Largest(a,n);
              printf("输出最大值:%d\n",num);

          }
              else
      
               printf("没有最大值");
     

               return 0;
      }

  • 相关阅读:
    2013年工作中用到的10个命令:11-20
    2013年工作中用到的10个命令:11-20
    2013年工作中用到的10个命令:1-10
    OpenJDK源码研究笔记(十):枚举的高级用法,枚举实现接口,竟是别有洞天
    OpenJDK源码研究笔记(十):枚举的高级用法,枚举实现接口,竟是别有洞天
    Java实现 LeetCode 240 搜索二维矩阵 II(二)
    Java实现 LeetCode 239 滑动窗口最大值
    Java实现 LeetCode 239 滑动窗口最大值
    Java实现 LeetCode 239 滑动窗口最大值
    Java实现 LeetCode 238 除自身以外数组的乘积
  • 原文地址:https://www.cnblogs.com/feiji/p/3581030.html
Copyright © 2020-2023  润新知