android - 如何向代码库追溯添加测试?

标签 android unit-testing testing refactoring integration-testing

假设您的任务是将测试框架添加到单元测试覆盖率非常低的现有代码库中。代码库还不是特别大,但是,它确实有一些地方不是很干净,或者不是很 OOP 或可测试。

我读过几个很好的答案:

但我正在处理的项目是一个 Android 应用程序,因此它略有不同(提供了更多的 UI 组件)。

我有一些问题都与同一个问题有关:

  1. 回去进行大量测试的最佳方法是什么?
  2. 我如何确定首先测试哪些部分的优先级?
    • 我是否从经常调用它的区域开始(是否有像这样的代码分析工具)?
    • 还是我要回去查看过去错误数量最多的类?
  3. 我是否应该先编写集成测试(假设这是一个 Android 应用,而且集成测试可以防止损坏的单元测试/重构),然后再进行单元测试?

很抱歉提出所有问题,只是真的在寻找一种好的方法,更具体地说,是针对回顾性测试 Android 应用程序。

附言我很好奇人们是否知道可用于代码分析的好工具,这些工具有助于引起人们对代码库中单元测试最有帮助的区域的关注。

最佳答案

通常,当开始对现有应用程序进行单元测试时,您可能希望反复进行 - 您可能没有时间或人力进行大量前期投资,因此您希望添加单元测试作为所需的一部分工作:

  1. 在添加新功能时编写未测试 - 或者更好的是使用 TDD
  2. 修复 bug 时 - 在修复 bug 之前编写失败的单元测试
  3. 在重构旧代码时编写单元测试以确保没有引入回归总线

如果整个团队在几周内遵循上述三个步骤,您应该对您一直在更改的代码有很好的覆盖率——具体取决于项目的规模。

关于android - 如何向代码库追溯添加测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23617828/

相关文章:

View 的 Android 拖动/动画

java - android中的河豚加密

unit-testing - 如何在go(golang)中测试未导出的(私有(private))函数?

java - 我是否需要测试接口(interface)的每个实现来测试接口(interface)?

php - 在 laravel 5.8 中为 try catch 编写单元测试

java - 如何根据元素大小为每行使用不同的列宽动态地将元素添加到 GridLayout?

android - 验证为什么对象只在第二次垃圾收集运行时被垃圾收集

node.js - JestJS 测试不会因错误而失败

testing - 在模拟器上运行 Telerik Test Studio 测试

java - 尽管预期和实际相似,但 junit 中的 ArrayList 相等不起作用