这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
机密计算是什么?
机密计算(Confidential Computing)是一种云计算技术,可在处理期间将敏感数据隔离在受保护的 CPU 区域中。enclave(一个被保护的内容容器) 中的内容只能由授权的编程代码访问,并且任何人(包括云提供商)都无法看到。
为何要使用机密计算?
对于数据安全而言主要包括:静态数据、传输中数据和使用中数据。
这两种保护技术都比较成熟,但对于数据使用安全,
由于在数据在使用的过程中,只有明文数据(未经加密或其他保护的数据)才能在应用程序中完成计算,这就意味着在这一过程中,恶意软件可以转储内存中的内容以窃取信息,因此即便是在服务器的硬盘驱动器上对数据进行加密,结果也无济于事。
所以,保障数据存储中的安全格外困难。
机密计算就是针对数据在使用过程中的安全问题所提出的一种解决方案。
机密计算是如何实现的?
机密计算使用基于硬件的技术将数据、特定功能或整个应用程序与操作系统、虚拟机管理程序或虚拟机管理器以及其他特权进程隔离开来。数据存储在可信执行环境(TEE)中,即使借助调试器,也无法从外部查看数据或对数据执行的操作。TEE 确保只有授权的代码才能访问数据。如果代码被更改或被篡改,TEE 将拒绝操作。
TEE(可信执行环境):TEE 提供一种与不可信环境隔离的安全计算环境,正是这种隔离和可信验证机制使得机密计算成为可能。
随着公司越来越依赖公共云和混合云服务,云中的数据隐私势在必行。由于数据在使用中的安全问题,许多企业担心其敏感数据泄露,因此拒绝将一些敏感的应用程序迁移到云中,这在一定程度上阻碍了公共云的发展。但机密计算的出现,正在试图扫除这一障碍。
机密计算的主要目标是向公司提供更大的保证,确保其云中的数据受到保护,并鼓励它们将更多的敏感数据和计算工作移至公共云服务。
参考资料:
刘润
To B 生意最大的特点就是流程和复杂,你要知道这几件事:
人
钱
事
戴着镣铐起舞
To B 的生意,有无数的参与者,决策者。 每个人都有自己的原因,有自己的利益。
所以,才有了流程、规范、制度。 在这些制约下,游刃有余地影响决策者,促成合作,是必须要认识清楚的事情,也是一种本事。
宝玉
Code Review(代码审查)是软件开发中的最佳实践之一,能够及时发现代码中可能存在的问题,有效提高整体代码质量。像 Google、微软这些公司,Code Review 都是基本要求。
作者结合自己的经验,整理了 Code Review 的最佳实践。
Code Review 有什么好处?
Code Review 该怎么做呢?
好处很明显:
一些 Code Review 的经验技巧
创建一个 Ticket,用来后续跟踪,确保后续补上 Code Review,并对 Code Review 结果有后续的代码更新。
皮皮哥
测试的怎么样啦?功能测完了吗?场景覆盖全了吗?代码覆盖全了吗?
当我们被问到这些问题的时候,就会想到覆盖率。
那,
我们通常所说的覆盖率是一个非常宽泛的概念,主要有:功能/场景覆盖率、接口覆盖率、代码覆盖率。
而今天讨论的代码覆盖率在维基百科上的定义是:
代码覆盖率(Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。
代码覆盖率的分类有:函数覆盖率、行覆盖率、分支覆盖率、条件覆盖率、条件分支覆盖。粒度是由粗到细,用的比较多的是代码行覆盖率。
目的是通过数字度量源代码的测试完备程度,从而提高被测系统的质量。
来看一张图:
可以得到一些结论:
开发代码:
测试代码:
要更加深入的分析代码覆盖情况,动态代码覆盖率是一个有效、但实现起来较为困难的手段。
增量代码覆盖率可以更为有效地描述覆盖率变化,可以更好地指导我们后续的工作;这也是目前业内代码覆盖率工程的一个新方向。
那,什么是增量代码覆盖率?
覆盖率是由被测代码和测试过程相互决定的,所以增量覆盖率其实是由“被测代码变动”和“测试覆盖变动”这两项相互交叠。
代码插桩。简单来说,就是在每一条语句之后插入一条覆盖率用的打点语句,该打点被执行就意味着前一行代码被执行了。
每一种不同的语言都有自己的覆盖率收集工具,例如 golang 的 go coverage 以及 java 的 jacoco。
Excalidraw 是一个线上白板,能够轻松设计出手绘风格的图形。
如下图所示:
图片来自:https://www.jianshu.com/p/16d4ea4ff106
使用地址:https://excalidraw.com/
开源地址:https://github.com/excalidraw/excalidraw
Ckend
py-spy 是用于 Python 程序的性能监控、分析器。它使你可以直观地看到 Python 程序花费的时间,而无需重新启动程序或以任何方式修改代码。
开源地址:https://github.com/benfred/py-spy
有一个收集创意的网站叫 ideasgrab,每天更新,你可以选取这些创意并应用于自己的项目。
网站地址:
https://www.ideasgrab.com/
创意如下:
bluedavy(阿里毕玄)
对于程序员而言,代码是展现能力的关键,一个优秀的程序员和一个普通程序员写的代码是很容易看出差别的,代码就是程序员的硬实力和名片的展示。
怎么提升写代码的能力呢?
作者谈了他代码能力提升比较大的四段经历,总结下来的经验就是:
如:
要学高并发的通信,可以尝试自己写一个和其他的做对比,做性能等的 PK。
要学 GC,可以尝试给自己几个题目,来控制 GC 的行为等,如果环境具备的话,确实会更加有利;
自己工作里机会少的话,网上有大把,像 stackoverflow 之类的,都是很好的练习场。
张丽俊
你为什么而奋斗? 有人为了家庭,有人为了事业,有人为了实现社会价值。虽然奋斗不一定让你成功,但是会让你感觉走在幸福的路上,让你离想要的幸福近一点。
成为一个高效能的人士有个“三力模型”:体力、心力和脑力。
一. 体力
如何保持体力?
二. 心力
什么是心力?就像弹簧压到底的反弹力。
职场这条路很难走,好比一群猴子爬树,如果你是普通员工,往上看都是红屁股,往上爬很难。好不容易爬到管理层,成了“夹心饼干”,上面有老板,下面有员工,也不好做。
到了老板位置,前面没路了怎么办?你的压力得有多大?
没有强大的心力,我们在每个层级都会“死掉”。
锻炼心力的三个建议:
1)热爱是战胜恐惧的法宝。
2)必须有个师傅。一是名师,二是要求很严格。
3)解决问题、获得成功是心力强大的唯一路径。
三. 脑力
脑力不是智商,而是结构化思维。级别越高,每天需要判断的事情越多,你需要有个快速判断的能力。脑部训练,最重要的是做结构化训练。
顶尖高手基本上有这么几个特质:
第一,纯粹。一个能大成的人,思想都很纯粹。而一个脑子很复杂的人,无法聚焦地把一件事做成。
第二,利他。理想主义在前,现实主义在后。
第三,精进。日复一日,年复一年地精进。
第四,修行。在行动中修行。
1、这个「发」字该读第几声呢?
2.
我以为别人尊重我,是因为我很优秀。慢慢的我明白了,别人尊重我,是因为别人很优秀;优秀的人更懂得尊重别人。对人恭敬其实是在庄严你自己。
-- 仓央嘉措
1、客户需求 VS 最终产品
2、世界公认的九大危险行为
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)