一张趣图引发的思考
本周有同事分享了一个有意思的图片,图片大体的意思是:一个测试工程师通过专业的测试手段,覆盖了功能和性能等各种场景,等项目上线后却因为一个遗漏项导致系统崩溃。
该图片引发出同事的热烈讨论,不过大部分给到的解决方案还是增加灰度和试用环节。其方向主要是测试右移。那还有没有其他解决方案可以避免线上遗漏问题的呢?
为什么会产生漏测
在回答这个问题之前我们先分析下为什么会有漏测产生?按照以往的测试经验来看,主要可以分以下一些原因:
1. 需求分析不到位导致遗漏部分测试场景
2. 技术架构不清楚导致遗漏部分测试场景
3. 测试计划和策略不合理导致的测试方案或防范不全面导致的遗漏
4. 测试用例设计不合理,遗漏了部分测试场景
4. 测试用例没有仔细执行导致漏测
5. 项目为了快速迭代,导致测试版本分散或者频繁提测,导致集成测试没有做好
6. 项目发布阶段没有做好灰度
7. ………
根据以上分析,遗漏可能出现在项目的各个阶段,分散在各个环节,需要测试人员在项目的各个阶段进行测试覆盖。
怎么做才能减少漏测
按照上一节的结论,测试人员怎么在软件生命周期的各个环节做好测试覆盖才能控制质量减少遗漏问题呢?
这里引入测试左移和右移思想,需要测试人员在项目的生命周期各阶段都介入测试。
1. 通过精准的需求分析技术厘清需求功能,减少遗漏场景
2. 了解和熟悉项目的原理,了解技术架构及实现原理,多和开发沟通了解开发技术以及开发过程中存在的问题
3. 多参与需求、技术、测试、项目流程评审,从中发现遗漏项
3. 多和有经验的同学沟通请教
4. 测试用例编写需要考虑多场景和技术,横向测试技术及范围覆盖,纵向功能深度的覆盖,以及合理的用例优化,并且需要重视测试评审环节
5. 要重视探索性测试覆盖
5. 需要有合理的灰度计划
6. 尽可能多增加自动化测试
接下来我会展开讨论以上的一些环节怎么落实进行,这篇文章也是一篇敲门砖,关于测试领域的一些思考会陆续分享期待和大家探讨,错误和不足的地方也希望各位同行不吝指正。
备注:引起遗漏的问题也不一定仅是测试人员,也有可能是项目配置不合理导致,总的来说就是项目上的某个环节出现了纰漏导致问题遗漏,终极质量控制还得是通过优化项目流程,这个是另外一个方向话题了。我后面也会写相关文章和大家一起探讨怎么通过优化项目过程来展开质量控制。
网友评论