软件测试周刊(第64期):要和能让你快乐的一切,定期联系。
Posted 毕小烦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试周刊(第64期):要和能让你快乐的一切,定期联系。相关的知识,希望对你有一定的参考价值。
编辑:一口锅、静怡、小淑子、哲宇、夏至、CC、Silvery、holiday
今天是 2022年03月25日,欢迎来到第 64 期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本期看点:并发场景的质量保障怎么做?监控平台应该怎么测试?制定测试策略要注意的几个点;前端单元测试到底如何落地?现代 android 开发最佳实践是什么?防御性设计和开发应该怎么做?关于微前端你应该知道的;如何走好35岁后这段丰富又狭窄的职场路?你最好的一条职业建议是什么?
·
阅读愉快!
🐞 软件测试
1. 并发场景的质量保障怎么做?
靖北(阿里技术)
并发问题是电商系统最常见的问题之一,例如库存超卖、抽奖多发、券多发放、积分多发少发等场景;
之所以会出现上述问题,是因为存在多机器多请求同时对同一个共享资源进行修改,如果不加以限制,将导致数据错乱和数据不一致性;解决并发问题的方式有很多,例如:队列、异步、响应式、锁都可以;
本文针对使用较为广泛的分布式锁的方式来进行叙述如何进行质量保障。
原文地址: |
2. 监控平台应该怎么测试?
Amy Ray(科技中通)
ZCAT 是中通科技中心自研的监控平台,它提供了链路数据跟踪、信息采集存储、数据计算、风险预警等能力,低成本的排障方案能帮助不同职级的用户快速定位问题。
本文主要介绍如何从功能测试出发,针对 JS SDK 功能、后端 Java 服务数据上报及查询结果验证等实践案例进行分析,最终将功能测试转化为自动化测试的实践过程。
原文地址: |
3. 制定测试策略要注意的几个点
持续交付2.0
创建测试策略通常是一项复杂的任务。
理想的测试策略是通过应用成本效益分析和风险分析的基本原则,以最佳方式平衡这些软件开发因素(实施成本、维护成本、货币成本、好处、风险)来实现的。
在测试计划中有效地平衡这些因素,在很大程度上取决于项目的关键性、实施细节、可用资源和团队意见。
本文用于指导读者找到项目中正确的平衡点。
原文地址: |
🐴 质量效能
1. 前端单元测试到底如何落地?
莫疾(政采云前端团队)
对于现在的前端工程,一个标准完整的项目,通常情况单元测试是非常必要的。但很多时候我们只是完成了项目而忽略了项目测试。
作者认为其中一个很大的原因是很多人对单元测试认知不够,因此写了这篇文章,一方面期望通过这篇文章让你对单元测试有一个初步认识。另一个方面希望通过代码示例,让你掌握写单元测试实践能力。
原文地址: |
2. 现代 Android 开发最佳实践是什么?
王鹏,孙永盛(字节跳动技术团队)
MAD 的全称是 Modern Android Development,它是一系列技术栈和工具链的集合,涵盖了从编程语言到开发框架等各个环节。
Android 自 08 年诞生之后的多年间 SDK 变化一直不大,开发方式较为固定。13 年起技术更新逐渐加速,特别是 17 年之后, 随着 Kotlin 及 Jetpack 等新技术的出现 Android 开发方式发生了很大变化,去年推出的 Jetpack Compose 更是将这种变化推向了新阶段。
Goolge 将这些新技术下的开发方式命名为 MAD ,以此区别于旧有的低效的开发方式。
MAD 可以指导开发者更高效地开发出优秀的移动应用,
它的优势主要体现在以下几点:
- 值得信赖:汇聚 Google 在 Android 行业十余年的前沿开发经验
- 入门友好:提供大量 Demo 和参考文档,适用于不同阶段不同规模的项目
- 高效启动:通过 Jeptack 以及 Jetpack Compose 等框架,可以迅速搭建你的项目
- 自由选择:框架丰富多样,可与传统语言、原生开发、开源框架自由搭配
- 体验一致:不同设备不同版本系统下也具备一致的开发体验
本文将分享一些作者在对 MAD 实践过程中的心得和案例。
原文地址: |
🦧 技术同频
1. 防御性设计和开发应该怎么做?
克军(Alibaba F2E)
何为防御性?
“防御性编程(Defensive programming)是防御式设计的一种具体体现,它是为了保证,对程序的不可预见的使用,不会造成程序功能上的损坏。它可以被看作是为了减少或消除墨菲定律效力的想法。”
“防御式设计是考虑使用者可能会错误使用的所有情形,用设计手法避免错误使用,或是降低错误使用的机会。”
简而言之,前端开发中的防御性就是防出错。
这里的“错”不只是代码报错,而是影响用户使用和用户体验的全部问题。“防”不仅是预防,进一步追求弹复性。
弹复性的定义:“系统能从故障中恢复并在面对故障时保持服务可靠性的持久性的能力”
前端开发不仅是简单还原产品设计,而实现更好的产品使用体验。否则就成了“中看不中用”。前端开发的工作和影响必须从实现层(中看)深入到体验层(中用)。
防御性体现在预防、纠正、指引三个方面。
防御点:
① UI 的防御性
- 防白屏 -- 白屏时间小于1秒(小于200ms最佳)
- 防布局错乱 -- 布局被动态内容撑垮
- 防极端内容 -- 缺失 / 超长 / 连续字符 / 未转义
- 防慢 -- 网络慢 / 响应慢 / 渲染慢 / 执行慢
- 防卡 -- 卡顿 / 假死
- 防一致性问题 -- 不一致的交互方式、图标、 标准组件等
- 防UI状态不全 -- 五层UI状态栈(加载状态/空状态/部分缺失状态/出错状态/理想状态)
- 防样式污染 -- 样式冲突,局部模块的样式影响全局
- 防Chartjunk -- 可读性差的图表用法
- 防误操作 / 危险操作 -- 对不可逆的操作二次确认+强提示
② 代码的防御性
- 防报错 -- 语法错误 / 逻辑错误
- 防兼容性问题
- 防安全性问题
- 防意外输入和交互
- 防数据 -- 防极端数据 / 无效数据 / 接囗变更
- 防代码坏味道 / 防工程腐化 -- 代码复杂度 / 重复率 / 反模式 / 死代码等
- 防语法风格不一致
- 防代码冲突
- 防代码冗余
如何实现防御呢?
原文地址: |
2. 关于微前端你应该知道的
冯其帅(京东技术)
传统的分而治之的策略已经无法应对现代 Web 应用的复杂性,因此衍生出了微前端这样一种新的架构模式,与后端微服务相同,它同样是延续了分而治之的设计模式,不过却以全新的方法来实现。
微前端是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的,能够独立开发、测试、部署的应用,并且在用户看来仍然是内聚的单个产品。
本文由浅到深地对微前端进行了概括性介绍,读者可以了解到微前端的概念、微前端的特点与价值、微前端的实现方案、一个微前端框架应具备的功能,以及微前端的适用场景。
原文地址: |
🦉 持续成长
1. 如何走好35岁后这段丰富又狭窄的职场路?
古典古少侠
35岁到40岁,是职场人要走的最丰富又最狭窄的路。
说丰富,是因为能力、资源、眼界都有了,有无数可能。说狭窄,是因为职场给了人越来越少的空间。这种拔剑四顾心茫然的感受,可能只有走到这里才能体会。
这个阶段,作者称之为人生转场(half time)。
本文是作者对财务人员下半场的发展建议,但我觉得核心观点适用于所有人。
原文地址: |
2. 你最好的一条职业建议是什么?
宝玉xp
Twitter 上有人发了一个推,说他之前问过一个问题:“你最好的一条职业建议是什么?”,他得到了 1300 多个答案,最后他整理了 12 条最好的建议。
1. 尽可能为别人减少不确定性
- Uber解决了打车的不确定性
- 亚马逊解决了送包裹的不确定性
- 你也可以通过及时更新项目进展来帮老板解决不确定性
2. 公司比职位更重要
3. 一旦接受了一个任务,无论多小或者多么不起眼,要把它做的特别好,超出别人的预期。
这样你就能建立起一个良好的声誉,让别人知道你总能高质量的完成工作。当你建立了这种声誉,你就能得到更多的机会,更大的知名度,以及更大的成功。
4. 如果我不能信任你,你再聪明都没用。
5. 在你的职业生涯中,陪你走到最后的只有你自己。
不是你的公司,不是你的经理,不是你的团队,只有你自己。在做你所有职业生涯的决定时,优先考虑你自己。
6. 影响你职业生涯的三件事:
- 你做什么?(工作)
- 你为谁工作?(客户)
- 和你一起工作的人是谁?(团队)
如果你热爱你的工作、客户和团队,你会非常非常幸运。
7. 和一个聪明的能激励你走向伟大的人结婚。
8. 要么能学东西,要么能赚钱。
否则果断离职,去找一个这两者至少占一样的工作。
9. 如果一个问题你不问,那么答案一定是“不”。
“我能负责这个项目吗?”、“我想年底升职”
10. 选择你的老板。
你有权选择谁当你的老板,而在找工作的过程中很多人没有考虑到这一点。
一个优秀的老板可以为你的职业发展提供极大的助力。
11. 学会阐明你所做的事情的商业价值,而不仅仅是你的工作头衔或者项目。
不好的例子:“我是一个数据科学家。我创建了3个自服务数据应用”
更好的例子:“我帮助管理层发现了一个可以节约2300万美元成本的机会”
12. “职业”,本质是一个营销名词,是由那些经营特定类别的梦想的人卖给你的,而他们在贩卖这个梦想时赚了很多钱。
赚钱,承担风险,有冒险精神。但不要让“职业”来限制自己。
原文地址: twitter.com/chrishlad/status/1502650707274608644 |
🐙 拥抱开源
1. fastlane:一款专为 iOS 和 Android 开发者提供自动化构建的工具
它上手简单使用方便,能够帮助开发者自动完成 App 打包、签名、测试、发布、提交到 App Store、Google Play 等工作,实现一条命令发布应用。
lane :beta do increment_build_number build_app upload_to_testflight end lane :release do capture_screenshots build_app upload_to_app_store # 上传截图和应用到应用商店 slack # 发布完成回调通知 end
开源地址: |
2. Rust 语言圣经:涵盖了 Rust 语言从入门到精通的全部知识
《Rust语言圣经》涵盖从入门到精通所需的 Rust 知识,目录及内容都经过深思熟虑的设计,同时语言生动幽默,行文流畅自如,摆脱技术书籍常有的机器味和晦涩感。
开源地址: |
言论
1、要和能让你快乐的一切,定期联系。 -- 丁丁张 |
2、历史有两支笔。一支写尸骨未寒,一支写锣鼓喧天。 -- 越描越黑 |
3、
图片
① 斯克在推特上回答了关于人类何时登陆火星的提问,并以“2029”作为回答。
② 我们都需要一个继续走下去的理由
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅我的公众号。
如果文章对你有帮助,记得留言、点赞、加关注哦!
(完)
以上是关于软件测试周刊(第64期):要和能让你快乐的一切,定期联系。的主要内容,如果未能解决你的问题,请参考以下文章
软件测试周刊(第85期):不要透支明天的烦恼,今天有今天的快乐。
软件测试周刊(第85期):不要透支明天的烦恼,今天有今天的快乐。
软件测试周刊(第42期):现在的年轻人需要的是一种简单的快乐