这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
元宇宙
元宇宙的概念最近非常火,虽然这三个字我们都认识,但连起来,还真不知道是什么意思。
其实,元宇宙的英文名叫 Metaverse,由 meta (超越/元)和 Universe (宇宙)结合而成。
Metaverse 的概念源于美国作家 Neal Stephenson 于 1992 年出版的科幻小说《雪崩》。
简单来说,
就是现实世界中的所有人和事都被数字化投射在了这个云端世界里,你可以在这个世界里做任何你在真实世界中可以做的事情。
比如在上边跟家人朋友吃饭逛街、用虚拟 Facebook 交、刷虚拟亚马逊商店购物等等。
与此同时,你还可能做你在真实世界里做不到的事情,
比如瞬移到阿尔卑斯山滑雪,跟相隔千里之外的朋友一起买票去听场虚拟周杰伦开的演唱会。
需要注意的是,Metaverse 并不是有且只能有一个平行于现实的虚拟世界,它可以是多个虚拟世界同时存在。也就是说,任何公司都可以来构建一个虚拟世界,Facebook 可以构建一个虚拟游戏世界,迪士尼可以构建的一个虚拟游乐园,亚马逊可以构建一个虚拟购物世界…
但 Metaverse 的最终形态是,这些世界要能够互联互通,还要存在一套能够统一运作的 会、经济系统。
如果你看过斯皮尔伯格导演的电影《头 玩家》,应该能比较好的理解上面的内容。
参考资料:
- https://zhuanlan.zhihu.com/p/366906129
- http://finance.sina.com.cn/tech/csj/2021-04-08/doc-ikmxzfmk5587495.shtml
文章
1. 你应该知道的 6 种数据脱敏方案
序员内点事
什么是数据脱敏strong>
数据脱敏也叫数据的去隐私化。通过我们给定的脱敏规则和策略,对敏感数据比如 、 等信息,进行转换或者修改的一种技术手段,目的是为了防止敏感数据直接在不可靠的环境下使用。
比如在淘宝买东西订单详情中,商家账户信息会被用 遮挡,保障了商户隐私不泄露,这就是一种数据脱敏方式。
数据脱敏又分为静态数据脱敏()和 动态数据脱敏()。
静态数据脱敏():
- 将用户的真实 、、、 通过 、、、 等方案进行脱敏改造。
- 适用于将数据抽取出生产环境,脱敏后分发至测试、开发、培训、数据分析等场景。
如下图所示:
动态数据脱敏():
- 访问敏感数据时实时进行脱敏,因为有时在不同情况下对于同一敏感数据的读取,需要做不同级别的脱敏处理,比如不同角色、不同权限所执行的脱敏方案会不同。
- 一般用在生产环境。
注意:
脱敏时也需要保持原有的数据特征、业务规则和数据关联性,保证在开发、测试以及数据分析类业务不会受到脱敏的影响。
一句话:你爱怎么脱就怎么脱,别影响我使用就行。
数据脱敏方案
数据脱敏的方式有很多种:
- 无效化:通过对字段数据值进行 、、 等方式让敏感数据脱敏,使其不再具有利用价值。
- 数据替换:与无效化处理相似,不同的是这里不以特殊字符进行遮挡,而是用一个设定的虚拟值替换真值。
- 随机值:字母变为随机字母,数字变为随机数字,文字随机替换文字的方式来改变敏感数据。
- 对称加密:通过加密密钥和算法对敏感数据进行加密,密文格式与原始数据在逻辑规则上一致,通过密钥解密可以恢复原始数据。
- 平均值:针对数值型数据,先计算它们的均值,然后使脱敏后的值在均值附近随机分布,从而保持数据的总和不变。常用在统计场景。
- 偏移和取整:通过随机移位改变数字数据,偏移取整在保持了数据的安全性的同时保证了范围的大致真实性,比之前几种方案更接近真实数据,在大数据分析场景中意义比较大。
最后,
数据脱敏规则在实际应用中往往都是多种方案配合使用,以此来达到更高的安全级别。
2. 浅谈如何进行埋点质量管理
五花肉
图片来自:https://www.sohu.com/a/411479736_716346
常见的埋点质量问题有哪些strong>
环节 |
问题点 |
需求阶段 |
|
开发阶段 |
|
数据传输阶段 |
|
那么如何保证埋点质量呢strong>
01 抓意识
任何一个组织创建时都需要有一个文化或者信念,在做事的时候可以时刻提醒自己。所以在质量管理的第一个重要角度是意识。
对于执行层:
- 无论是分析师或埋点产品必须要对出自自己手中的需求要负责。
- 要时刻意识到,埋点需求是整条数据链路的源头,而且用户实时发生数据拥有着不可回溯性。
对于高层管理者:
- 要适当的给予数据治理一些侧重,无论是在人力上还是时间上。
- 让自己或自己的上级领导提升一些基础建设的意识,用产品进行向上管理,毕竟是一个看的见、用得到并且能“体会”价值的载体。
02 定制度&流程
任何一件事有一个良好的规范去执行,那出错的概率就会比每个人自由发挥低很多。
主要从两个方面下手。
2.1 角色流程
埋点从需求产出开始要经历:埋点开发、数据上 、数据采集、数据清洗、数据入库最终到业务应用,涉及的人员包括埋点产品&分析师、开发、测试、采集工程师、仓库工程师等。
各个环节能有机组合就需要一个良好的配合制度,既能保证工作有条不紊,同时又避免了权责混乱导致的问题无法及时响应。
图片来自:http://www.woshipm.com/data-analysis/4297452.html
2.2 采集规范
- 文档规范:
-
- 细化的需求文档有利于降低其他环节同学的理解偏差,也便于埋点使用时了解前因后果及错误信息。
- 所以要求负责埋点的同学列清相关需求点,包括:所需要的事件信息、统计位置、打点逻辑、上 时机,甚至还可能有失败后如何处理、失败原因、变更历史等相关内容。
- 接入规范
-
- 指业务开发同学在使用埋点组件时要严格遵守组件方提供 sdk 的使用规则,例如,通用事件内扩展字段的埋点位置、上 时机等。
- 切不可根据“自我经验”进行更改优化。
- 命名规范
-
- 命名规范适用于埋点信息的命名,包括事件 id、事件参数以及实际的参数值。
- 做到以下原则:
-
-
- 方便解读
- 不要有特殊字符,不要采用系统关键字或预置关键字进行命名。
- 字段不易过长
- 版本前后字段映射统一
-
-
- 无法挨个维护的参数值可以采用 spm(超级位置模型)或 scm(超级内容模型)来制定采集规范。
03 用工具
3.1 埋点模型
埋点模型采用的是事件模型,事件模型描述了一个人做某件事情所需要的几个重点要素:时间(when)、地点(where)、人物(who)、途径(how)、结果(what)
例如:小明4月3 早上 9 点用小米手机在京东买了一个 iPhone12,转译到埋点语言就是:
2.2 埋点平台
埋点质量的最后一个环节就需要通过平台化来进行辅助管理,主要包括:
- 元数据管理完善、可溯源,提升查询效率。
- 自动化测试+人工校验,降低漏测风险。
- 质量监控,提升对错误埋点的发现效率。
- 引入埋点流程,辅助进行“团队管理”。
最后,
数据质量问题在业务发展到一定阶段都会遇到,就像升职以后需要管理团队一样,不同级别面临的问题不一样,所需要采用的手段也不一样。
工具
1. ODiff : 称是世界上最快的图片对比工具
ODiff 是一个非常快速的本地图像对比工具,以毫秒为单位快速找到两幅图像之间的视觉差异。
效果如下:
项目地址:https://github.com/dmtrKovalenko/odiff
2. 用于分析和比较源代码的命令行工具 – Semantic
开源前线
Semantic 是一个用于分析和比较源代码的命令行工具,支持多种语言。
支持的语言
语言 | 解析 |
AST(抽象语法树) 符 |
堆栈图 |
Ruby | ? | ? | |
JavaScript | ? | ? | |
TypeScript | ? | ? | ?? |
Python | ? | ? | ?? |
Go | ? | ? | |
PHP | ? | ? | |
Java | ?? | ? | |
JSON | ? | ?? | ?? |
JSX | ? | ? | |
TSX | ? | ? | |
CodeQL | ? | ? | |
Haskell | ?? | ?? |
项目地址:https://github.com/github/semantic
3. 超级好用的 macOS 进程管理工具 – Sloth
Sloth 是一款 macOS 应用程序,能显示系统中所有正在运行的进程及其所使用的文件、目录、套接字、管道和设备,用户可以非常方便的查看哪个应用程序正在使用哪个文件。
项目地址:https://github.com/sveinbjornt/Sloth
方法
1. 做的都是琐事,怎么展示能力h2>
小马宋
小马宋
如何在琐事上展示能力p>
有两个故事。
第一个故事
1906 年的时候,吉尔布雷思发现,数千年来,砖瓦匠砌砖的工具和技巧几乎没有什么变化。仔细研究了砌砖过程之后,他能够在不增加砖瓦匠负担的情况下,将砌砖效率提高一倍。
通过把砖和灰浆的托板提高到及胸的高度,每位砖瓦匠每天能免去数百甚至数千个俯身取东西的动作。
通过使用可移动的脚手架,熟练的砖瓦匠就不必费时费力地踩着梯子往上搬砖了。
如果灰泥能够源源不断地供应,砖瓦匠把砖垒起来之后,只需要用手轻轻一拍就行了,而不必用瓦刀敲好几下——这种做法很浪费时间……
第二个故事
我有个朋友,他早年没有文化,就在一家奶茶店打工。但是为了更快的学习,他主动要求不轮班,直接在奶茶店干满全天,而公司也没有给他更多的薪水。
有一天晚上,店长觉得他实在太累了,就强制要求他回家。然后他回家前顺手就拿了一把奶茶店的外卖单,在回家路上沿街给各个店铺发奶茶外卖单。结果第二天,店里多了好多奶茶外卖的电话(那时外卖还是店里自己送)。
后来他自己经营一家奶茶店,再后来就有了自己的奶茶品牌,目前有 200 多家奶茶店,这个奶茶品牌叫霸王茶姬。
你看,即使一个泥瓦匠的工作,经过思考设计都可以提升一倍的效率,即使是一个奶茶店的员工,也可以用心经营让一个店做得更好。
那么,你应该怎么做呢p>
2. 如何搭建一个拖垮公司的技术架构h2>
Mr.K
Mr.K
作为架构师,如何搭建一个拖垮公司的技术架构p>
01 系统主链路尽可能单点
单点系统,就像苏伊士运河一样,一旦航道出故障,整个运输系统都瘫痪,非常酸爽。
02 程序中多用循环
无限死循环… 当你看到 CPU 利用率百分百的时候,你就知道应该甩锅给运维了。
03 系统间增加依赖
在系统里增加内部依赖、外部依赖、第三方依赖。
04 没有重试策略
服务调用失败,你还想重试不是随便的接口。
05 不做系统隔离
千万别做系统隔离,要挂一起挂。
06 代码同步调用
做系统就要步调一致、讲究和谐,尽量同步调用,多写 bug。
07 不做热数据缓存
RPC 的意义是什么被调用啊。疯狂地调用,是对一个服务最起码的尊重。
08 不做系统分级
对系统要一视同仁,不要区分核心系统、非核心系统,你有考虑过系统的感受吗p>
09 没有服务降级
服务降级就 low了,就算宕机也要一起扛。
10 无灰度和回滚方案
上线全凭运气,没有回滚方案!就是那么自信。
11 程序多做远程调用
能远程调用的,绝不本地调用,都5G时代了, 络延迟那点事不算什么。
12 不做代码扫描
要有工匠精神,自己代码自己 review,机器哪里懂得欣赏你的代码艺术骚气的注释、奇妙的函数、神乎其技的 Copy/Paste。每次看代码,都被自己的才华吓到。
13 不做线上压测、不做熔断机制、不做服务补偿、不做幂等设计、不设置超时、不控制流量、不做监控预警
最后,
以上任意一项玩到极致,都足以把公司搞垮,且玩且珍惜。
3. 如何自夸才合适h2>
HBR-China
HBR-China
自夸是一种自我推销的手段,但没人喜欢老是自夸的人,也许是因为自夸会让人感到厌烦和嫉妒。那么,如何在不引起强烈反感的情况下进行有效的自我推销呢strong>
01 他人询问时再分享
当某人为了回答一个问题而详细说明了自己取得的一项成就时,其他人不会介意。
比如:“你最大的优势是什么“你是如何这么快就完成工作的/p>
但如果提出问题不是因为你想得到答案,而是因为你希望有人问你相同的问题,那么给人留下的印象会比直率的自夸更糟糕。
02 他人分享时我亦分享
在他人也在分享的情况下,人们可以成功展示自己的成就,同时又不会留下讨人厌、自负或不顾及别人的印象。
03 寻找第三方评估者
人们认为第三方会比较客观,商业场景中也是如此。
对比一下自夸和被夸的感受:
- “与我共事过的人都认为我是天生的领导者。”
- “与她共事过的人都认为她天生就是一位领导者。”
明显后者感受更好。
04 自夸时要找到一个平衡点
人无完人,当人们呈现出平衡的自我形象,而不是仅仅讨论成功,会给人留下更为可信和友善的印象。尤其是那些地位很高的人,在认可成就的同时也应该承认失败和弱点。
05 去用正确的庆祝方法
我们都希望自己的成就得到他人的认可和称赞,但又不想给人留下自夸的印象,应该做呢p>
- 找到工作中和生活中的密友,他们会把你的胜利等同自身,并为之喝彩。
- 当然独自庆祝也可以。奖励自己一顿美食,一件新衣服,或者放松一个晚上观看自己喜欢的电视节目。
实际上,我建议你花些时间定期复盘自己的成功。为什么呢p>
因为当我们完成某项重大任务时,例如升职。我们的幸福指数最初会上升,但很快就会恢复到基线水平。我们得益于回忆成就、反思复盘并因此取得进步。
最后,
如果你发现自己一直在与自夸的欲望作斗争,那么扪心自问这么做的原因。
每个人都喜欢赞美,但你是否过度依赖它动力不足吗你的职业被低估了吗p>
如果是这样,原因是什么p>
这些问题的答案可能会促使你进行更深刻的自我反省,也许会给你带来比自我推销更多的好处。
言论
1、所谓的编程法则…
2、
“世界上任何书籍都不能带给你好运,但它们能让你悄悄成为你自己。”
— 赫尔曼 黑塞
3、
图片
1、用户要加的功能在产品经理眼中的样子…
2、
3、你们有过类似经历么p>
订阅
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!