前言:今天公司提前放假了,这也意味着2020年的工作真正的结束了,坐在这通往家乡的火车上,看着车厢里各种各样的睡姿,耳边时不时传来阵阵呼噜声,我的思绪却逐渐飘向远方,别人在朋友圈晒总结,而我更喜欢亲笔写下,去真正感知那些回忆与过去。无论是不堪回首的往事,刻骨铭心的回忆,还是倍感幸福的记忆,都是人生成长中的催化剂,促进着我前行!

一、这一年,我的成长

开年的疫情突至。返深时间一再延长,在家里忙着远程工作,焦急地盼着反深。直到2020年3月份初,我才收到公司通知不能在家远程办公了,需要来公司正常上下班,那一刻开始,地铁上的人员也慢慢的多了起来,而我也开始了早晚高峰挤地铁的日子。

9月份的时候,我向领导提除了离职申请书,离开了工作了两年的公司和朝夕相处两年的同事,离职那天,领导找我谈话询问我离职的原因,我也陈述了自己的一些家庭原因和个人原因,从个人原因而言,我觉得这一两年自己并没有很大的长进,领导听了之后就跟我说:”文良,我个人觉得你无论是在工作上还是学习上都是很优秀的一个人,你认为自己没有进步,可能是你自己对自己要求太高了,你从电商组来到供应链组,现在又到大数据组,这期间你负责的每一个项目质量都很高,数据层面也是杠杠的,我个人还是希望你留下来“。能得到领导的这番认可,我心里其实蛮开心的,后面领导说公司各方面福利我都给你提高了,但是我还是婉拒了,离开了公司,在这家公司,无论是工作氛围还是同事相处,都是很不错的,非常感谢两位领导,捷哥和亭姐,在工作上对我的认可和支持!

9月底,我来到了新公司上班,一开始我以为我波哥和涛哥都是蛮严肃的人,在后面的接触中发现,两个领导都是非常活泼的,整个项目团队也是很nice的。工作的初始期间还是有点不习惯的,主要是项目版本迭代方式和规范不适应,因为上家公司项目走的敏捷模式,版本迭代非常快,但是却丝毫不影响产品的上线,每个版本都清晰明确,迭代也非常顺利。目前公司我所属的项目前景还是蛮不错的,产品的前景和应用性都是非常可观的,但是产品的可靠性、适用性、体验性还是需要加强打磨,我们买东西都需要货比三家,别人买产品服务也是一样的,得让人家看到同样的产品服务,你的产品好在哪里?相比于其他同等产品你的优势在哪里?这方面的话那就需要产品去打磨挖掘了。

在公司陆陆续续经历了多个版本后,觉得项目流程有待优化,所以我就针对性画了一个质量保证体系图和项目流程图给波哥,个人觉得很多地方都是可以优化的。
质量保证体系图:

项目流程图:

后面我波哥说要搞起接口自动化和数据质量管理,目前的话也在做,我心里还是希望可以落地的。
接口自动化流程图:


然后我们项目也需要算法测试,这方面的话自己也整理了算法测试架构。

但是自动化始终只是辅助测试工作的一个手段,对于测试人员而言,测试基础和测试用例的设计才是核心。如果测试用例的覆盖率或者质量不高,那将这部分用例实现为自动化用例的意义也就不大了。
那么,接口测试用例应该怎么编写呢?

首先我们得知道接口的定义 :

主要是子模块或者子系统间交互并相互作用的部分。
因此,可以分析,系统间的接口包含三部分:输入、处理逻辑、输出。

应该怎么分析一个接口?

获取接口文档:和黑盒测试一样,我们是从需求文档中去挖掘测试点,设计测试用例。对于接口测试,同样是有对应的接口文档的。

分析接口文档,提取测试点:
1)、输入: 接受哪些参数、参数的类型、可选参数和必选参数等;根据输入参数采用等价类、边界值分析法等进行设计;
2)、业务逻辑:对于一个接口,不同的输入参数或组合,流程或状态的转移是不同,可以根据业务逻辑画出流程图或状态转移图,确保每种状态至少被访问了一次;
3)、输出:根据文档规定的输出,反向设计测试数据,使所有的输出状态都被包含了;

测试用例:同时对输入、业务逻辑、输出进行考虑时,肯定会存在用例的冗余,在最大限度覆盖业务功能和规则下,选取最优用例集合。同时,需要考虑异常数据和场景。

