前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《测试开发方法论》之 稳定性

《测试开发方法论》之 稳定性

作者头像
我去热饭
发布2022-05-19 13:47:04
3490
发布2022-05-19 13:47:04
举报
文章被收录于专栏:测试开发干货

影响稳定性的元素有很多,比如架构的复杂度,空间利用度,整个功能的链条长度。

本篇主要说的一个情况就是链路长度。

不知道大家是否听过一个词,叫全链路压测。也就是直接对整个功能的链路进行压力测试,压出最弱的那个环节 好进行优化和加固。

那么在我们测试开发的工作中,当开发一个功能时,如果实现此功能的链路过长,支撑服务越多,那么其稳定性会大大降低。众所周知,车链子质量决定于最弱那节。

在一个功能的全链路中,但凡一个环节出现错误,都会导致整个失败。

小刘是一家大型公司的测试开发,他最近要负责一个定时监控线上登陆接口的功能,实际上就是每个5分钟跑一遍本地的几条requests脚本。 可是他身为资深测开,这么一个小脚本直接写个for循环 来轮询实在是low,所以他打算做一套很大的东西。 1.首先是接口的结构, 他准备从接口文档中时时提取最新的结构,并监控上线日志,对上线的接口,进行实时更改监控脚本。 2.接口的数据,他不满足写死,所以一部分从压测平台的日志中进行提取线上真实数据,而另一部分从公司数据库调用。 3.执行间隔,他使用公司的jenkins,在上面设置好了奴隶机进行控制执行间隔时间。 4.脚本代码,他使用jenkins的钩子自动获取gitllab的最新代码,自动部署。 5.底层驱动,他使用了接口测试平台的request底层微服务。 6.验签算法,他懒得自己新写一个,所以直接调用公司中台的验签接口。 7.手动触发,每日上线通过监控邮件,一旦收到上线通知邮件,便立即触发执行一次。 8.报告结果,自动生成的报告结果会发送给相关责任人,所以他去动态从公司的用户数据库和组织结构关系中获取邮箱地址。 9.报警系统,包括邮件报警,电话报警,短信报警,他全部利用公司中台提供的接口,直接调用,简单方便。 10.数据量化,他把所有的请求日志都存放了起来,并且又做了一个小功能,定期统计成功率等数据。 整个组织架构设计就是这样了,说干就干,在他辛辛苦苦花费了好几天的时间终于搞定了这套接口监控功能后,开心极了。但是之后的稳定性却成了他的心腹之患,他收到的很多报警,和反馈,去查,发现都是因为种种网络/支撑服务等问题 导致的,今天是中台升级,明天是服务维护,后天是文档地址更换,大后天是数据库权限,大大后天是压测平台token过期...... 。 他到底也不明白 ,错在哪里,整个架构即高端又实用,无懈可击。但是为什么会造成这个局面呢?其实很简单,他整个架构太复杂了,模块太多,支撑服务太多,调用的太多了。 牵一发动全身的道理,他没有履行好高内聚/低耦合的思想。 后来他关注了公众号:测试开发干货。他突然想到,他一开始就不该设计这么复杂,但是既来之则安之,所以他准备再开发一个专门的维护机器人,用来定时检测他的所有支撑服务的稳定性.......

除上述以外:

稳定性, 也算是测开工具的质量的一部分。

很多时候 是和 效率 成反比的。领导所说的既追求效率 又 追求质量,如果成本固定的话,会很难实现。所以方法论存在的目的,就是让我们不要盲目的去做浪费成本,反而降低稳定性的事。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档