《软件测试52讲》读书笔记 —— 互联网产品的测试策略

简介: 《软件测试52讲》读书笔记 —— 互联网产品的测试策略

互联网产品


一个字:快!

通常情况下,互联网产品要求全回归测试的执行时间不能超过 4 小时

如何在保证测试质量和测试覆盖率前提下,有效缩短测试执行时间呢?这就是今天的主题啦!

 

传统软件产品的测试策略设计


image.png


单元测试

一般是白盒测试,由开发工程自己完成

 

API测试

主要针对的是各模块暴露的接口,通常采用 灰盒测试 方法。

灰盒测试:是介于白盒测试和黑盒测试之间的一种测试技术,其核心思想是利用测试执行的代码覆盖率来指导测试用例的设计。

以 API 接口测试为例,首先以黑盒方式设计如何调用 API 的测试用例,同时在测试执行过程中统计代码覆盖率,然后根据代码覆盖率情况来补充更多、更有针对性的测试用例。

 

GUI测试

最接近软件真实用户使用行为的测试类型。通常是模拟真实用户使用软件的行为,并验证这些操作对应的结果是否正确

优点:实际模拟真实用户的行为

缺点:执行代价比加大

 

互联网产品的测试策略


image.png


重量级API测试,轻量级GUI测试,轻量级单元测试

  • 以中间层的 API 测试为重点做全面的测试
  • 轻量级的 GUI 测试,只覆盖最核心直接影响主营业务流程的 E2E 场景
  • 最上层的 GUI 测试通常利用探索式测试思维,以人工测试的方式发现尽可能多的潜在问题
  • 单元测试采用“分而治之”的思想,只对那些相对稳定并且核心的服务和模块开展全面的单元测试,而应用层或者上层业务只会做少量的单元测试

 

GUI测试

开发GUI自动化测试用例的时间非常有限

需求和客户端界面频繁的变化,导致GUI自动化测试效率会非常低

所以,互联网产品的GUI测试通常采用“手工为主,自动化为辅”的测试策略,手工测试往往利用探索性测试思维,针对新开发或者新修改的界面功能进行测试。

 

API测试

对于互联网产品来说,测试重点放在API测试才是最明智的选择,为啥呢?以下原因

  1. API 测试用例的开发与调试效率比 GUI 测试要高得多,而且测试用例的代码实现比较规范,通常就是准备测试数据,发起 request,验证 response 这几个标准步骤。【开发调试效率高】
  2. API 测试用例的执行稳定性远远高于 GUI 测试。 GUI 测试执行的稳定性始终是难题;API 测试天生就没有执行稳定性的问题,因为测试执行过程不依赖于任何界面上的操作,而是直接调用后端 API,且调用过程比较标准【稳定性高,独立性强,规范性好】
  3. 单个 API 测试用例的执行时间往往要比 GUI 测试短很多。当有大量 API 测试需要执行时,API 测试可以很方便地以并发的方式执行【执行时间短】
  4. 现在很多互联网产品采用了微服务架构,而对微服务的测试,本质上就是对不同的 Web Service 的测试,也就是 API 测试。【微服务测试即API测试】
  5. API 接口的改动一般比较少,即使有改动,绝大多数情况下也需要保证后向兼容性(Backward Compatibility),即保证原本的 API 调用方式维持不变。【改动效,后向兼容】

 

单元测试

互联网产品的全面单元测试只会应用在那些相对稳定和最核心的模块和服务上,而应用层或者上层业务服务很少会大规模开展单元测试。

相关文章
|
11月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
428 11
|
15天前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
177 116
|
15天前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
210 113
|
15天前
|
测试技术 持续交付 API
测试的艺术:掌握测试金字塔,构建高效测试策略
测试的艺术:掌握测试金字塔,构建高效测试策略
165 77
|
15天前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
202 114
|
15天前
|
敏捷开发 前端开发 测试技术
测试之道:重构你的测试策略 - 测试金字塔模型
测试之道:重构你的测试策略 - 测试金字塔模型
214 118
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
495 8
|
2月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
4月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
5月前
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
132 10