zoukankan      html  css  js  c++  java
  • 软件单元测试与代码规范

    一、单元测试
            (1)单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。
            (2)单元测试的对象:软件设计的最小单位——模块或函数
            (3)单元测试的目的:1、为了提高软件开发效率和质量2.统一单元测试风格3、保证文档与单元
                                          4、测试编码的一致性5、方便开发人员进行单元测试的开发 6、使单元测试能够有效正常的自动执行
             下面是一个要单元测试的函数
    int Largest(int list[], int length)
    {
        int i,max;
        for(i = 0; i < (length – 1); i ++ )
        {
              if(list[i] > max) 
              {
                  max=list[i];
                }
         }
         return max;
    }

    该函数是求词组中最大值

       很明显大家都会看到这个函数的一些错误(1)max 没赋初值(2)for函数中的长度不对

       进行测试时我们可能只会考虑 9 8 7,2 5 8等一些常规的例子

       在实际上我们还要考虑一些特殊的例子如:负数 -4 - 6  -9,有相等的情况 7 2  9  9,只有一个元素情况 8,甚至还要考虑

       数组长度为0,数组为空的情况

       总之,在测试的时候我们不能只以我们的思想去测试,还要考虑不懂这些的人的想法,

       如边界条件,输入不合规定的情况,考虑各种可能的错误。

    改正后的代码是

    int Largest(int list[], int length)
    {
        if(length==0||list==NULL)
        {
          printf("输入数组有误!");
              return 0;
        }
        
        int i,max=list[0];
        for(i = 0; i < length; i ++ )
        {
              if(list[i] > max) 
              {
                  max=list[i];
                }
         }
         return max;
    }

    二、代码规范

        “代码规范”可以分成两个部分

        1)代码风格规范  (2)代码设计规范

    代码规范注重以下几点

    1、代码风格的原则是:简明,易读,无二义性。
    2、代码的缩进控制到四个空格,用tab键换行,行宽必须限制,
    3、在复杂的条件表达式中,用括号清楚地表示逻辑优先级。
    4、代码分行  不要把多行语句放在一行上  断行与空白的{ }行,{和}各占单独一行
    5、命名规范 ,匈牙利命名法
    6、注释规范 ,注释是用来解释程序做什么(What),为什么这样做(Why),复杂的注释应该放在函数头
    7、还应该注意大小写,下划线等问题
     

        

      

  • 相关阅读:
    【noi 2.5_1789】算24(dfs)
    【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
    【bzoj 1190】梦幻岛宝珠(DP)
    【bzoj 3333】排队计划(线段树)
    【noi 2.5_7834】分成互质组(dfs)
    【noi 2.5_1792】迷宫(bfs 或 dfs)
    【noi 2.2_7891】一元三次方程求解(二分枚举+输出程序运行时间)
    JFrame包含的容器(JRootPane)
    JFrame背景色设置
    java自动装箱的一个例子
  • 原文地址:https://www.cnblogs.com/lan-meng/p/3580262.html
Copyright © 2011-2022 走看看