传统软件产品的测试策略设计
1、单元测试
单元测试占比最重
单元测试属于白盒范畴,由于越早发现缺陷修复成本越低,所有传统软件产品的测试策略提倡对单元测试高投入,由于传统软件开发周期长,通常多个版本持续发布,为快速定位问题,会反复执行单元测试
2、API测试
API测试少于单元测试,但多于GUI测试
主要针对各模块暴露的接口,通常采用灰盒测试方法,核心思想是利用测试执行的代码覆盖率来指导测试用例设计。
3、GUI测试
GUI测试占比较轻
GUI测试是模拟用户在软件界面上进行操作,并验证这些操作结果是否正确,由于GUI测试用例维护和执行代价大,稳定性不足,所有GUI
互联网产品的测试策略
1、GUI测试
轻量级GUI测试,互联网产品上线周期短,决定了GUI测试不能大范围开展
(1)产品迭代周期短,留个开放GUI自动化测试用例的时间有限
(2)客户端界面变化频繁,GUI自动化效率太低
GUI测试通常采用“手工为主,自动化为辅”的测试策略,手工针对新开发或修改的功能,GUI自动化覆盖主营业务的端到端场景
2、API测试
重量级API测试:
(1)API测试用例的开发调试效率高于GUI测试
(2)API测试用例的执行稳定性高于GUI测试
(3)单个API测试用例的执行时间短于GUI测试
(4)很多互联网产品采用微服务架构,客户端应用都基于对后端微服务的调用
(5)API接口改动量少,用例可重用性高
3、单元测试
轻量级单元测试,互联网产品追求“快”,预留单元测试的时间不多,所以采用“分而治之”的思想
互联网产品分为应用层和后端服务,后端服务分为应用服务和基础服务,只对后端基础服务全面单元测试,以及对核心算法和关键应用也进行全面单元测试