zoukankan      html  css  js  c++  java
  • 关于程序的单元测试

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

        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;
      }

  • 相关阅读:
    Error Domain=com.google.greenhouse Code=-102
    给分类(Category)添加属性
    Eclipse 4.4(luna) 安装Veloeclipse 2.0.8时报错的问题
    MAVEN常用命令
    Redis之七种武器
    Redis系统性介绍
    Nginx、LVS及HAProxy负载均衡软件的优缺点详解
    Redis介绍以及安装(Linux)
    MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置
    MYSQL + MHA +keepalive + VIP安装配置(二)--MHA的配置
  • 原文地址:https://www.cnblogs.com/feiji/p/3581030.html
Copyright © 2011-2022 走看看