项目中QA同学需要针对不同项目特点,采用不同的测试手段,大家常用的测试手段包括:功能测试,接口测试,接口Mock测试等,那如何将这些测试手段应用到自己的项目中,形成特定的测试方案呢。下面会结合具体项目来作详细阐述。
一、接口自动化测试
项目名称:盘古类目体系改造
1、背景介绍
通过新老类目体系的相互映射,保证新老类目体系并行一段时间,待各个业务方完成由旧类目体系到新类目体系迁移完成,下线旧类目体系,全部切到使用新类目体系。APP会作为盘古的第一个接入方。
2、难点分析
本项目的核心是偏下游的基础服务,调用场景较多,且7000多个分类的新老数据映射,需要测试的case量巨大,完全基于功能层面去测试成本高,耗时长,且无法保证全量覆盖,可行性低
不同业务线业务场景不同,且有一些特殊场景存在,单纯的接口测试是不能覆盖业务线的实际应用场景的,且交互逻辑是否正确,最终还是要通过功能层面去验收
3、测试方案
全量自动化接口测试+业务场景功能测试
4、效果
全量接口自动化测试,大大提升了测试效率(详见表格),实现了case的全量覆盖,保证了测试质量;且沉淀下来的测试代码,项目后期维护阶段,可以复用进行回归测试
从用户功能角度做验收是必要的,发现业务特定场景下的细节问题,保障用户体验
二、提前产出测试工具
项目名称:我发布的列表页改版
1、任务展示逻辑及曝光策略测试
(1)难点分析
- 任务及曝光策略涉及到的条件都是结合Redis缓存的特定字段的时间戳或字段状态值来判断的,构造Redis里有代表性的时间戳和可能的状态值是可行的,但是构造的数据只有在隔天才会影响到Redis中特定值的变动,频繁的构造真实数据,进行客户端展现的测试,几乎是不可行的。
- 可不可以让server从代码里把时间间隔改小呢?沟通结论是不可行的,因为如果修改了,模拟测试,测试的不是真实逻辑,意义不大。
(2)测试方案 采用分层测试
- 真实构造可能的测试场景,生成Redis中具有代表性的时间戳和可能的状态值,并校验这些字段值是正确的
- 编写操作Redis的工具类,针对性的对Redis中的时间戳和状态字段进行增删改查,对客户端展示进行测试
2、不同量级的曝光数在客户端的展示样式
通过Mock接口字段的不同返回值,查看客户端的展示样式是否正常
综上,
- 通过提升QA自身的技术能力和代码能力,有助于丰富自身的测试手段,深入理解技术实现方案,从而制定合理的测试方案。
- 一个优秀的测试方案,除了它的有效性外,还需要做到可以对提测部分尽早介入测试,将问题尽早暴露出来,减少项目后期压力。
- 结合QA内部推行的冒烟流程等有利条件,可以提前准备好RD自测所需的数据构造,测试工具,接口case等,是实现QA从保姆型到辅助型的有效途径。
最后:软件测试资料分享一波!
技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。
愿你我相遇,皆有所获! 如果对软件测试、接口测试、自动化测试、面试经验交流。关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!