怎么确定用例的覆盖率?

在没有特殊要求的情况下,至少需要考虑以下内容:
1)、业务功能覆盖是否完整
2)、业务规则覆盖是否完整
3)、参数验证是否达到要求(边界、业务规则)
4)、接口异常场景覆盖是否完整

如果接口需求还包含性能或者安全要求,还要对接口进行性能测试和安全测试,就需要考虑:性能指标是否满足要求、安全指标是否满足要求。

对于接口测试,测试采用的方法是与黑盒测试一致的,可以把接口测试看作是没有界面的功能测试。

那么如何提升接口自动化效率和收益?

关于自动化,业界有这样的观点,“假如某项工作是一次性的或者极低频的,完全没有必要做自动化,因为自动化的投入可能远大于获得的收益”。但是对于接口测试而言,却是每个接口都值得去做自动化,只要做了都会有收益。

很多人对接口测试可能会有两个误区,认为要提高接口自动化收益,应该尽可能的提高代码覆盖率,尽可能多的发现问题。个人觉得以下这两个角度不可取。

1、迷信代码覆盖率
随着互联网业务的发展,系统架构设计和以往有很大的区别,传统的单体+集群架构已经逐渐消失,更多的是分布式+微服务架构,随着容器化技术逐步成熟,更是助推了微服务进一步发展,一个接口的调用,在后台会涉及到多个服务模块,每一次请求经过的链路也不一定相同,对于我司这种推荐系统、算法系统等等更是没有参考意义,所以通过覆盖率来评估接口测试能力是不现实的。接口测试中引入trace倒是可以协助问题定位。

2、迷信自动发现bug
关于测试自动化的功效,我一直持这样的观点:1%用于发现bug,99%解决重复劳动的问题。自动化是团队提效的利器,是支撑项目快速迭代的基础设施,如果从发现bug的维度去做自动化, 千方百计设计的自动化用例可能还没简单的人工点一点发现的bug多,而且随着业务不断变化,自动化维护成本还会不断增加,那么团队的研发效率始终是无法提升的。

那么在朝些方向努力会显著提高接口自动化收益呢?个人觉得从以下几个方面入手:

1、推动开发接口自测

提测质量直接决定了后续测试效率和上线速度,以往保障提测质量都是丢给开发同学一批手工测试用例用于冒烟测试,开发同学测试完了标注一下测试通过,但却无法衡量在真实的测试环境中是否真的测试通过了,我们需要将接口测试可视化,让开发的自测效果变得可以度量,另外自己预先准备测试用例,也不会给开发同学增加太大的负担。

1、环境自动化验收
随着业务不断发展,团队需要不停的调整测试环境,线上需要经常做业务节点扩容,一些中间件会版本升级等等,环境调整后如何评估达到可用标准,以往的做法往往靠运维同学去检查一下服务状态,或者测试同学手工简单的测试一下。通过已经自动化好的接口用例来验收环境能够显著提升环境的可用指标。

1、支撑发布自动化
产品迭代过程中,发布是非常频繁的,针对某些模块的发布一般采用灰度发布的方式,如果中途出现异常情况就快速回滚。但有些时候回滚后还是会导致系统中出现一部分脏数据,因此通过离线发布–>接口自动化验证–>灰度上线的方式来发布,能够很大程度保障上线的可靠性。对于后端的rpc服务,也能提供点对点的验证能力,要是能够打通发布平台,整个自动化的收益是很明显的。

4、线上业务监控
目前大部分监控系统都是基于系统层、应用层、网络层的监控,却没有从模拟用户行为的角度去监控。我们可以开发平台提供端到端的监控能力,可以模拟实际的业务场景来监控,这是对于现有监控系统的补充。

2月7日上班的第一天,微信突然收到HR小姐姐的通知,说我获得了1月份优秀员工,当时我就觉得很惊讶,我从来没有想过会有我,当时觉得还是蛮开心的,毕竟工作上得到了领导的认可,这点非常感谢我波哥的认可和工作上的大力支持。

有句话我觉得很在理,但是很多人认为是鸡汤,【入一行, 先别惦记着能赚钱, 先学着让自己值钱。 没有哪个行业的钱是好赚的,也没有哪个老板的钱是好赚的,赚不到钱,赚知识;赚不到知识,赚经历; 赚不到经历,赚阅历; 以上都赚到了 就不可能赚不到钱。 只有先改变自己的态度, 才能改变人生的高度】,有的人刚入职一家公司就觉得不适应,然后就想着能不能改变公司,却没有想着改变自己去适应公司,只想着改变别人是最愚蠢的行为。

