您如何决定在测试套件中测试什么?

时间:2011-04-05 03:56:40

标签: unit-testing testing integration-testing functional-testing

我是一名实习项目的实习生,该项目有可能在代码库非常庞大的公司中引入大量错误。目前该公司没有为他们的任何项目实施自动化测试,所以我想开始编写代码测试,以便我可以告诉我什么时候打破了一些东西,但是我很难开发出一个值得做的直觉测试以及如何测试它。有些事情比其他事情更明显:测试字符串操作函数并不是太难,但为多线程自定义内存管理器编写的内容更为棘手。

如何为现有代码库设计测试以及测试的内容是什么?你如何弄清楚代码所做的基本假设?

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

对你来说没有简单的答案我很害怕。这只是一个难以进入的地方。

要应用的方法是

  • 确定能够提供最大爆发力的区域。 (这是你必须提出的 - 你的情况所特有的。)
  • 花时间了解该地区。确定该区域与代码库其余部分的交互。
  • 使用测试记录相同的内容 - 这些充当回归"恶习"这将在您进行后续更改时保留您的软件
  • 现在你有一个安全网可以在上面工作。您现在可以使用TDD方法开始进行增强/修复/更改。

这个想法是缓慢的代码库孤岛将出现在安全网之上,直到你达到收益递减的程度。如果您正在进入这个领域,那么Pangea上面发布的Michael feather的WELC书是必读的。

答案 2 :(得分:0)

已经提出并回答了类似的问题here

我的一些快速想法:

  • 一开始,添加新测试 编写代码,或者在新项目中 或对现有项目的更改。
  • 请勿触摸正在运行且未更改的代码。
  • 专注于功能 经常使用或者很关键。

主题真的很多,也许你应该尝试接受培训以获得概述。假设你在美国,你可以仔细看看here。这是他们的course content

他们还有一个很长的list of useful resources