软件测试周刊(第27期):储存阳光,必有远芳。
Posted 毕小烦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试周刊(第27期):储存阳光,必有远芳。相关的知识,希望对你有一定的参考价值。
这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
GPT-3:一项可能最终定义未来十年的发明
Fahri Karakas
关于 GPT-3:
- The Verge(美国一家技术新闻和媒体网站)称其为“一项可能最终定义未来十年的发明”。
- 纽约时报将其描述为“迄今为止创造的最强大的语言模式”。
- WD Heaven 在《麻省理工学院技术评论》上发表的文章 称其“令人震惊得没有思绪”。
- 哲学家也进入了这个话题:雷吉尼·里尼(Regini Rini)表示:"GPT-3 不是头脑,但也不是一台机器。这是另外一回事:以统计学的方式对数以百万计的思想内容进行抽象表示,如其写作所表达的那样。"
这就是 GPT-3(Generative Pretrained Transformer-3),生成预训练转换器-3,是 OpenAI 推出的人工智能文本生成器。
2020 年 5 月,Open AI 发表了一篇开创性的论文,题为 Language Models Are Three-Shot Learners。拥有 1750 亿个参数的 GPT-3 由此诞生。它打破了人类有史以来创建的最大神经网络的记录。
GPT-3 使用了几乎所有来自互联网的可用数据进行训练,并在各种 NLP 任务中表现出惊人的性能,甚至超过了最先进的模型。
所以 GPT-3 到底是什么?
- GPT-3 是一种基于深度学习原理的语言预测模型。
- GPT-3 是一个基于上下文的生成 AI 系统。当你向 GPT-3 提供提示或上下文时,它可以填写其余部分。如果你开始一篇文章,它将继续这篇文章。
- 当你在 Gmail 或手机上写邮件时,你知道会收到一些自动完成建议。GPT-3 可以看作是一个巨大的自动完成程序。
- GPT-3 已成为最强大、最先进的基于机器的英语写作工具。
- GPT-3 能够基于其对大量计算能力和数据的访问来生成类似人类的文本。
- GPT-3 算法基于 1750 亿个参数运行。每个参数都是一个方程,帮助 GPT-3 算法进行精确预测。
- GPT-3 使用云计算分析了 45 TB 的数据。完整的英文维基百科仅占GPT-3 训练数据的 0.6%。这意味着 GPT-3 已经访问了迄今为止制作的大部分互联网、新闻、故事、数字书籍、论坛帖子、小说作品、社交媒体、博客、手册、代码和人类文学。GPT-3 已经掌握了所有这些知识,并且已经获得了大量时间和资源来咀嚼这些资源。
- 由于 GPT3 可以巧妙地发现庞大数据集中的模式、概率和一致性,因此它可以执行我们认为迄今为止不可能完成的各种复杂任务。
- GPT-3 是人类思维的自动完成功能,因此它的读写能力出奇地好。
- GPT-3 是一种无监督学习器。它自己学习并掌握了一切。
- GPT-3 是不可思议的。它可以猜测接下来最有可能出现的词是什么。当你给它一个初始提示时,它会立即写一个故事。
- GPT-3 可以创建原创文章,散文,诗歌,对话,模因,计算机代码等等。
GPT-3 能做什么?
- 它产生了与人类工作几乎没有区别的原创和连贯的写作。
- 它分析上下文。
- 它生成图像。
- 它编写代码。
- 它创作音乐。
- 它提出了新的商业理念。
- 它写诗。
- 它撰写博客文章(其中一些最终成为Hacker News 的热门文章)。
- 它使用枯燥的幽默和讽刺。
- 它像治疗师一样交谈。
- 它写有创意的小说。
- 它模拟不同的人类情绪。
- 它用表情符号总结电影。
- 它可以模仿名人和历史人物。
文章
1. 当一位资深程序员醉酒后:说了这些我可能会后悔
原文发表于 2021 年 5 月 28 日,是 Reddit (美国的社交新闻站点)上的一个热帖。
- 技术栈其实并不重要,所有的领域都有大约 10-20 个核心原则,技术栈只是试图让这些事情变得更容易,所以不要为此烦恼。
- 在我工作过的公司里,我结交了一些很好的、一辈子的朋友。但我不会把它作为我工作的每个地方的必要条件。
- 我学会了对经理诚实,这样在工作中我可以做到真实。怕什么?他炒了我?我会在两周内找到一份新工作。
- 好的代码是初级工程师可以理解的。优秀的代码可以被一年级的计算机系新生理解的。最好的代码就是根本没有代码。
- 作为一名工程师,最容易被低估的技能就是如何写文档。靠,有人教我怎么写好文档吗?说真的,如果有任何建议,我都会认真的支付费学习。
- 随着年龄的增长,我越来越欣赏动态语言。妈的,我说出来了。跟我打吧。
- 不要去见你的英雄。我花了5千美元去参加一个我心目中的英雄的课程。他是一个聪明的人,但是最后我意识到,他和我们其他人一样是在编故事。
- 善待每一个人。不是因为它会帮助你的事业,而是因为善良本身就是一种奖励。
- 作为一个优秀的工程师意味着了解最佳实践。作为一个高级工程师意味着知道何时打破最佳实践。
- 伟大领导力的最好证明就是,我的领导为一个完全是我的错的错误承担了责任。
- 做我喜欢的事并不重要,重要的是不要让我做讨厌的事。
- 我越接近产品,我就越接近推动收入,无论我的工作技术性如何,我都感到越有价值。
2. 高效的时间管理,为什么成了痛苦的根源?
HBR-China( 哈佛商业评论)
严格管理每一分钟让人身心俱疲,为了追求效率,很多人执着于时间管理,但最后反而损害了真正的效率。比起高度关注客观时间的效率,人们其实需要的是更主观地看待整体的时间体验,在每一项工作中寻求意义而非效率。
什么是客观时间?什么又是主观时间呢?
客观时间关注的是钟表和日历等外部时间衡量工具,主观时间则是个人内在的对时间的体验。
从这个角度讲,主观时间反映的是人如何感知和理解时间,在精神上穿越时间,用过去的记忆和未来的预测为当下赋予意义。
一味的管理客观时间,会让人忽视与主观时间相关的三个重点。
- 时间并不像我们想的那样客观:
-
- 时间的客观属性与主观时间密不可分,而我们并未意识到这个事实。
- 许多人认为会议应该安排在正点或半点,工作时间应该是早八晚五,但这只是社会结构的惯例而已,有时可以放宽。
- 有个经典的比喻,说我们都在抛接五个球:工作、家庭、健康、朋友和灵魂,其中只有工作是橡胶球,失手掉落还能弹起来。
- 时间基于事件,而非钟表或日历:
-
- 根据“事件时间”来安排工作,是把工作置于日程安排之上(比如在状态好的时候开始工作,在需要休息的时候停下休息)。
- 将工作任务视为自然事件,强调效能甚于效率,长期而言还能提升对时间的控制感,并在任务中获得更大的乐趣。
- 遵循“事件时间”来工作还能发挥偶尔走神的益处:
-
-
- 如果需要新颖有创意的解决方案,任思绪游荡可以发挥价值。
- 事件时间令人得以自由地进行开放式的发散思维,获得难以捉摸的顿悟,而过度规划的时间管理只会扑灭灵感的火花。
-
- 主观意义大于客观时间表:
-
- 研究表明,人在感知和解读主观时间、在其中进行心灵旅行时,本质上是在寻找意义。
- 人们会在心中回味过去,“预演”未来,在当下寻找能够为这些体验赋予意义的事。
- 人们在选择如何分配时间的时候,往往忽视意义,更多地考虑时间的经济价值。
我从关于主观时间的研究中得出的重要结论是,不能再把时间管理当朋友了,有时它是我的敌人。
如果你需要自律和条理,那些高效管理时间的方法自然是必不可少。但对于一些人而言,时间管理反而会损害真正的效率。
你是怎么认为的呢?
3. 持续交付基金会 2021 持续交付报告解读
小马哥
持续交付基金会(CDF)在近期发布了持续交付报告,初读报告的时候,还是有些许震惊,持续交付已经持续多年,但是依旧有很多企业或者组织很难做到。
什么是持续交付?
持续交付是一种软件开发的实践方式,它能够让团队以安全、快速和稳定的方式来向用户交付软件变更。持续交付对于团队是如何交付价值来讲是非常重要的。
对于现代化企业来讲,随时交付可靠的软件变更是非常重要的。
持续交付和 DevOps 是息息相关的,因为 DevOps 是一个旨在改善持续交付的组织和文化运动,旨在改善持续交付,并在软件利益相关者之间建立共同的所有权。
为何持续交付如此重要?
所有的企业和组织都不得不适应在不断变化的环境中进行运作。精益方法能够帮助组织以更加精简的方式来进行创新。和客户反复进行想法沟通,通过构建一系列的验证实验来测试一个想法在最小可行规模下的实用性。对于那些高度契合市场的想法,可以进行大量投资。
精益方法的关键是要减少软件安全、可靠交付的时间。持续交付是关于优化软件交付循环,使企业能够负担得起尽可能多的迭代,以最大限度地提高发现一个能在不断变化的市场中取得成功的功能或服务的机会。
持续交付对于组织、流程和团队的好处是什么?
对于组织
- 加速新功能的交付
- 提升对外部变化的响应
- 构建深度的用户关系
对于流程
- 快速反馈和洞察力
- 减少部署痛点
- 提高质量
对于团队
- 创造一个高可信的文化
- 提升员工的工作满意度
- 减少倦怠
如何度量软件的成功交付?
有四个关键指标用来衡量软件交付效能,同时也是对组织效能的预测。
速度(Speed)
- 部署频率(Deployment frequency):团队成功上线的频率,比如每天、每周、每月甚至每年。
- 变更前置时间(Lead Time for Changes):从代码提交到上线的时间中位数。
稳定性(Stability)
- 变更失败率(Change Fail Rate):部署失败次数在部署次数中的占比。
- 服务恢复时间(Time to Restore Services):针对一次故障,造成故障的部署与故障恢复之间的时间中位数。
2021 软件交付效能(该调研涉及来自 155 个国家的 19,000 多名受访者)
- 部署频率:在部署频率这一项上,只有十分之一的开发者属于精英层,也即他们每天可以有多个部署。
- 变更前置时间:接近三分之二的开发者表示从代码提交到成功上线大概需要花费一周时间。
- 变更失败率:一半的开发者报告说,他们在不到一天的时间内就能从计划外的故障中恢复服务。
最后,
Nicole Forsgren 在《加速》一书中提到:软件交付是一项持续改进的工作。我们的研究表明,年复一年,最优秀的企业不断改进,而那些未能改进的企业则越来越落后。
工具
1. 让所有网站都支持深色主题 - Dark Reader
深色主题舒适又护眼,广受大家的喜爱 。我们所接触到的操作系统(电脑&手机)基本上都支持了深色主题,很多 APP,特别是阅读 APP 也都支持深色主题。可是网站呢?有些支持有些不支持。
如何能让所有网站都支持深色主题呢?
用 Dark Reader。
Dark Reader 是一款浏览器插件,可以改变页面的主题,支持黑暗和明亮两种主题,配色特别舒适,看起来特别好看,适用于 Chrome、FireFox、Edge、Safari 浏览器。
基本信息
名称 | Dark Reader |
版本 | 3.5.4 |
浏览器 | Chrome、FireFox、Edge、Safari |
适用平台 | macOS、Windows、Linux |
开源地址 |
功能特性
- 支持黑暗和明亮 2 种主题;
- 可以调节亮度、对比度、灰度、棕褐色滤镜等;
- 可以添加反色列表和不反色列表等。
2. 测试网速和网站加载的速度 - Speedtest by Ookla
你想知道家里的网速怎么样吗?你想知道公司的网速怎么样吗?上传速度怎么样?下载速度怎么样?
你想知道某个网站的打开的速度怎么样吗?
用 Speedtest by Ookla 一键帮你搞定。
Speedtest by Ookla 是一个 Chrome 插件,主要用于测试网络速度和网站加载速度。
这款插件出自 Speedtest.net,这是一个非常有名的网络测速网站,中文站是 https://www.speedtest.cn/(测速网)。
基本信息
名称 | Speedtest by Ookla |
版本 | 1.0.9.9 |
浏览器 | Chrome |
适用平台 | macOS、Windows、Linux |
功能特性
- 一键测试网络速度
- 一键测试网站速度
3. 将浏览器窗口的所有标签页合并显示在一个页面列表中 - OneTab
我们经常会在一个浏览器窗口打开很多个标签页,像这样:
每个标签页都只有一个小图标,眼花缭乱,都不知道哪跟哪儿了。而且很占内存。
如何更好的查看和管理这些标签页呢?
用 OneTab,将所有标签页合并在一个页面上显示。
OneTab 是一个浏览器插件,用于将同一个浏览器窗口中的所有标签页转换成一个网址列表,并将其显示在一个页面上。这样,不但查看方便,而且很省内存,据说可以节省高达 95% 的内存。
基本信息
名称 | OneTab |
版本 | 1.53 |
浏览器 | Chrome、Firefox、Edge、Safari |
适用平台 | macOS、Windows、Linux |
4. GitHub官方推出的自己会编程会自动生成代码的 VS Code 插件 - Copilot
loonggg
微软和 GitHub 近期推出了一款 AI 程序员智能插件,它自己会编程,会自动生成代码,有人说:软件开发领域的「第三次工业革命」似乎正缓缓揭开序幕。
这就是 GitHub、OpenAI、微软联合打造的一个全新的代码生成 AI:GitHub Copilot,是一款 Visual Studio Code 插件,支持在本地或 GitHub Codespaces 上使用。
Copilot 可以根据程序员的注释写代码,自动补全代码,提供与代码匹配的测试,还能生成多个备选方案的代码供选择。
GitHub 表示,Copilot 生成的代码大部分是原创的。
安装地址:https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
方法
1. 你真的会开会吗?7Ps框架了解一下
很多人认为开会就是浪费时间,但又避免不了,如何组织一场高效的会议呢?
用敏捷会议 7Ps 框架,帮你建立对会议的系统性认知,搞定高效会议。
7Ps 是什么?
7Ps 是 James Macanufo 设计的一个用于规划和准备会议的工具,包括了会议的 7 个关键要素。会议的组织者可以在会议准备阶段作为自检清单使用。
7Ps:
- 会议主题 - Purpose:为什么要开会?组织者要向与会说明开会的目的,如果说不清楚就不要开了。
- 会议产出 - Product:会议的产出是什么?如果没有具体的产出就不要开会了,可能你需要组织一次团建。
- 参与人员 - People:哪些人要参加?为什么?搞清楚每个与会人员的角色及他们要回答或解决的问题。
- 会议流程 - Process:会议的流程是什么?在有限的时间内分几步?
- 会议风险 - Pitfall:此次会议有哪些风险?我们如何应对?如,某个重要决策者参与不了,超时,或资料准备不全怎么办?
- 会前准备 - Preparation:会前与会者要准备什么?是否要提前阅读材料?
- 会议物料 - Practical concerns:包括物料、场地、设备、时间、地点、午饭等等。
在这 7 个关键要素中,对会议的成功和建立认知影响最大的两个要素是 Purpose 和 People。
- Purpose 是会议的原因,当问题定义清楚,方案是更容易的事。
- People 指与我何干,当把利益关系定义清楚,参会者的定位就会清晰,就会自然遵循你设计的系统的规则行事。
如何使用 7Ps 框架?
在设计时,可以采用由Romain画的 7Ps Canvas 作为会议设计的模板,帮你结构化的梳理和呈现会议的准备工作。
再来一个思维导图的模板
最后,
“在准备战斗时,我总是发现计划没有用,但是计划又是必不可少的。” - 德怀特·艾森豪威尔
2. 如何进行前端插件数据验证的自动化测试?
嘉应(酷家乐技术质量)
随着前端工具设计迭代、服务拆分粒度逐渐细化,一个功能的实现,往往需要多方合作,涉及多个服务间数据传递、多个插件间数据传输,如何获取服务间、插件间的数据,对问题排查尤为重要,这也是对单应用进行精准测试的前提。
如何验证前端插件间的数据传递呢?
这本质上就是服务间的接口调用,所以想要获取插件间数据传递,必须先了解插件间的调用方式。作者通过插件暴露 API,再构造数据。
这样一来,插件的数据验证自动化就可以做了:
如上所示,在 SIT 环境进行数据对比,就实现了自动化测试。
3. 如何进行持续交付的构建管理?看看转转客户端的做法
孙敏(转转QA)
转转的持续交付平台叫:鲁班,在持续交付的整体流程中,主要承担:APP 版本流程、包构建、APP 专项测试等能力。
鲁班的包构建管理相关能力怎么样呢?
开发测试阶段,包构建频次非常高,整个阶段经历:提测 - 测试 - 修复 - 测试的一个反复的过程,构建管理提供了这个环节的基础能力,需要提供稳靠,尽可能自动化,减少人工重复消耗的能力。
鲁班的设计思路:
- 通用性和可扩展:
-
- 提供公共打包脚本和配置的模板,可视化操作。
- 提供可自定义的扩展参数,便于各业务在基础构建脚本外扩展自己的业务逻辑。
- 构建参数模板化
-
- 可将不同参数组成一个个构建模板,便于用户根据不同的场景打出不同用途的包。
- 触发构建机制
-
- 自动触发:开发提交 tag 自动触发,减少人的介入。
- 手动触发:包括开发在 beetle(转转的分支管理系统) 上触发编译操作或在鲁班平台上手动构建需要的包。
- 构建结果数据存储
-
- 存储构建历史和打包结果。记录构建信息和打包结果的信息,结果可查询。
- 构建结果存储为二维码,方便用户扫码安装。
- 串联发版能力
-
- 可自动完成发版操作。
- 发版的同时保存版本数据结果,记录版本历史节点,便于后续版本追溯。
构建管理还关联了 APP 的一些自动化、检查项等配置。例如静态代码扫描,冒烟,UIcase 等。
流程如下图所示:
言论
1、储存阳光,必有远芳。心中有暖,又何惧人生荒凉?
2、
莫因渴望你没有的,而错过你已拥有的;要知道,你现在拥有的,也曾是你渴望的。
| 一位微博网友
3、
“并非困难使我们放弃,而是因为我们放弃,才显得如此困难”。
| 一位微博网友
图片
1、为啥我的电脑没有反应了?
2、多核并行的真相
订阅
软件测试
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
以上是关于软件测试周刊(第27期):储存阳光,必有远芳。的主要内容,如果未能解决你的问题,请参考以下文章