“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第n篇文章,点击查看活动详情”
闲聊
- 最近听说虾皮向社会输出人才了,在疫情这几年,大环境确实不容乐观。我蛮多朋友在虾皮上班的,大部分业务是golang,金融类是java,妥妥的福利公司。薪资也高,不要问我怎么知道的。一个应届生薪资比大厂的高。
- 上次跟着一位上海叮咚的朋友在聊,他也是当面试官的,据他透露,一个岗位挂出去会有很多大厂的人投简历,就问你说竞争大不大。
- 当然也有在金融公司当产品的,这福利杠杠的,难怪人家炒股几十万的本,基金也是几十万
前言
我一有时间就逛掘金关注的列表,转转最近发的很勤的就是QA的转型,从单元测试的对比到流量录制实现测试回归,可以看到一直在这方面做很多成果,直到前几天下班我看到美团ui录制,我整个人呆住了,原来我们跟大厂的差别是辣么的大~
自动化测试必要性
为什么很多公司都在搞自动化测试呢?
那是因为当修改代码的时候,如果保证代码的质量,然后以往逻辑不被改崩,这个测试回归的成本非常大。举个例子,一个比较大的项目,涉及3个团队协作,后端前端开发,大概4-5天,测试时间也是一周,然后回归大概占据了2天。
如果遇到那种测试很严谨的同学还好说,如果像我之前遇到的测试,上线前点一点,没有问题就丢上去,然后出现坑,开发背锅,好家伙我上去就一jio~
所以测试成本跟项目质量在整个项目占的分量可想而知~
阶段一:单元测试
这是一个艰难的开始,因为对于大部分创业团队,你的kpi就疯狂的写业务代码,居然还要让我写单元测试?
当项目稳定或者项目规模达到一定程度,需要追求项目质量
单元测试或者说开发完之后,自己用postman调一调,应该是一个合格开发者的必备技能,要避免那些低级的问题。当我采访一个阿里系的朋友,他讲以前没有写单测上去就是p3事故,现在比较少写了。
确实,从代码质量上来讲,你的代码修改如何保证是没有问题的呢,人为的测试是有遗漏的,所以单元测试是有必要的。
上面是转转给出的增量代码的覆盖率,保证每个方法都有单测来保证质量。
阶段二:测试用例录入
我们现在就是这个阶段,通过测试同学编写接口,然后进行功能编排,用postman进行执行,断言判断执行结果是否跟实际一致。
当然这种好处是简单暴力,疯狂录入测试用例,但是缺点也很多,比如说接口变更的时候,用例得改变;人工录入成本;
它的好处,比单元测试,多了流程,整个功能是连贯性的。比如说下单,会设计几个系统那种,单测当然解决不了,
阶段三:流量录制
这可以解决人工手动录制的成本,比如说下单,首先供应商得有商品吧,然后用户搜索,再下单,结算,整个流程可以进行api接口录制,包括请求参数、响应的参数。他们会保存到用例库,当然如果是无序的也可以进行编排,然后是降噪,比如说有一些并发,那些流量并不是我们想要的,可以将它干掉,最后是播放,对比响应结果是否跟预期一致,然后进行预警。
如果是接口变更呢,那我们重新录制,然后进行编排,最后播放,对比结果。
这手段也经常用在线上问题的排查,它前提是需要基础数据导出,才能进行播放。
阶段四: ui录制
当我看到美团的演示的时候,我整个人麻了,自动化测试居然还能这么玩。
通过前端的点一点,录制对应的用户操作,埋点数据上报,记录对应页面返回数据,录入到测试用例里头。当播放的时候,通过ocr来识别图片是否一致,也就是返回结果是否一样。看完我整个人麻了,太强了吧。
其实我最近在搞rpa,就是模拟人点击页面,它会记录点击手机、界面某个位置,某个图标,或者某个输入框,然后模拟人输入信息,也能校验数据,也有ocr,好家伙,是不是就是通过这个去实现的?
自动化测试优点
人为的动作,很多依靠多年踩坑的经验出来的,而机器的自动化才是王道。
比如说美团,当你改动一串代码,影响的范围没有跟测试同学讲清楚,那测试就会遗漏,这时自动化测试回归就尤其重要了,像app那么多个页面,如果让测试同学来点,那要回归很久,而且问题也不能精确的找出来。
去年面大厂,被问最多就是量化,那是只有数字化、具体化了,才能实际去推动它。这也是我最近主导项目学到的,比如说我们摸清了整个项目的前景,各种优化,但是没有一个目标,例如年底接入多少个商家,做多少业绩,需要有目标,而且有数字化的目标,才能落实。
今天的文章麻了,当我们还在用录入测试用例的时候,转转单测+流量录制,美团直接ui录制…分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/18085.html