在这里给大家穿插一个小插曲吧。

昨天我弟女朋友跟我说我弟和我妈讲话跟吵架一样,我了解下整个过程。

原因是我妈和他们约好一起从广州回家,我妈从佛山出发,我弟他们从东莞出发,但是我妈提了很多东西,以前也没做过火车,所以我妈在火车站迷路了,然后我弟心里急,所以就发脾气了。

后面我就和我弟弟好好沟通了一下,我说:“妈妈本来可以不用等你们的,她前天就预定好了汽车票回家,但是你说你也会回家,是你叫她和你一起回家的,妈妈就退票了,她心里很愿意和你们两一起回家,加上过年了,大包小包带回家很正常,妈妈没什么学历,在火车站不认识路也很正常,当时我知道你对妈妈的责怪之后我很想揍你,你想到的是怕耽误车,而我想到的是妈妈安全不,我担心她。从小妈妈最疼你,竹笋炒肉我吃的最多,我知道妈妈说以后不想坐火车之后,怕麻烦。我心里很心疼,这一切都是妈妈不想麻烦你,她感到自责”。

其实穿插这个小插曲就是想告诉大家一个道理!

很多人和父母打电话多听几句唠叨就不耐烦,早挂电话了。我就很疑惑:“父母将我们养大,供我们上学,你不对他们好,谁对他们好?”

一个人的品性,对家人最能表现得淋漓尽致。一个能把父母放在心上的人,人品也不会差到哪里去。最高级的教养,从来不是只对外人好脾气,而是在家里也能保持好情绪。

网上有个话题:为什么你能对外人和颜悦色,对家人却不能?对外人笑到灿烂的我们,对家人也该有同样的笑容啊。

有句话说,我们最大的错误就是总把最差的情绪和最糟糕的一面,都给了最亲近的人。对亲近的人挑剔是本能,但克服本能、做到对亲近的人不挑剔则是一种教养。

家是最温暖的地方,家人更会与我们相伴一生。所以,请别忘了这句话:你能伤害到的,往往都是最爱你的人。往后的生活里,请学着把最好的情绪留给最亲的人。

作为儿女的我们,享受着父母无条件的爱,却注定无法回报同等的重量。
小时候的崇拜,青春期的叛逆,长大后的疏远,成人后的顿悟,也许还有老了之后的悔恨。这大约是为人子女必然的历程。

世界上最美好的事之一就是我们已经长大了,而父母却还未老,所以有时间请多陪陪父母,离家无论多远,请记得回家,同时也把最好的情绪和温柔也留给家人!

二、疑问解答与加群学习交流

古之立大事者,不惟有超世之材,亦必有坚忍不拨之志,冰冻三尺非一日之寒,水滴穿石非一日之功,生命要得到丰盛的收获,必需阳光;同时,也需要“雨”的浇灌。过去所有的遗憾都是2021惊喜的铺垫,愿你拼命争取的,最后都能如你所愿。

同时也祝愿和我一样的单身狗们早日找到生命中的另一半,可以去见那个超级超级想见的人;愿时光能缓,愿故人不散;愿你惦念的人能和你道晚安,愿你独闯的日子里不觉得孤单。

2021年牛气冲天,加油!!!

