0

我是一个实习项目的实习生,这个项目有可能在一个拥有庞大代码基础的公司中引入大量bug。目前公司没有为他们的任何项目实施自动化测试,所以我想在我去的时候为代码开始编写测试,以便我可以告诉我什么时候打破某些东西,但是我很难直观地发现什么是值得的测试和如何测试。有些东西比其他东西更明显:测试字符串操作函数并不太难,但是为多线程定制内存管理器编写的内容更棘手。你如何决定在测试套件中测试什么?

如何去设计现有代码库的测试,你测试什么?你如何找出代码所做的基本假设?

回答

1

没有简单的答案对你我害怕。这仅仅是一个艰难的斑点是。

要应用的方法是

  • 确定提供地区最大收益,用于测试降压。 (这是你必须提出的 - 对你的情况唯一)。
  • 花时间了解该地区。确定该区域与其余代码库的交互。
  • 文档相同使用测试 - 这些充当回归“副”,将保留您的软件到位,而你做的后续变化
  • 现在你一个安全网,上面的工作。您现在可以开始使用TDD方法进行增强/修复/更改。

这个想法是缓慢的代码库孤岛将出现在安全网之上,直到你达到收益递减点。迈克尔羽毛的WELC书由上面的Pangea发布,如果您冒险进入这个领域,这是一本必读书。

0

类似的问题已经被问和回答here

从我的一些最新的想法:

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

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

他们也有很长的list of useful resources