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

  • 相关阅读:
    [react002] component基本用法
    [react001] 使用webpack自动构建react 项目
    [Elixir009]像GenServer一样用behaviour来规范接口
    [Elixir008]Nested Module里的动态函数调用方式
    [Elixir007] on_definition规范函数定义时的各种潜规则
    [Elixir006]CSV(Comma-separated values)处理
    [Elixir005] 查看指定数据的详细信息 i helper
    [Elixir004]通过环境变量(Environment Variables)来管理config
    [Elixir003] Mix Archives
    [Elixir002]节点启动后自动连接其它节点
  • 原文地址:https://www.cnblogs.com/feiji/p/3581030.html
Copyright © 2011-2022 走看看