白盒测试实例之七——单元测试的尝试

发表于:2009-2-18 14:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡添发    来源:CSDNBlog

关键字:白盒测试 单元测试 软件测试

  以测试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.

  23. if(isOutOfRange(1) == false)

  24. {

  25. printf("pass!\n");

  26. }

  27. else

  28. {

  29. printf("fail!\n");

  30. }

  31.

  32. }

  33.

  34.

  35. void main()

  36. {

  37. testIsOutOfRange_try();

  38. }

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

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

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

相关阅读:

白盒测试实例之六——单元测试的步骤

白盒测试实例之五——编码

白盒测试实例之四——程序设计

白盒测试实例之三——需求分析

白盒测试实例之二——答案

白盒测试实例之一——需求说明

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号