这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
目录
资讯
1. 2020 年度 Top10 的 Python 库出炉(Python之禅)
2. TestableMock v0.4.9 发布,阿里效能团队的单元测试增强工具(OSCHINA)
3. 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台(滴滴技术)
文章
1. 如何成为一个搞垮领导的下属?(技术领导力)
2. 开发把时间都花在编码上,还要写测试么?(DevOps)
3. 我在拼多多的三年(LeadroyaL's website)
4. 度量平台如何做到支持用户自定义指标、修改指标计算逻辑?(酷家乐质量效能)
工具
1. Diagrams:用 Python 代码绘制云系统架构(开源前哨)
2. yq:用命令行解析 YAML 文件工具(GitHub精选)
方法
1. 测试不背锅指南(圆小豆的美梦工厂)
言论
图片
关注
TestableMock 是一款轻量&易用的 Java 单元测试增强工具,提供三项具有针对性的辅助能力:
如果你早已厌倦为了绕开一个外部调用而编写的冗长Mock代码,如果你早就嫌弃 Mockito 功能不够而PowerMock 太过臃肿,如果你恰好也讨厌单元测试的各种条条框框,那么使用 TestableMock 就是一种明智的选择。
0.4.9
PrivateAccessor
访问目标有效性检查,提高抗代码重构能力 (issue-21)开源地址:https://github.com/alibaba/testable-mock
文档地址:https://alibaba.github.io/testable-mock/
滴滴内部统一使用 kafka 作为大数据的数据通道,当前滴滴共有几十个 kafka 集群,450+ 的节点,20k+ 的 kafka topic,每天2w亿+的消息量;每周500+UV用户,需要完成 topic 创建、申请、指标查看等操作;每天运维人员还有大量集群、topic运维操作。因此需要构建一个 Kafka 的管控平台来承载这些需求。
LogI-KafkaManager 脱胎于滴滴内部多年的 Kafka 运营实践经验,是面向 Kafka 用户、Kafka 运维人员打造的共享多租户 Kafka 云平台。专注于 Kafka 运维管控、监控告警、资源治理等核心场景,经历过大规模集群、海量大数据的考验。内部满意度高达 90% 的同时,还与多家知名企业达成商业化合作。
开源地址:https://github.com/didi/Logi-KafkaManager
图片来源于网络
好的下属都是相似的,糟糕的下属各有各的糟糕。那么如何成为一个搞垮领导的下属呢?作者走访了10多位曾经搞垮过领导的职场高手,结合自身思考,整理了15条经验,供你借鉴:
有人问:开发把时间都花在编码上,还要写测试么?
有人回:你怎么知道是在编码,还是在写 BUG?
这是一个系统性问题,任何单点的优化,都无法解决全局的问题。
作者也没有直接给出回答,而是通过一系列的问题引发读者思考:
作者认为:拼多多,2018 环境正常,2019 环境变差,2020 环境很差,2021 已黑化
2018:
2019:
2020:
度量的根本目的是为了管理的需要,没有对软件过程的可见度就无法管理,而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。
而度量,是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程。而这个过程是多样性的,不同的业务关系的度量指标可能并不相同。这就导致一个/若干个固定的图表无法满足所有人。
那么质量平台如何做到支持用户自定义指标、修改指标计算逻辑呢?
度量平台的整体流程:
Diagrams 可以让你用 Python 代码绘制云系统架构。无需使用任何其他工具(比如 visio),你就可以用它来为一个全新的系统架构进行原型设计。当然它也可以用来绘制你现有的系统架构。
Diagrams 目前支持的主要提供商包括:AWS、Azure、GCP、Kubernetes、阿里云、Oracle云等。同时它也支持本地节点、SaaS和主流的编程框架和语言。
Diagram as Code 还能让你跟踪各种版本控制系统中的体系结构图变化。
它不能控制任何实际的云资源也不能生成云信息或地形代码。它只能帮你绘制云系统架构图。
开源地址:https://github.com/mingrammer/diagrams
命令行工具有一种魔力,当你不用的时候你会觉得不是很方便,不如 IDE 什么的,当你开始用起来,你会觉得越来越香。
今天要推荐的是一个 YAML 的命令行解析工具 yq,命令和语法都参考了 jq,所以如果你熟悉 jq 的话用起来会非常的顺手。当然相比 jq 的强大,yq 还有很多的不足,目前 yq 只支持了一些比较通用的操作语法。
开源地址:https://github.com/mikefarah/yq
文档地址:https://mikefarah.gitbook.io/yq/
1. 提前识别风险,包括但不局限于:
2. 充分暴露风险,让团队所有成员对当前面临的风险达成一致的认知,并促使团队进行风险的优先级和响应措施讨论。
3. 避免追责,当遇到线上问题,第一重要是快速响应,及时止损;第二重要是问题复盘,避免再犯。如真是测试的疏忽,大方的背锅也没啥,尽快商议应对措施才是正解。
走出追责和背锅的误区,走进互信的良性循环。
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)