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

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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EasyTDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值