测试
来源:互联网 发布:图片美工怎么弄 编辑:程序博客网 时间:2024/06/05 02:59
单元测试用例概述 收藏
测试的目的是检查程序的行为是否符合设计规格,程序的行为就是某种输入时会产生什么输出,因此,一个典型的测试用例完成以下工作:设定输入数据、执行程序、验证输出是否符合预期。
函数的输入数据一般包括:
A、参数;
B、成员变量,只考虑函数需要读取的成员变量;
C、全局变量,只考虑函数需要读取的全局变量;
以上三项,当涉及到复杂数据类型时,只考虑函数需要读取的域,例如,一个结构对象,有十个域,而函数只读取其中一个域,则不必考虑其他九个域。
D、其他数据,如函数需要读取文件或数据库中的数据,则要先在文件或数据库中设置好这些数据。
显然,所有可能输入都进行测试,既不可能也无意义,我们应该用一定的规则选择有代表性的数据作为输入。输入可分为三大类:正常输入,边界输入,非法输入,每大类还可再分为若干小类,划分小类的依据是:同一小类中每个数据都具有等价的测试效果,也就是说,小类中取任取一个数据作为输入,如果测试通过,可以肯定同小类的其他输入也可以测试通过,这就是平常说的“等价类法”。
正常输入
例如字符串的Trim函数,功能是将字符串前后的空格去除,那么正常的输入可以有四类:
前面有空格;
后面有空格;
前后均有空格;
前后均无空格。
边界输入
上例中空字符串可以看作是边界输入。
再如一个表示年龄的参数,它的有效范围是0-100,那么边界输入有两个:0和100。
非正常输入
垃圾数据或使代码不能完成正常功能的数据,如一个文件操作的函数,非正常输入有这么几类:
文件不存在;
目录不存在;
文件正在被其他程序打开;
权限错误。
预期输出
一个完整的测试用例应该有预期输出,预期输出就是程序运行后的预期结果,通常表现在对某些数据的修改,即预期输出要自动判断程序所改写的数据的结果值是否符合预期。程序可能修改的数据包括:
A、返回值;
B、输出参数;
C、成员变量,只考虑函数所改写的成员变量;
D、全局变量,只考虑函数所改写的全局变量;
以上四项,当涉及到复杂数据类型时,只考虑函数所改写的域,例如,一个结构对象,有十个域,而函数只改写了其中一个域,则不必考虑其他九个域。
E、其他数据,如函数改写文件或数据库中的数据,也是一种输出,不过通常难于自动判断是否符合预期,可用人工查看来代替。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dellfox/archive/2009/10/28/4736701.aspx
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试~!
- 测试
- 测试
- 测试
- 测试
- 32位嵌入式汇编――计时
- c/c++调用mysql存储过程 收藏
- SQL
- Linux Windows,smb互访,中文是乱码的解决方法(转)
- linux设置时间服务器
- 测试
- 开个博客吧`` 让CSDN见证一下我软件生涯的点点滴滴
- 【转】利用windows计划任务定时调用BAT执行oracle数据库重建索引
- linux底层驱动模型之三:kobject应用实例
- ajaxControlToolkit面板类控件
- 一名平庸程序员的自白
- C# 中常用的经典文件操作方
- [Hibernate]使用XDoclet生成hbm.xml
- 毕业论文为网上电子图书超市 不会用eclipse