(七)白盒测试实例--单元测试的尝试

 以测试isOutOfRange函数为例,首先知道该函数在整个软件架构中处于最底层(叶子),所以对它进行测试并不需要写桩模块,只需要写驱动模块。要注意的问题是:对于测试结果是否通过测试不要使用printf方式打印被测试函数的返回结果值,否则就需要人工去检查结果了。

  使用边界值的方法可以得到5个测试用例,写的驱动模块代码如下:

  TestTriangle.cpp:

  1. /*
  2.  * Copyright (c) 2008, 胡添发(hutianfa@163.com)
  3.  * 
  4.  * 单元测试与集成测试
  5.  *
  6.  */
  7. #include "Triangle.h"
  8. /*
  9.  * 测试isOutOfRange函数,使用边界值的方法(0,1,5,199,200)
  10.  * 
  11.  */
  12. void testIsOutOfRange_try()
  13. {   
  14.     if(isOutOfRange(0) == true)
  15.     {
  16.         printf("pass!\n");
  17.     }
  18.     else
  19.     {
  20.         printf("fail!\n");
  21.     }
  22.     if(isOutOfRange(1) == false)
  23.     {
  24.         printf("pass!\n");
  25.     }
  26.     else
  27.     {
  28.         printf("fail!\n");
  29.     }
  30. }

  31. void main()
  32. {
  33.        testIsOutOfRange_try();
  34. }

 

小知识:做单元测试的时候,一般不直接在main函数中写所有的测试代码,否则的话,main函数将会非常庞大。正确的做法:针对每个函数分别创建一个或若干个(函数比较复杂时)测试函数,测试函数的名称习惯以test开头。

写到这里发现重复的代码太多了,而且如果测试用例数量很多的话,对于测试结果的检查也将是很大的工作量。在测试有错误的时候,这样的单元测试结果也很难获得更多关于错误的信息。

        解决问题的途径可以采用cppUnit单元测试框架。不过这里为了让学生能够对单元测试和单元测试框架有进一步的理解,我决定自己写一个类似cppUnit的简单的测试框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值