• 软件单元测试与规范


    测试代码

    查找list[]中的最大值:int Largest(int list[], int length);
     
      首份实现代码如下:
     
    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;
     
    }

    经过分析和调式,得出如下正确的代码

    #include "stdafx.h"
    int Largest(int list[], int length)
    { 
        int i,max;
        max=list[0];
        if(length==0)
        {
            printf("请重新输入数据");
        }
        else
        {
            for(i=0;i<=(length-1);i++)
            {
                if(list[i] > max)
                {
                    max=list[i];
                }
            }
            return max;
        }
    }
    int main(int argc, char* argv[])
    {
        int list1[1]={1};
        int list2[4]={0,2,1,2};
        int list3[3]={-2,-8,-1};
        int list4[0];
        int a;
        printf("测试数据1
    ");
        a=Largest(list1,1);
        printf("最大数:%d
    ",a);
        printf("测试数据2
    ");
        a=Largest(list2,4);
        printf("最大数:%d
    ",a);
        printf("测试数据3
    ");
        a=Largest(list3,3);
        printf("最大数是:%d
    ",a);
        printf("测试数据4
    ");
        a=Largest(list4,0);
    
    
    }

    《1》首先经测试得出源代码有些设计不符,比如要先给max赋初值,小编赋初值是把数组的第一个元素给了max;还有for循环条件应该是i<=(length-1)

    《2》测试用例有四个,分别是数组为一个元素,数组为四个元素,且其中有二个相同,数组为三个元素,都是负数,数组为空数组

    其结果如下

    通过这节课的学习,明白考虑问题应该更全面,我们应该站在客户的角度想问题,不能以自己的想法去测试软件,只有这样才能设计出更好的软件。

  • 相关阅读:
    java-Swatch的坑
    Java基本数据类型
    jQuery属性、事件、链式编程、$冲突
    jQuery页面改变大小事件,滑动页面事件
    JavaScript简介
    CSS页面布局格式
    CSS Float(浮动)
    css定位
    CSS知识点2
    CSS知识点1
  • 原文地址:https://www.cnblogs.com/zhangbo2011/p/3588606.html
Copyright © 2020-2023  润新知