软件测试周刊(第26期):从喜欢里得到力量和快乐
作者:互联网
这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
三段论
如果你想在逻辑上证明一件事情是对的,怎么办? 是不是先找一个通用的原理,再说明你这件事情适用于这个原理,所以你这件事情是对的。
比如,你想说明曹操也会死,逻辑上你可以说:所有人都会死,曹操是人,所以曹操也会死。
可能你没注意,这个方法就是经典的三段论。
什么是三段论?
三段论是一种经典的演绎推理。什么是推理?推理是由已知的条件(前提)推出新的结论,也就是所谓的逻辑。
维基百科上说:
三段论在传统逻辑中,是在其中一个命题(结论)必然地从另外两个命题(叫做前提)中得出的一种推论。
简单点理解就是:三段论是由 2 个前提推出 1 个结论,这个 2 个前提包含关系,即一个大前提包含另一个小前提。
再回到概念上:
三段论由三个部分组成:大前提、小前提和结论。逻辑上,结论是于小前提之上应用大前提得到的。大前提是一般性的原则,小前提是一个特殊陈述。
比如亚里士多德经典的三段论:
- 大前提:所有人都是必死的 (普遍原理)
- 小前提:所有希腊人都是人 (特殊陈述)
- 结 论:所有希腊人都是必死的 [把特殊(小)代换入一般(大)]
再比如:
- 所有人都一定会死,
- 张飞是人,
- 所以,张飞一定会死。
在日常生活中,三段论经常被用来阐述某个观点,这是一种简洁有力的方法。这时候,大前提通常都是引用的某些一般性原理,小前提往往是个别的特殊性事件,从而得到有说服力的结论。例如,在司法过程中,法庭审判的环节其实就是三段论的推理过程,可以认为它的大前提就是法律法规,小前提是客观事实。
文章
1. 任总与2020年金牌员工代表座谈会上的讲话
心声社区
本文摘自 2021年5月8日 任总与2020年金牌员工代表座谈会上的讲话:
- 在探索人类历史的过程中,我们会发现每个人都会犯错误,没有错误、完全纯洁的人其实就是“瓷器”,一砸就碎,人往往是在与错误斗争的过程中不断前进。
- 华为像蛭形轮虫一样是单基因文化,需要多基因的冲突、多基因的融合产生突变。这些突变有利于潜力的爆发。
- 为什么黄埔军校门口的对联写着“升官发财,莫入此门”,而我们在非洲的口号是“升官发财请到非洲来”?因为黄埔军校是在解构一个社会,它本身不能创造财富,所以要求学员要有使命感、奋斗精神,没有物质激励,想要升官发财就不要去了。而我们现在是在建设一个“新社会”,为社会创造财富,也造福自己,同时有足够的资金,为什么不允许有志青年升官发财呢?
- 工程领域要精益求精,这不叫内卷,内卷是发生在不应该进行精益求精的地方。科学是犯大量错误以后才能有所发现,技术创新也是会有大量失败,但是工程呢,比如一座大桥的建设不是可以随便创新的,那样大桥可能就容易垮塌,大桥的工程方案是经过了千百次论证,才敢用这个公式来设计大桥。
2. 如何留住员工?
丛龙峰
提高留存率,比招聘新员工成本要低。
最近的一项调查研究发现,全球 87% 的人力资源领导者在受访时表示:在未来的五年,留住员工将成为 HR 工作的重点。
很多专家也表示:提高员工的工作满意度的成本要远远低于招聘和培训新员工的成本。
那么员工为什么会离职?
马老师说,要么钱没给够,要么心委屈了。
最多的委屈是谁给的?
老板给的,直接主管给的。
员工每天跟他的直接主管打交道,其工作投入度在很大程度上与直接主管用心的程度和拿捏分寸的本事有关。
这比一切的制度安排都更有力量。
如何把人留住?
满足员工的需求。
怎么满足?满足什么需求?
约翰·E.特鲁普曼教授提出的总薪酬理论,将总薪酬的组成要素划分为四个象限。
除此之外,管理者还要关注那些带有组织属性的薪酬因素,从而加强人与组织之间的联结。
组织属性的薪酬:
- 内部晋升,它传达的是企业对自家员工的尊重。
- 长期雇用,这是组织正义的一种表现。显然,同等条件下开除一位老员工比裁掉一位新员工更容易招致不满。
- 利润分享,如员工持股制度,分享组织成长。
- 福利计划,金钱之类的物质性激励是一种一般等价物,但针对性的福利计划还表达了管理者的心意。
3. 酷家乐基于大数据日志系统的流量回放平台
风帝
本文是大数据流量回放平台的思路和实现。
为什么选择大数据日志系统做流量回放平台呢?
- 大数据的日志采集和埋点系统已经很成熟,而且性能和稳定性久经考验。通过日志埋点流量回放的方式,可以做到安全、方便(线上日志源源不断,无需手动导流,可实现 7*24 小时无人值守);
- 浑天仪服务内外网数据库中的数据基本保持一致,数据来源都是基于 ODPS 的生产环境数据,在内外网端实现结果对比无需 Mock 数据。因此轻量级的流量回放对比工具即可满足,容易维护。
酷家乐所有服务器的日志数据都是由大数据服务负责采集的,由 Filebeat 进行采集,经过 dataflow-split flink 流对不同级别的日志进行拆分,并临时存储在日志 Kafka 集群,最后经过 dataflow-track 流解析生成 lms 埋点系统中对应的各种埋点数据,再次写回日志 Kafka 集群中。
实现流量回放的思路就是在 Prod 环境的埋点数据中输出接口的请求参数,从而实现流量回放。
如,
在埋点系统中的埋点名是 bizdcQuery,其中 queryDsl
字段是输出请求的 body 体,即可实现入参的收集。
而对应的服务端日志需要按照上述定义格式打印。
系统设计:
- 增加配置:定时任务的运行时间、对比的服务器地址和接收消息通知的人等;
- 获取参数:创建 Kafka 消费者,订阅 Kafka 中日志埋点 topic,获取并解析日志埋点流数据中的请求参数;
- 请求对比:通过流量回放平台同时向不同环境的服务器发起请求,获取响应结果并进行对比;
- 记录通知:如果对比结果不一致,则将这条 dsl 记录到数据库中,并通知消息接收人,否则忽略;
- 手动验证:失败的 dsl 可以作为自动化回归用例展现在流量回放平台上,方便开发和测试同学手动触发回归。
工具
1. 精通 VIM 从未如此简单,交互式学习 Vim 的网站 - vim.so
这个网站通过互动练习,帮你掌握 VIM。
网站地址:https://www.vim.so/
2. 适用于浏览器的沉浸式阅读工具 - 简悦
在浏览网页时,我们总会被一些广告信息干扰,影响阅读体验,有什么办法能够去掉这些干扰信息吗?
「简悦」正是我们需要的工具。
简悦是一款非常流行的沉浸式阅读工具,它能够过滤页面上无意义的干扰信息,让你专心阅读,另外,它还支持标注、稍后读、导出等功能。
基本信息
名称 | 简悦 |
版本 | 2.2.0 |
浏览器 | Chrome、FireFox、Edge、Opera |
适用平台 | macOS、Windows、Linux |
开源地址 |
3. 页面划词可一键查遍所有翻译工具 - Saladict(沙拉查词)
你喜欢用什么翻译工具?谷歌翻译?谷歌词典?必应词典?有道词典?还是剑桥词典?
不要选了,全都要。使用 Saladict。
Saladict(沙拉查词)是一款页面划词翻译工具,它聚合了几乎所有主流的翻译工具,通过划词,并行翻译,供你选择最合适的那个。
基本信息
名称 | Saladict |
版本 | 7.19.0 |
浏览器 | Chrome、FireFox、Edge、Safari、Opera |
适用平台 | macOS、Windows、Linux |
开源地址 |
4. 有些代码真心不用手写,推荐10个解放双手的 IDEA 插件。
程序员内点事
- aiXcoder:提供了比较强大的代码补全、预测的功能。
- easy_javadoc:可以快速为Java的类、方法、属性加注释。
- Easy Code:快速的将数据库表映射成 Java 中的 entity、controller、service、dao、mapper 等文件。
- Restfultoolkit:一套 RESTful 服务开发辅助工具集。
- Key promoter X:IDEA 的快捷键提示插件。
- String Manipulation:字符串转换工具。
- Translation:很方便的翻译插件。
- Git Auto Pull:在 Push 之前自动先 Pull。
- .ignore:忽略某些文件的提交。
方法
1. 如何在一个领域保持专注?
Cesczhang(腾讯大讲堂)
作者是腾讯网络平台部 - 技术研发类领域专家
一、专注当下
- 心态要踏实:立足当下、潜心投入,把手头工作做到更好。除了能让自己更快的成长、获得更好的口碑/收益之外,往往也能借此对自己的能力/特质/兴趣、对岗位的价值有更深的理解。
- 在领域内找到目标和热情,找到自己认可的价值。
二、保持韧性
- 要擅长给自己做心理建设。途径之一就是深入发展一两门工作以外的爱好,有助于建立比较高的自信水平和自我认同,这样即使工作中遇到一些问题,也并不会压垮你。
- 要有理性的分析判断。工作中总会遇到低谷,有时是自以为是的"瓶颈"、有时是来自外部的压力。这时不妨多想想:问题是不是还在那里需要有人去解决、我是不是解决这个问题的合适人选、解决之后我和业务是否会得到了提升、我是否要改变原有的行为模式/原有的方法?保持积极心态、扛住压力、日拱一卒,往往有柳暗花明、豁然开朗的一刻。
- 要有持续学习的心态,相信自己可以不断学习改变,并能贯彻到行动中。就像《How Google Works》一书中所说,谷歌希望雇佣学习型动物,也就是拥有“成长性思维模式”的人:如果你觉得你已经定型,那么无论环境如何,你都会一次又一次重蹈覆辙。但如果你拥有成长型思维,就会相信经过努力,你的个性和能力都是可以培养改变的。
三、专业精神
- 很多事情如果不达到一定的专业水平,很难体会到其中更深层次的乐趣。比如同样是写代码,你是堆砌业务逻辑、还是同时考虑代码组织/性能/可运营性/交互性。
- 专业精神不仅关乎工作输出和个人成长,更关乎我们的幸福感。
- 幸福不是人生的主题,而是附带现象,幸福是你全身心的投入一桩事物,达到忘我的程度,并由此获得内心秩序和安宁时的状态。
2. 如何解决不可测问题?
雨清(阿里巴巴技术质量)
质量保障过程中存在非常多的“不可测”场景,而此类场景如果被忽视往往会带来非常严重的故障。
常见的不可测的问题:
- 请求异常场景难以构造:消息乱序、并发场景等;
- 下游超时场景难以构造:超时成功、超时失败等;
- 研发节奏不一致,下游应用没有开发完毕,无法联调;
- 下游的业务异常难以模拟;
- 线上质量,实时核对脚本,由于线下“异常数据”难以构造,往往没有验证直接上线;
- 线上质量,日志监控,由于“异常日志”难以构造,监控配置后无法验证。
这些问题如何解决呢?
验证平台(VIP)Verification Platform:一个简单通用的提供异常场景测试、mock 能力的辅助测试平台。
验证平台由两部分组成,server 和 agent。
- agent 部署到应用服务器上,并通过 jvm attach 的方式关联上应用进程,从而实现基于函数 + 精准流量粒度的字节码增强;
- server 独立部署,管控了 agent、服务器、规则等核心实体,提供操作页面和 hsf 接口服务,支撑手工联调以及自动化。
工作原理:
- vip-server 端,负责创建和维护规则,同时通过应用维度来管理相关的线下、预发服务器,监听 agent 的心跳和增强报告。
- vip-agent 不持久化规则,实时监听 server 的指令,并定时(默认30秒)上报心跳,以及命中规则后上报增强报告。
以此来确保服务端的规则全局唯一,不会产生串扰,同时规则可以灵活的复用。同时服务端通过心跳来监控所有的 agent 状态,确保有一个全局的视野,方便用户进行应用维度的管控。
工作流程示意图:
简要流程说明:
- server 提供了一键式入驻的功能,给应用下发 vip-agent 并启动。不会阻断应用运行;
- 在 server 上创建规则,规则是指一个原子化的增强能力,包含了定位和处理两部分;
- server 下发规则到应用 B(待测系统),并控制启停状态;
- 应用 A 发起请求到应用 B(待测系统),规则生效,对特定流量进行增强:构造乱序、并发,构造超时场景,污染 DB、日志,mock 下游返回等等。
规则:
规则状态机:
异常场景测试用例设计模板:
言论
1、
照我看来凡是能在这个无休无止的烦恼、仇恨、互相监视的尘世之上感到片刻欢欣的人,都可以算是个诗人。
-- 王小波
2、过往不恋,永往直前。
3、
4、
图片
1、QA 买床记...
2、什么?这么简单的任务要 3 天?不行,明天就要!
下面这张图很贴切:
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
标签:26,回放,agent,员工,周刊,三段论,小前提,日志,软件测试 来源: https://blog.csdn.net/wirelessqa/article/details/118651573