C/C++单元测试工具Visual Unit 4在线帮助


用例的输入

    用例的输入,就是逻辑块读取的数据,一般包括:
    A、函数的输入参数;
    B、成员变量,只考虑逻辑块需要读取的成员变量;
    C、全局变量,只考虑逻辑块需要读取的全局变量;
    D、底层输入,即调用底层函数取得的输入;
    E、局部输入,如静态局部变量、中断造成的全局变量修改,从界面读取的输入等;
    F、其他数据,如逻辑块需要读取文件或数据库中的数据,则要先在文件或数据库中设置好这些数据。

    当涉及到复杂数据类型时,只考虑逻辑块读取的域,例如,一个结构对象,有十个域,而逻辑块只读取其中一个域,则不必考虑其他九个域。

    程序的基本特性就是对数据进行分类处理,一个判定就是一次分类。用例的设计也一样,根据逻辑块的功能,对可能的输入进行分类,每类取一个数据做代表进行测试,这就是平常说的等价类法。输入可分为三大类:正常输入,边界输入,非法输入,每大类还可再分为若干小类, 如果小类划分正确,那么,同一小类中每个数据都具有等价的测试效果,也就是说,小类中任取一个数据作为输入,如果测试通过,可以肯定同小类的其他输入也可以测试通过 。

正常输入
    例如字符串的Trim函数,只有一个逻辑块,其功能是将字符串前后的空格去除,输入是一个字符串参数,那么正常的输入可以有四类:
    前面有空格;
    后面有空格;
    前后均有空格;
    前后均无空格。
   
边界输入
    上例中空字符串可以看作是边界输入。
    再如一个表示年龄的参数,它的有效范围是0-100,那么边界输入有两个:0和100。

非正常输入
    垃圾数据或使代码不能完成正常功能的数据,如一个文件操作的逻辑块,非正常输入有这么几类:
    文件不存在;
    目录不存在;
    文件正在被其他程序打开;
    权限错误。