一、金字塔模型
- 越往上,越接近QA、业务/最终用户,越往下,越接近底层;
- 越往上,测试执行越慢,越往下,测试执行越快;
- 越往上,测试成本越高(越耗时,失败时的信息越模糊,越难跟踪),越往下,测试成本越低
单元测试 | 接口测试 | UI测试 |
能够提供最快的反馈,在开发环境中就能辅助重构, 提升代码质量。一般情况由开发完成。 | 不易变化,维护成本较低,性价比高。模块之间的数据返回,不同系统之间的数据交换。由测试人员在测试环境完成 | 功能测试,更贴近用户的行为,模拟用户操作,更注重用户的操作行为,验证的是业务流程。缺点是成本高,性价比低。 |
自动化测试三大原则:高频(不断运行)、隔离(独立运行,不受其他数据的依赖)、用完即抛(跑一遍就立即释放)
Google的自动化分层投入占比是:单元测试(70%)+全面的接口测试(20%-25%)+少量的UI测试 (5%-10%)