目录
前言:
测试方法论是指用于规划、执行和评估软件测试的一系列方法、工具和技术。它是软件开发过程中不可或缺的一部分,旨在确保软件的质量和可靠性。测试方法论的重要性源于它能够帮助我们更好地理解软件的特性和行为,从而发现潜在的问题和缺陷。
第一步,测试活动分解质量阶段
不同公司可能存在差异,以笔者公司为例:
- 需求和技术方案评审;
- 测试设计;
- 线下测试;
- 线上测试;
- 线上监控。
第二步,每个阶段的工作,都要为质量服务
需求和技术方案评审
- 外部评审:测试不是被动的接受,应该和产品、开发一起脑暴,发现设计缺陷、技术风险和隐患、关联方影响等(不具备该能力的可通过内部评审进行实训锻炼);
- 内部评审:团队内部对技术方案进行评审、实训,找出关注点、风险点(团队能力普遍较高的可以裁减)。
目的:此阶段是质量的基石,通过测试左移,尽早发现需求设计缺陷、技术方案风险、接口设计缺陷、性能设计缺陷、关联方依赖影响,了解测试关注点,关注可测试性等问题。
测试设计
- 用例设计:除了对业务的理解,还需要扎实的基本功(边界值、等价类划分、正交等);
- 场景设计:正常场景、异常场景、补偿场景,场景流的每个关键节点都要列出检查项,如何模拟特殊场景,是一种挑战;
- 数据准备:前后端之间、组件之间、己方和第三方之间的联调,测试应该提前准备好相关方案,如 Mock 接口、Mock 数据。
目的:此阶段是质量的骨架,通过测试设计,覆盖更多的测试点、模拟更多的场景、做好更充分的测试准备,为质量保驾护航,为测试赢得更多宝贵的时间。
线下测试
- 接口测试:需要遵循严格的接口测试规范执行,例如:必填项、取值范围、默认值、分页、单接口耗时、冗余、联动、数据落地正确性、安全性等;
- 单点覆盖:严格按测试用例执行,例如:功能和需求是否一致、db 数据正确性、健壮性、安全性、友好性、内存泄露等;
- 横向覆盖:对于一个场景,从开始到结束涉及到的关键节点,都要进行检查点覆盖,包括功能实现、数据读取、数据计算、数据写入的正确性;
- 纵向覆盖:正常场景、异常场景、补偿场景都要覆盖;
- 探索性测试:以上之外,可以凭个人经验进行探索测试;
- 回归测试:拉取回归测试集,并确保主流程的横向覆盖、纵向覆盖、自动化回归等;
- 性能测试:前端性能测试(什么情况用异步请求、什么情况只能用同步请求、渲染、压缩、什么是正确姿势),后端性能测试(如何对结果分析定位问题)。
目的:此阶段是质量的成型,通过测试设计的充分准备、线下测试的严格、立体的执行,发现和解决绝大部分问题。
线上测试
- 新功能测试:拉取线上快速验证测试集,并确保主流程的横向覆盖、纵向覆盖;
- 回归测试:拉取线上回归测试集,并确保主流程的横向覆盖、纵向覆盖;
- 性能测试:全链路压测(数据隔离)。
目的:此阶段是版本质量终态,线上测试主要是为了确保代码部署、生产配置、生产环境对质量的影响。
线上监控
目的:此阶段是质量补偿,快速响应和解决,降低生产事故造成的损失。
总结,质量取决于团队的能力
首先,要找到合适的方法论,其次,同样的方法论,执行效果还是取决于人的能力。所以,千万不要忽视对人的培养。
作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。
(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)
相信能使你更好的进步!
点击下方小卡片