基础概念
按照Google官方建议,Android测试体系应该参照测试金字塔架构(如下图所示),App应该包含三类测试(即小型、中型和大型测试):
- 小型测试是指单元测试,用于验证应用的行为,一次验证一个类。
- 中型测试是指集成测试,用于验证模块内堆栈级别之间的交互或相关模块间的交互。
- 大型测试是指端到端测试,用于验证跨越了应用的多个模块的用户UI点击操作流程。
沿着金字塔逐级向上,从小型测试到大型测试,各类测试的保真度(对于用户的真实感受)逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,我们编写的单元测试应多于集成测试,集成测试应多于端到端测试。虽然各类测试的比例可能会因应用的用例不同而异,但我们通常建议各类测试所占比例如下:小型测试占 70%,中型测试占 20%,大型测试占 10%。
今天我们主要讨论的是占比70%的小型测试,也叫单元测试。