软件测试策略
互联网产品的测试策略:
重量级API测试,轻量级GUI测试,轻量级单元测试
以中间层的 API 测试为中点做全面测试
轻量级的 GUI 测试:只覆盖最核心直接影响主营业务的 E2E 场景,利用探索式测试思维,以人工测试的方式发现尽可能多的潜在问题
单元测试:只对那些相对稳定且核心的服务和模块开展全面的单元测试,应用层或上层业务只会做少量的单元测试
GUI 测试:
开发 GUI 自动化测试用例的时间非常有限,需要和客户端界面频繁的变化,导致GUI 自动化测试效率会非常低。所以互联网产品的 GUI 测试通常采用“手工为主,自动化为辅” 的测试策略,手工测试往往利用探索性测试思维,针对新开发或者新修改的界面功能进行测试。
API 测试:
对于互联网产品来说,测试中点放在 API 测试才是最明智的选择,原因如下:
(1)API 测试用例的开发和调试效率比 GUI 测试高的多,而且测试用例的代码实现比较规范,通常就是准备测试数据,发起 request,验证 response 几个标准步骤。【开发效率高】
(2)API 测试用例的执行稳定性远远高于 GUI 测试,API 测试不依赖任何界面上的操作,直接调用后端 API,且调用过程比较标准。【稳定性高,独立性强,规范性好】
(3)单个 API 测试用例的执行时间往往要比 GUI 测试短很多,当有大量 API 测试需要执行时,API 测试可以很方便地并发执行。【执行时间短】
(4)现在很多互联网产品采用了微服务架构,而对微服务的测试,本质上就是对不同的 Web Service 的测试,也就是 API 测试。【微服务测试即 API 测试】
(5)API 接口的改动一般比较少,即使有改动也需要保证后向兼容,保证原本的 API 调用方式维持不变。【改动小,后向兼容】
单元测试:
互联网产品的全面单元测试只会应用在那些相对稳定和最核心的模块和服务上,而应用层或上层业务服务很少会大规模开展单元测试。
参考:https://www.cnblogs.com/poloyy/p/12207420.html