2020年回顾,这一年,不容易相关推荐

  1. 2020年终回顾:时间会回答成长,成长会回答梦想

    前言 2020年是脚踏实地,慢慢成长的一年,由于疫情的缘故,今年社区没有像去年一样举办多场线下活动,不过 .NET CONF CHINA 大会昨天也在苏州顺利召开,回顾这一年,也有不少惊喜与感悟 20 ...

  2. 2020年回顾与2021年展望

    时光荏苒,数月如梭,转眼间2020年已经过去.回顾2020年,确实有些不不容易,从年初一直持续到现在仍然不能放松警惕的新冠疫情:由疫情带来的生活上的不便,经济上的停滞不前,还有大规模的企业倒闭,资金链 ...

  3. 致谢!华为全联接2020精彩回顾

    摘要:华为全联接2020圆满结束,感谢所有参加的合作伙伴.赞助商.客户.媒体.KOL.开发者.学生.助力星.......让我们相约明年不见不散! 过去四天 HUAWEI CONNECT 2020精彩呈 ...

  4. dYdX 2020年度回顾:累计交易量增长40倍

    据官方消息,去中心化衍生品交易所dYdX发布2020年年度回顾称,累计交易量已从2019年的6300万美金增加了40倍,达25亿美金,其中保证金和现货市场的交易量超过19亿美元,永续合约市场的交易量超 ...

  5. IoT Analytics:物联网2020年回顾,十大重要进展

    在2021年开始之际,IoT Analytics评估了2020年物联网在全球的主要进展.本文重点介绍了IoT Analytics对物联网进展的观察以及对2020年十大物联网事件回顾.2020年,物联网 ...

  6. 2020年回顾 | 华清远见研发中心2020年终盘点

    每个人都在做2020年的总结,我们也来一篇,盘点下这一年我们的收获! 也衷心祝福2021,我们的国家:山河锦绣 国泰民安:我们的人民:和顺致祥 幸福美满! 2020年,新冠疫情肆虐全球的一年,所有行业 ...

  7. 新年特辑丨美通社2020年度回顾

    2020年为传播行业带来了诸多变化和挑战.同时,大部分企业公关及市场营销的预算也吃紧.为了更好地协助企业应对新常态下的传播挑战,美通社主办一系列线上直播课程.发布白皮书和分享博客内容. 让我们通过这篇 ...

  8. 微软2020开源回顾:止不住的挨骂,停不下的贡献

    喜欢就关注我们吧! 2020年,Linus Torvalds 开启"飚骚话"模式,言语不再激烈.看到"大喷子" Linus 都有机会变慈祥,料想微软近年来主动拥 ...

  9. Papers with Code 2020 全年回顾

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者:Ross Taylor 编译:ronghuaiyang ...

  10. 速读区块链十年历史 2010年-2020年回顾

    自从比特币的创世以来,十多年以来一直存在不可思议的高点和相应的低点,因为区块链技术的发展和对其潜力的认识不断向前发展.随着这十年的临近,回顾过去十年的区块链发展是一个合适的时机.这项技术已经从仅值几美 ...

最新文章

  1. PHP7Grafika,PHP图片处理库Grafika详细教程(3):图像属性处理
  2. webuploader上传文件,后台Java接收
  3. 06年做的一个配置,从net130转过来的
  4. 不要重复发明轮子:C++重用的5重境界
  5. 滴滴顺风车GM:大多数产品经理定义是狭隘的
  6. Centos7作为VNCserver,本地使用VNCViewer连接
  7. 缓存击穿和缓存穿透的区别_后端RoadMap011:缓存穿透、缓存击穿、缓存雪崩区别和解决方案...
  8. python xlrd_python读取excel(xlrd)
  9. 脉冲波形的变换与产生
  10. 什么是网络爬虫python_什么的什可以组什么词语
  11. python安装lzo_hadoop-lzo 安装配置
  12. AgileEAS.NET SOA 中间件Web运行容器管理功能已全部开源,欢迎大家下载、使用、反馈...
  13. [leetcode]_Best Time to Buy and Sell Stock I II
  14. Mvc6 错误Microsoft.AspNet.Http.Features.IRequestIdentifierFeature
  15. Fiddler工具的使用与手机app数据抓包
  16. matlab regstat函数,MATLAB如何使用binostat函数计算二项分布的期望和方差
  17. Linux常用英文单词
  18. Pug教程-从入门到入坟
  19. 从冲突到和谐:智能新文化环境中人机关系的伦理重构
  20. burpsuite 越权_越权漏洞之测试与修复

热门文章

  1. 计算机在投资审计中应用方法,计算机辅助审计技术在投资审计中的应用研究(原稿)_0...
  2. 温度计数值转换C语言,f和c温度换算(体温计f怎样转换c)
  3. 网页换肤,模块换肤,jQuery的Cookie插件使用(转)
  4. 文件拷贝(6种方式)
  5. 如何查看计算机关闭原因,电脑总是自动重启关机怎么样查找原因
  6. 如何用python批量下载数据_如何基于Python批量下载音乐
  7. 黑客组织“洋葱狗”潜伏3年终曝光 定期偷袭能源及交通行业
  8. 台式计算机为什么数字输入不了,计算机键盘无法输入数字,为什么?
  9. 数据结构知识清单简要
  10. FTP服务器是什么意思