lianyi 发表于 2006-12-14 11:43:56

单元测试思想之测试用例

  测试用例是什么?对于单元测试来说,一个测试用例,就是设定输入数据,运行被测试函数,然后判断实际输出是否符合预期。
  输入数据就是前置条件,就是被测试函数执行之前的相关数据的初始值,具体来说,就是被测试函数可能要读写的数据的初始值。函数可能要读写的数据有哪些?首先是参数,这个容易理解;第二是成员变量,前面说过,我们把成员变量作为函数输入输出的一部分,对于一个函数来说,通常不需要考虑所有的成员变量,而只考虑该函数要读写的成员变量;第三是全局变量;第四是外部数据,如保存在文件、数据库中的数据。一个函数无论多复杂,都无非是对这几类数据的读取、计算和写入。后两类数据比较少用,我们在测试中主要考虑的是前两类。除了数据方面,有时候,在执行一个函数之前,还需要先执行其他操作以便设置一些必需的环境,我们把这种操作叫做前置操作,也算是输入的一种吧。总结一下,测试用例的输入包括以下五类:参数、成员变量、全局变量,外部数据,前置操作。
  测试用例的输出就是后置条件,就是被测试函数执行之后的相关数据的结果值,包括:返回值,输出参数,修改了的成员变量,修改了的全局变量、修改了的外部数据。通常,在测试用例中,要自动判断输出是否符合预期,如果不符合,则自动报告错误。
  可以看出,测试用例定义了函数执行的前提条件,定义了函数执行后的应有的结果,也示出了如何使用该函数,因此,测试用例事实上也是详细的规格说明,并且是可执行的、自验证的规格说明,是很好的文档,客户通过阅读测试用例,通常可以很清楚地了解代码的功能和使用方法。
  好的测试用例应该是一个集合,该集合完整地定义了程序的行为,我们称为测试用例集。测试是否充分,就是指测试用例集是否完整。
  不要指望完全依靠由测试工具自动生成测试用例。单元测试最重要的是测试代码单元的功能是否正确,而测试工具是不可能自动了解程序功能的。
    设计测试用例是测试工作最费时,最困难的工作,要用人工方法设计出完整的测试集,常常是做不到的。幸运的是,使用VU,只要依据程序的功能,人工设计最容易想到的、典型的测试用例就行了,VU会统计白盒覆盖状况,并提供测试用例设计器帮您设计剩余的用例,最后,还提供自动边界测试捕捉“漏网之鱼”。

测啊 发表于 2009-8-19 14:26:56

有空下载来看看
页: [1]
查看完整版本: 单元测试思想之测试用例