阿里测试左移和开发赋能分享
此文章为转载,部分内容修改,请知悉。原文地址:https://mp.weixin.qq.com/s/DBcIXCij-BU8PVg6NswUpA
-----------------------------------------------------------------------------------------------------------------------------------
从事测试开发很长一段时间,一直不知道怎么去评价和衡量这个职业的目标是什么,超高的自动化测试覆盖率?或者超稳定超包容的自动化测试框架?
怎么才算得上是一个优秀的测试开发人员?上2周有机会去听了阿里2天的公开课,好像明白了一些,拿来跟大家分享一下。
内建质量
在微软有一句名言:“质量是设计出来,而不是测出来的。” 当然,这是理想情况。今天我们不说产品设计,我们从测试和开发的角度看,怎么内建质量。
让测试内建质量
为了内建质量,测试同学就要尽可能早地干预开发写bug,让bug死在摇篮里。换句话说就是让开发不要写出可以避免的bug:
- 产品,开发,测试应该同时参与需求评审会议,澄清需求,达成共识
- 将关键测试点形成冒烟测试用例,让开发同学交付需求前执行并自测通过
让开发内建质量
从开发的角度看,要提高代码的质量可以有很多种方式:
- 提高自测意识,借助单元测试或者质量分析工具
- 真正理解需求和技术架构,进行Code Review或者结对编程
- 采用管理手段,将代码质量或者bug数量跟绩效挂钩
排除开发的自身能力问题,80%的bug都是需求理解不准确的问题,如果开发不愿背这个锅,那么就要主动与产品沟通需求,主动理解需求。
测试左移
上面我们说内建质量其实已经涉及到了测试左移,例如让测试在参与需求研讨时提出问题,列出测试点其实已经开始在进行测试了。
为什么我们要测试左移呢?因为发现问题的时间越晚,修复的成本就越高。
图中橙色线条代表了传统测试发现缺陷的时间,大多数bug都是在功能测试和集成测试时发现的,最后导致的结果就是发布前加班加点,祈祷不要有bug漏到生产环境。
如果我们能把测试活动向左移动,那么就意味着修复成本大幅下降。
但是谈何容易?想要把大部分测试点放在单元测试环境完成,非常依赖成熟的开发环境和极其资深的开发人员。
在阿里是这样实践的,让测试给开发赋能。
开发赋能
从字面上解释就是,测试同学给开发赋于一定的能力,让他们有能力去完成测试,比如:
- 降低测试门槛
- 使用测试工具(自动化)
- 获取测试数据
- 培养测试意识
举个例子,开发同学在完成需求代码后,可以点击一个按钮得到测试数据,再点击一个按钮验证测试覆盖点,喝杯咖啡后就可以看到测试报告。
从上面这个例子看,开发同学其实他并不需要懂测试数据的设计,自动化测试的开发,测试报告的编排,但是他依然可以快速完成需求测试(门槛低),只要他养成习惯(培养意识)。
那么你就会说,这对测试的同学要求是不是很高啊?对啊,回到开篇的问题,如何评判一个测试人员的能力?在我看来就是评判他给开发和团队赋能的能力。在阿里是这样,在微软和谷歌也是这样。
一个优秀的测试人员将测试左移时,并不会将负担转移给开发。相反地,而是帮开发写出更高质量的代码,更高效率地交付需求。
那么测试能左移到什么程度呢?比如让开发在Coding时就发现问题,或者还没Coding就发现问题,那应该是极好的。
怎么做到呢?刚才已经说过了,测试即需求,把bug扼杀在摇篮里。
实践方法
想实践测试左移可以有很多种方法,每个组织需要根据实践情况进行裁剪和调整。
- 参与需求评审,帮助开发理解需求
- 参与架构、设计分析,提早预防问题
- 践行BDD(Behavior-Driven Development 行为驱动开发),TDD(Test Driven Development 测试驱动开发)
- 单元测试必须,接口测试必须
- 提供模拟数据能力,测试工具
- 制定提测标准,拒绝低质量代码
- 回归测试自动化
- 静态代码分析,单元测试覆盖率(可以采用Sonar)
测试左移的概念给整个测试角色带来了巨大的转变。软件测试不仅仅是“发现bug”,而是致力于“尽可能早的检测和预防bug”。
------------------------------------------------------------------------------------------------------------------------------------
本篇文章来自资深测试开发Toby, 微信公众号“哎妈呀Bug”, 在公众号里回复 ”哎妈呀Bug“,可以拿到此培训课件的思维导图。
转载于:https://www.cnblogs.com/emma-lucas/articles/10717991.html
阿里测试左移和开发赋能分享相关推荐
- 阿里10年测试大佬带你搞懂测试左移和右移
看到我们论坛一个测试开发知识体系,对于测试左移和右移, 有点不太懂,看了2篇文章,强行提笔总结了下,还有部分内容是直接翻译的.关于测试左移和右移.测试左移中提到了尽早的发现问题.以及持续集成.尽可能的 ...
- 七月刚入职的阿里测试开发岗-高频知识整理,内附面试题答案
本文是将自己在面试前找工作的部分笔记重新整理了下,不少内容当时是查阅的知乎.博客园.书籍等.我自己在牛客上也学习了很多面经和经验帖,收获了好几家大厂offer.最近整理出来这些,希望能对找测开岗的朋友 ...
- 阿里-测试开发工程师-18年暑期实习-一面
阿里-测试开发工程师-18年暑期实习-一面 30min面试时间,电话面试,全问简历,没有单独的技术问题.主要是实习,然后两个项目,再问比赛.然后测试相关工具. 1.自我介绍(学校排名念了一下,项目实习 ...
- 重磅推出:分享阿里云大学前端开发学习路线链接
重磅推出:分享阿里云大学前端开发学习路线链接 这是一份阿里云大学推出前端开发学习路线,适合入门.也适合刚入职场一两年的小伙伴,来一个基础知识进行加深视频学习.内容言简意赅,通过demo练习等来理解学习 ...
- 阿里测试工程师聊:软件测试需要学什么?
本文 从 阿里测试工程师亲身经历的角度,和大家聊聊测试一行学习成长的经历. 对自动化测试个人看法 自动化是一个老生常谈的话题,也是一个软件领域非常有技术广度和技术深度的活动,特别是在大型软件的生命 周 ...
- IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践
1.引言 在IM客户端的使用场景中,基于本地数据的全文检索功能扮演着重要的角色,最常用的比如:查找聊天记录.联系人,就像下图这样. ▲ 微信的聊天记录查找功能 类似于IM中的聊天记录查找.联系人搜索这 ...
- 都在说测试左移和右移,只有这篇文章说明白了
大家熟悉的测试工作(也是传统的瀑布式),是接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试.提bug.回归,测试通过后就结束了,项目交给运维上线,之后投入下一个项 ...
- 开发者干货合集!阿里开源,移动开发,机器学习等海量资源限时开放!...
2019阿里云云上Hi购季活动已经于2月25日正式开启,从已开放的活动页面来看,活动分为三个阶段: 2月25日-3月04日的活动报名阶段.3月04日-3月16日的新购满返+5折抢购阶段.3月16日-3 ...
- 【腾讯TMQ】【测试左移专栏】手机管家PiTest测试左移实践
作者:CC 团队:腾讯移动品质中心TMQ [引入] 说起"测试左移"相信对于大家来说已经不再陌生,左移的也手段非常多,无论是使用NLP来做需求分析,还是使用ACC来做测试建模,目的 ...
最新文章
- 数据结构与算法(7-3)最小生成树(普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法)
- 判断一个图是否为树(有向图以及无向图)
- Mysql:查询当天、今天、本周、上周、本月、上月、本季度、本年的数据
- apollo mqtt linux qt,MQTT第5版更新,以及如何应用到Qt MQTT模块中
- bigdecimal 和负数比较_Java中BigDecimal精度和相等比较的坑
- centos 安装 redmine 2.6.0.stable
- python--装饰器(附偏函数、断言)
- 黑客高手对决常用术语及行规,一般人我不告诉他
- 中科大博士写外挂被抓,非法牟利300多万!
- java 运行 出现选择_Eclipse 运行出现java.lang.NoClassDefFoundError的解决方法
- 咱中国女人太贪钱? 其实真不怨她们
- Docker拉取ZooKeeper镜像安装运行
- Tomcat8史上最全优化实践
- mysql 同步 master-slave
- 一步一步使用 DialogFragment 封装链式调用 Dialog
- java JDK 8 官网下载网址/清华镜像/华为镜像
- 利用gpu加速神经网络算法,为什么用gpu 模型训练
- 程序员做笔记的利器:MarkDown软件
- 【题解】PAT (Basic Level) Practice (中文)
- 【Python】数据可视化-散点图绘制