哎呀,当时怎么没有想到 | 京东云技术团队
在我们的测试工作中,是不是经常遇到这样的情形,发生了线上问题,产品、研发或者测试同学一拍脑袋:当时怎么没有想到,怎么给漏掉了呢?明明是一个非常简单的事情,用大拇指都能想到的验证场景,为何当时就漏测了呢?但实际情况是,逃逸到线上的缺陷,疑难杂症式的极端异常的问题很少,大部分都不复杂且可以在设计和开发中规避,或者在测试过程中被识别出来。针对此类问题,从测试覆盖度的角度,本文试图解释一下为何会发生这样的事情,以及如何有效规避。
一. 为什么经常会发生测试场景覆盖不全的问题
高质量的测试覆盖率是确保产品质量和用户体验的关键因素,但为何会经常发生测试场景覆盖不全的问题,这里面既有主观因素的缺失,也有客观因素的限制,具体包括:
1. 主观原因
2. 客观原因
二. 如何提升测试覆盖度
为了解决测试场景未覆盖导致线上问题的情况,进一步提升测试覆盖度,需要针对以上客观原因及主观原因进行分析,形成有针对性的对策。总结来说,在测前、测中及测后,提升"内因",把控“外因”,避免“三拍”。
1. 内因
提升测试覆盖度,“内因”是关键,即可以通过积极的质量策略以及专业能力的提升,大大减少测试覆盖度不足的情况。
2. 外因
提升测试覆盖度,“外因”是基础,即通过流程机制的约束及全流程的质量把控,层层把关,互相补位,从机制上降低测试场景遗漏发生的概率。通过规范化的质量活动对需求交付的各个阶段进行质量准入和准出,步步为营,形成强制性的“七道关卡”,只要是严格遵守这套流程机制,上一道关卡遗漏下来的问题,可能会被下一道关卡识别出来,因此,遗漏验证场景的从而导致缺陷逃逸到线上的概率会被大大降低。
总结一下,针对如何提升测试覆盖度,“内因”是关键,基本可以解决上述“主观原因”导致的测试覆盖不足的问题,“外因”是基础,基本可以解决上述“客观原因”导致的测试场景覆盖不足的问题。
三. 综述
总结来说,防止线上问题不能停留在口头上,或者简单粗暴地要求测试同学提升测试覆盖度,应该给与更加具体的要求、指导及评价的标准。其关键要素是流程机制确保基本的质量,专业能力进一步增进质量,主观能动性构建持续的高质量,只有不断提升“内因”并把控好“外因”,才能有效防范“漏测”问题的发生,持续交付稳定可靠的产品,并提供更好的用户体验。
作者:京东科技 王先科
来源:京东云开发者社区 转载请注明来源

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案
背景 看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题。使用zk-3.4配置即可适配3.4.x 解决办法(一) #切换到项目源码的根路径中执行 mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true' '-Dzk-3.4' 上述命令解释 mvn clean package 依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。 指定多线程编译,可以增加~ 拓展 -Dmaven.compile.fork=true 表示开启多线程 mvn -T 4 install -- will use 4 threads mvn -T 1C install -- will use 1 thread per ...
- 下一篇
解读工行专利CN112905176B
据国家知识产权局公告,中国工商银行股份有限公司近日取得一项名为 “基于 SpringBoot 的 web 系统后端实现方法及装置 “的专利,授权公告号 CN112905176B,申请日期为 2021 年 2 月。 这项专利很多程序员表示看不懂,或者直接认为是一个CRUD专利。我作为一个架构师,尝试从深到浅的解读一下这个专利,以及专利背后,工行架构师面临的架构困境。 从架构观点来看,此专利本质上“配置驱动的业务开发专利”,用于解决系统架构中易修改性,可观测的难题。 架构师困境 我们知道,架构主要目标是对软件系统分解成较小更容易实现的元素,如模块或者子系统,并能让这些元素协同完成业务需求,对于通常的程序员视角来说,架构貌似就是画几个框,然后连上线即可。 如下是一个分布式系统最简单的架构。看着很简单的俩框一线,但架构师却需要考虑的非常多,这也是架构师和普通程序员区别 A服务的架构师需要考虑 如果服务B不可用,服务A如何保证高可用.比如宕机,故障,虚机漂移,网络故障 如果服务B出现阻塞,性能下降,服务A如何保性能不受影响 服务A调用服务B,是否一定需要等待服务B的响应,能否解耦A和B调用,避免...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品