我对WhiteBox测试的世界相对较新,需要帮助我为我目前正在从事的一个项目设计测试计划。目前,我只是在寻找可测试的代码,然后为此编写一些单元测试。我以某种方式觉得这不是应该做的。请您可以给我建议如何为自己的测试做好准备吗?我可以使用的任何工具或测试计划模板吗?使用的语言是C ++,如果它会有所不同。

有帮助吗?

解决方案

白盒测试的目标之一是覆盖代码语句的100%(或尽可能接近)。我建议找到一个C ++代码覆盖工具,以便您可以查看测试执行的代码以及错过了什么代码。然后设计测试,以便测试尽可能多的代码。

另一个建议是查看IF仪,环,循环等的边界条件。并测试这些“灰色”区域,假阳性和虚假负面因素。

您还可以设计测试以查看重要变量的生命周期。测试他们的定义,用法和破坏,以确保它们被正确使用:)

有三个想法可以让您入门。祝你好运

其他提示

目前,我只是在寻找可测试的代码,然后为此编写一些单元测试。我以某种方式觉得这不是应该做的。

人们说,测试驱动的开发``它是您要牢记可测试性的组件设计的:它使您的组件更具测试。


我的个人(非TDD)方法如下:

  • 了解所需的功能和实现:“先验”(即通过阅读/了解软件功能规范),以及通过读取源代码来反向工程器的功能
  • 实现所有已实施/必需功能的黑匣子测试(例如,请参见'一个测试内部实施或仅测试公共行为?').

因此,我的测试不是完全“白色盒子”,除了我对正在测试的功能进行反向工程。然后,我测试了反向工程的功能,并避免使用任何无用(因此未经测试)代码。我可以(但经常)使用代码覆盖工具来查看黑匣子测试对源代码进行了多少。

尝试“有效地使用旧代码”: http://www.amazon.com/working-fective--legacy-michael-fethers/dp/0131177052

这很重要,因为“遗产”是指没有测试的代码。这也是一本相当不错的书。

相关工具是: http://code.google.com/p/googletest/http://code.google.com/p/gmock/可能还有其他单位测试和模拟框架,但我对此有所熟悉,我高度推荐它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top