假设您的任务是将测试框架添加到单元测试覆盖率非常低的现有代码库中。代码库还不是特别大,但是,它确实有一些地方不是很干净,或者不是很 OOP 或可测试。
我读过几个很好的答案:
- Adding unit tests to legacy code
- How to approach unit testing in a large project
- Best Option for Retrospective application of TDD into C# codebase
但我正在处理的项目是一个 Android 应用程序,因此它略有不同(提供了更多的 UI 组件)。
我有一些问题都与同一个问题有关:
- 回去进行大量测试的最佳方法是什么?
- 我如何确定首先测试哪些部分的优先级?
- 我是否从经常调用它的区域开始(是否有像这样的代码分析工具)?
- 还是我要回去查看过去错误数量最多的类?
- 我是否应该先编写集成测试(假设这是一个 Android 应用,而且集成测试可以防止损坏的单元测试/重构),然后再进行单元测试?
很抱歉提出所有问题,只是真的在寻找一种好的方法,更具体地说,是针对回顾性测试 Android 应用程序。
附言我很好奇人们是否知道可用于代码分析的好工具,这些工具有助于引起人们对代码库中单元测试最有帮助的区域的关注。
最佳答案
通常,当开始对现有应用程序进行单元测试时,您可能希望反复进行 - 您可能没有时间或人力进行大量前期投资,因此您希望添加单元测试作为所需的一部分工作:
- 在添加新功能时编写未测试 - 或者更好的是使用 TDD
- 修复 bug 时 - 在修复 bug 之前编写失败的单元测试
- 在重构旧代码时编写单元测试以确保没有引入回归总线
如果整个团队在几周内遵循上述三个步骤,您应该对您一直在更改的代码有很好的覆盖率——具体取决于项目的规模。
关于android - 如何向代码库追溯添加测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23617828/