| 编辑:国薇、一口锅、菜菜、静怡、小淑子
这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
不戳(酷家乐用户体验设计)
当设计团队规模扩大,人数快速增多,每个人都带着自己以往工作经验和习惯,一些典型问题就会显现:上手就干、主观设计、缺少方法、忽视跟进等等。
怎么办呢?
通过「UI标准设计流程」,为 UI 设计师提供对于设计支撑思路的共识,让设计更有价值。
从接到需求到上线后跟踪,我们把流程拆分为五个节点:需求分析 - 交互设计 - 视觉设计 - 视觉规范 - 方案验证。
STEP 1. 需求分析:在接到一个设计需求后,要做的第一步是进行分析并确定设计目标。
我们需要:了解背景、用户和竞品,能准确理解产品定位和需求目标,评估需求的合理性和准确性,并提供相应策略;甚至洞见机会点,通过设计对业务产生正向价值。
STEP 2. 交互设计:在产品流程中,交互设计的作用在于,通过信息架构的组织去产出体验流畅的界面原型。
我们需要:充分理解整体流程与交互原型,基于设计原则去发现可优化的部分;同时能平衡产品、设计与开发的效益最大化,并驱动产品的体验提升。
STEP 3. 视觉设计:视觉设计是产品与用户直接连接的媒介,优质而恰当的视觉设计,可以极大地提升产品吸引力。
我们需要:基于分析确定视觉方向、定义设计语言,输出完整且高质量的视觉页面。
STEP 4. 设计系统:在设计典型页面的同时,其背后其实已经对应了一套设计规范和组件,而我们基于此去整理并沉淀出设计系统,能极大地提升统一性和迭代效率。
我们需要:制定完整、清晰的基础规范,沉淀图标库、组件库等,并持续优化和更新,形成可持续沿用的产品设计系统。
STEP 5. 落地跟踪:在设计完成之后,我们需要对设计方案进行评审、验收及数据跟踪,以保证设计方案的落地并跟进调整。
我们需要:运用合理策略以保证设计方案的高质量落地,对方案上线后的用户反馈进行有效跟进,运用多种方式验证目标,迭代产品。
Test Ninja(软件质量报告)
什么是敏捷测试?
维基百科的定义:
敏捷测试是遵循敏捷软件开发原则的软件测试实践。敏捷测试涉及跨职能敏捷团队的所有成员,由测试人员提供特殊的专业知识,以确保以可持续的步调频繁地交付客户期望的业务价值。
简单点说,敏捷测试是遵循敏捷软件开发原则,力求达到质量和效率平衡的软件测试实践。
敏捷测试的理念是什么呢?
敏捷测试的理念和编码一样,测试是开发的一个关键部分。在敏捷中,测试被直接集成到软件开发过程中,以便尽早、频繁地发现 bug。因此,测试人员可以在开发过程的每一个节点上发现问题,从而使产品快速走向发布。
敏捷测试与传统测试的区别是什么?
传统测试和敏捷测试的不同点:
传统测试 |
敏捷测试 |
|
何时测试? |
在软件开发结束时开始测试 |
持续测试/和开发同时进行 |
谁对质量负责? |
质量是测试人员的责任 |
团队对质量负责 |
谁参与测试? |
有专门的测试人员或测试部门 |
所有团队成员参与测试 |
如何测试? |
基于脚本进行测试 |
探索式测试 |
参考什么? |
有需求文档作为参考 |
用户故事和用户需求作为参考 |
思维是什么? |
攻破软件的思维 |
开发出最好的软件的思维 |
介入时机? |
测试介入晚,对产品质量反馈晚 |
测试更早的介入并提供持续反馈 |
测试目的? |
发现缺陷 |
预防缺陷 |
敏捷测试人员的十项原则是什么?
在敏捷开发中,测试是整个敏捷团队的事情。“敏捷测试人员”指的是主要活动与测试和质量保证相关的团队成员。
金喜(阿里技术)
尽管我们可以通过稳定性体系建设,来避免出现生产系统故障。但是仍然无法彻底做到一点风险都不会产生,当稳定性风险产生后,怎么快速协调组织,缩短故障时长呢?
一. 结构化问题解决,让故障恢复有续进行。
典型的结构化解决生产环境故障的步骤如下:
生产环境中,出现突发异常时候,我们第一优先的是考虑怎么快速恢复服务,因此本文中重点介绍上面流程中前面 2 个步骤。
二. 约定好关键角色,提升协作效率。
突发异常的情况都各有不同,很难有一个完全统一而且颗粒度很细的标准流程,但是可以提前约定好几个关键角色,定义角色的作用和关键动作,来提升协作效率。
主要包括这些角色:指挥员(组织协调的人)、通讯员(收集、记录和通知的人)、快恢负责人(决策执行预案的人)、问题诊断负责人(定位故障的人)
一. 指挥员:
二. 通讯员:
三. 快恢负责人:
四. 问题诊断负责人
最后,
故障应急响应是维持系统高可用的最后一个机会,这个环节的不专业表现,对于稳定来说是最后彻底的失守。因此,跟预案演练一样,故障应急也需要重点锻炼。
静态代码扫描是投入产出比最高的一种质量保障手段。这款轻量的开源扫描工具 Semgrep 你需要了解一下。
Semgrep 是一种快速、开源的静态分析工具,可在编辑器中、提交和 CI 时查找错误和执行代码标准。支持的语言包括: Go · Java · JavaScript · JSX · JSON · Python · Ruby · TypeScript · TSX。
Semgrep 在你的电脑或构建环境中本地分析代码:不会上传任何代码。所以不用担心安全问题。
另外它的规则也很简单,看起来就像你已经编写的代码;没有抽象的语法树、正则表达式或痛苦的 DSL。
下面的例子是查看 print() 语句的规则:
开源地址:https://github.com/returntocorp/semgrep
Trilium Notes 是一个分层的笔记应用程序,专注于建立大型个人知识库,支持 Windows 和 Linux 系统,macOS 只是简单支持。
功能特性:
开源地址:https://github.com/zadam/trilium
谌天洲(字节跳动技术团队)
Android 平台上的内存问题一直是性能优化和稳定性治理的焦点和痛点,Java 堆内存因为有比较成熟的工具和方法论,加上 hprof 快照作为补充,定位和治理都很方便。
而 native 内存问题一直缺乏稳定、高效的工具,仅有的 malloc debug 不仅性能和稳定性难以满足需要,还存在 Android 版本兼容的问题。
Raphael 是西瓜视频基础技术团队开发的一款 native 内存泄漏监控工具,具有接入简单、监控范围广、性能优良、 稳定性好的特点。广泛用于字节跳动旗下各大 App 的 native 内存泄漏治理,收益显著!
开源地址:https://github.com/bytedance/memory-leak-detector
淘系技术
程序员的工作非常忙碌,如何在繁忙的工作中利用碎片化时间学习或是做自己感兴趣的事情?
不管是新的应届生,还是两三年的职场人,甚至工作多年的职场老人都在关心这个问题。到底现在的程序员该如何利用业余时间从而让那个自己达到满意的状态呢?
淘系技术的工程师,给大家分享了一些经验。
如何利用工作以外的时间?
如何保持高效的工作状态?
“业余时间”对自己提升要注意什么?
最后,
不管是什么职业,我们都需要继续提升。很多人觉得生活如一潭死水,工作没有任何提升。其实不外乎一个原因:想太多,做太少。解决方法很简单,放手去干。
坚持很重要。我们的职业生涯,其实是一场没有终点的长跑比赛,短期内快一些没有任何意义。最终的胜利者一定是坚持跑的人,他们能跑赢,只是因为他们一直在跑。
共勉。
罗振宇
一个高手之所以是高手,不是因为他在享受更多的自由,而是他看到了更多的限制。成为高手的过程,不是一个更放纵自己的过程,而是一个不断受到约束的过程啊。
来看一个例子:
2019 年的奥斯卡最佳纪录片奖颁给了一部纪录片《徒手攀岩》。这部影片记录的是一位叫做 Alex 的职业攀岩运动员,徒手爬上一座悬崖的过程。
感受一下:
请注意,这是徒手攀岩啊。
没有任何工具和保护措施,在近乎笔直的悬崖上,要往上攀登将近一公里,全程要几个小时。只要一次失误,只能是粉身碎骨,不会有第二种可能性。
这不是白白送死吗?可 Alex 不这样认为,他说:“风险和后果是两回事。徒手攀岩的风险很低,只是后果很严重。”
咦?徒手攀岩风险很低吗?可控吗?在我们普通人看来,这是不可思议的,但 Alex 的答案是:可以。只要勤于练习。
为什么他敢这么说呢?因为他为了这次攀岩准备了 8 年,而且是在各种不同的条件下练习,一遍一遍地考察路线,带绳练习,记笔记。可以说岩石上,哪个地方有一个微小的凸起可以借力,哪个地方手和脚应该怎么配合,Alex 都熟记在胸、倒背如流。
所以,最终徒手攀岩的那一天,就像一场大型舞蹈表演。每一个动作都是事先彩排过无数遍的,Alex 只需要准确执行,没有什么惊喜。
这就是高手。
Alex 长期的训练,不只是做到动作熟练而已。他实际上是在感知一个个的限制。这条路线只能这么设计、这块石头只能用这个姿势踩、这个地方的手脚挪动只能按照这个顺序。
这是什么,这不就是我们常说的刻意练习吗?想成为高手,就要刻意练习,不断改进,能够准确的应对各种问题。
杨璐(Thoughtworks洞见)
为什么数据安全会成为当下最重要的安全问题?
当安全已经成为数字化转型的关键时,数据安全的使用和过程的管理,就成为了不可回避的话题,我们先从“隐私数据”的保护说起。
为什么要关注隐私数据?
数据平台中的隐私数据有哪些问题?
如何应对数据安全的问题?
01 明确法律要求和安全需求之间的关系。
02 关注生命周期,从源头解决问题。
03 定位相关数据,整理隐私保护清单,时刻维护隐私安全策略。
04 安全意识高于一切,需要不断反思和坚持实践,使实践成为一种习惯。
应对数据安全问题的技术方案是什么?
1、
对于期望值的考量在不利因素极为糟糕的情况下也适用。例如,即使你患癌症的几率很低,当你有疑似症状的时候,做一下检查来确认还是很值得的。
2、
3、
知乎上的那些神回复
Q: 有哪些东西你以为很贵,但其实很便宜?
A: 大学刚毕业的我。
Q: 中国程序员是否偏爱「冲锋衣+牛仔裤+运动鞋」的衣着?如果是,为何会形成这样的潮流?
A: 穿那么好看给程序看吗?
Q: 你读过的书中,有哪些让你觉得惊艳的开头?
A: abandon
Q: 为什么每次圣斗士出招前都要大喊一下招式?
A: 函数要先声明,才能调用。
Q: 祈求代码不出 bug 该拜哪个神仙?
A: 拜雍正,专治八阿哥。
Q: 颜值真的有那么重要吗?
A: 同样是互联网巨头 李彦宏是老公 而马云只能当爸爸
Q: 为什么人常会在黑夜里,变得矫情万分?
A: 要渲染的图像少了,CPU就有空闲来思考人生了。
Q: 员工辞职最主要的原因是什么?
A: 钱少事多离家远,位低权轻责任重。
Q: 为什么科技水平提高了,人却没有更轻松?
A:因为科技只管吃穿住行,不管贪嗔痴妒。
1、软件是如何做出来的?
2、我会的 VS 老板让我做的
3、
我是程序员的大脑
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,记得留言、点赞、加关注哦!
(完)