我对WhiteBox测试世界相对较新,需要帮助设计我目前正在进行的项目中的一个项目的测试计划。目前我正在寻找可测试的代码片段,然后为此编写一些单元测试。我不知何故觉得到目前为止还没有应该做的事情。请您就如何最好地准备自己测试这个项目给我建议?我可以使用的任何工具或测试计划模板?正在使用的语言是C ++,如果它会有所不同。
答案 0 :(得分:3)
白盒测试的目标之一是覆盖100%(或尽可能接近)的代码语句。我建议找一个C ++代码覆盖工具,这样你就可以看到测试执行的代码和错过的代码。然后设计测试,以便测试尽可能多的代码。
另一个建议是查看if语句,for循环,while循环等中的边界条件,并针对任何“灰色”区域,误报和漏报测试这些条件。
您还可以设计测试以查看重要变量的生命周期。测试他们的定义,使用和破坏,以确保正确使用它们:)
有三个想法可以帮助您入门。祝你好运
答案 1 :(得分:2)
目前我正在寻找可测试的代码片段,然后为此编写一些单元测试。我不知何故觉得到目前为止还没有应该做的事情。
人们说'test driven development'的主要好处之一就是它会让您在设计组件时考虑到可测试性:它使您的组件更易于测试。
我的个人(非TDD)方法如下:
因此我的测试不是'白盒',除了我对正在测试的功能进行反向工程。然后,我测试反向工程功能,避免使用任何无用(因此未经测试)的代码。我可以(但不经常)使用代码覆盖工具来查看黑盒测试执行了多少源代码。
答案 2 :(得分:2)
尝试“有效使用旧版代码”:http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
这是相关的,因为'遗产'他意味着代码没有测试。这本书也是一本不错的书。
相关工具包括:http://code.google.com/p/googletest/和http://code.google.com/p/gmock/ 可能还有其他单元测试和模拟框架,但我对这些很熟悉并且我非常推荐它们。