其他分享
首页 > 其他分享> > 软件质量的基石:测试方法论

软件质量的基石:测试方法论

作者:互联网

本文首发于 TesterHome 社区,作者 @quqing, 原文链接
https://testerhome.com/topics/10842 ****

测试行业最难的命题不是测试技术,而是测试质量。

大家对这个场景都很熟悉:出现生产问题,解决问题,生产事故复盘、责任分配到人。

如果你所处的团队经常遇到这种情况,不是运气不好,也不必烧香拜佛,而是质量体系出了问题。

影响质量的因素是多方面的,尤其重要的是 测试方法论

第一步,测试活动分解质量阶段

不同公司可能存在差异,以笔者公司为例:

•需求和技术方案评审;•测试设计;•线下测试;•线上测试;•线上监控。

第二步,每个阶段的工作,都要为质量服务

需求和技术方案评审

•外部评审:测试不是被动的接受,应该和产品、开发一起脑暴,发现设计缺陷、技术风险和隐患、关联方影响等(不具备该能力的可通过内部评审进行实训锻炼);•内部评审:团队内部对技术方案进行评审、实训,找出关注点、风险点(团队能力普遍较高的可以裁减)。

目的:此阶段是质量的基石,通过测试左移,尽早发现需求设计缺陷、技术方案风险、接口设计缺陷、性能设计缺陷、关联方依赖影响,了解测试关注点,关注可测试性等问题。

测试设计

•用例设计:除了对业务的理解,还需要扎实的基本功(边界值、等价类划分、正交等);•场景设计:正常场景、异常场景、补偿场景,场景流的每个关键节点都要列出检查项,如何模拟特殊场景,是一种挑战;•数据准备:前后端之间、组件之间、己方和第三方之间的联调,测试应该提前准备好相关方案,如Mock接口、Mock数据。

目的:此阶段是质量的骨架,通过测试设计,覆盖更多的测试点、模拟更多的场景、做好更充分的测试准备,为质量保驾护航,为测试赢得更多宝贵的时间。

线下测试

•接口测试:需要遵循严格的接口测试规范执行,例如:必填项、取值范围、默认值、分页、单接口耗时、冗余、联动、数据落地正确性、安全性等;•单点覆盖:严格按测试用例执行,例如:功能和需求是否一致、db数据正确性、健壮性、安全性、友好性、内存泄露等;•横向覆盖:对于一个场景,从开始到结束涉及到的关键节点,都要进行检查点覆盖,包括功能实现、数据读取、数据计算、数据写入的正确性;•纵向覆盖:正常场景、异常场景、补偿场景都要覆盖;•探索性测试:以上之外,可以凭个人经验进行探索测试;•回归测试:拉取回归测试集,并确保主流程的横向覆盖、纵向覆盖、自动化回归等;•性能测试:前端性能测试(什么情况用异步请求、什么情况只能用同步请求、渲染、压缩、什么是正确姿势),后端性能测试(如何对结果分析定位问题)。

目的:此阶段是质量的成型,通过测试设计的充分准备、线下测试的严格、立体的执行,发现和解决绝大部分问题。

线上测试

•新功能测试:拉取线上快速验证测试集,并确保主流程的横向覆盖、纵向覆盖;•回归测试:拉取线上回归测试集,并确保主流程的横向覆盖、纵向覆盖;•性能测试:全链路压测(数据隔离)。

目的:此阶段是版本质量终态,线上测试主要是为了确保代码部署、生产配置、生产环境对质量的影响。

线上监控

目的:此阶段是质量补偿,快速响应和解决,降低生产事故造成的损失。

总结:质量取决于团队的能力

首先,要找到合适的方法论,其次,同样的方法论,执行效果还是取决于人的能力。所以,千万不要忽视对人的培养。 (end)

-

来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
点击获取更多信息

标签:场景,覆盖,接口,方法论,质量,测试,设计,软件,基石
来源: https://www.cnblogs.com/hogwarts/p/15848778.html