这里主要发表单元测试领域的原创技术文章,以及Visual Unit相关资讯,欢迎您光临!

没有输入参数的接口函数如何设计测试用例?

上一篇 / 下一篇  2008-10-21 17:32:09 / 个人分类:测试用例

对于函数测试来说,一个用例,就是设定输入,执行程序,判断输出是否符合预期。
可能输入包括:参数、需读的成员变量、需读的全局变量、内部输入(调用子函数获得的输入);
可能输出包括:返回值、输出参数、被写的成员变量、被写的全局变量,内部输出(在程序执行过程中判断的中间输出)、动作(例如需判断程序在某种输入下是否调用了某个函数)。
简单来说,输入就是程序执行前或执行过程中读取的外部数据,输出就是程序所改写的数据。
了解了这些,就不会对没有参数、没有返回值如何测试产生疑问了。

测试没有参数的函数,它可能还有别的输入,例如全局变量,成员变量,或调用子函数获得的输入(这个要使用工具才能做到),只要函数需读取的,都应该设定初始值,如果完全没有,没有输入也是一种输入,照样测试就是了。 同样道理,输出也不仅仅是返回值,没有返回值还可能修改了全局变量什么的,这些也是要判断的输出。

但是,单元测试应该测试哪些比较复杂的程序,而不是只测试接口。对于只是读写一两个数据的接口,没什么好测试的,例如“DWORD GetInterfaceVersion ();//获取解码器版本号”,应该只是读取一个全局变量并返回,没有什么测试意义,要测的话,先设定那个全局变量的值,也一样测试,例如:
输入:SetInterfaceVersion (1234); //调用其他函数完成初始化,这个是外部输入,不是内部输入。
输出:ASSERT(GetInterfaceVersion () == 1234);
不过这样做没什么意义。

更具体的单元测试技术,建议看一下视频教程《单元测试讲座》,下载地址:http://www.kailesoft.cn/download/

以上是对这个帖子的回复,类似问题比较多见。http://www.51testing.com/spacecp.php?action=spaceblogs&op=add&openwindow=1


TAG: 测试用例

 

评分:0

我来说两句

Open Toolbar