软件测试周刊(第64期):要和能让你快乐的一切,定期联系。
时间:2022-09-24 21:00:00
编辑:锅、静怡、小淑子、哲宇、夏至CC、Silvery、holiday
今天是 2022年3月25日,欢迎来到第一位 64 期限!记录我们过去一周看到的内容!软件测试及周边周五发布的行业动态。
本期看点:如何保证并发场景的质量?监控平台应该如何测试?制定测试策略需要注意的几点;如何实施前端单元测试? Android 开发的最佳实践是什么?防御设计和开发应该怎么做?你应该知道微前端;35岁以后如何走这条丰富狭窄的职业道路?你最好的职业建议是什么?
·
阅读愉快!
?? 软件测试
1. 如何保证并发场景的质量?
靖北(阿里技术)
并发问题是电子商务系统中最常见的问题之一,如库存超卖、抽奖多发、券多发、积分多发少发等;
上述问题之所以出现,是因为同时修改相同的共享资源有多台机器和多个请求。如果没有限制,将导致数据混乱和数据不一致;解决并发问题的方法有很多,如队列、异步、响应和锁;
本文针对使用较为广泛的分布式锁描述如何保证质量。
原文地址: 并发-分布式锁质量保证总结 |
2. 如何测试监控平台?
Amy Ray(科技中通)
ZCAT 它是中通科技中心自主研发的监控平台。它提供链接数据跟踪、信息收集和存储、数据计算、风险预警等能力。低成本的障碍物排除方案可以帮助不同级别的用户快速定位问题。
本文主要介绍如何从功能测试开始,针对 JS SDK 功能、后端 Java 报告服务数据及验证查询结果分析实际案例,最终将功能测试转化为自动化测试的实际过程。
原文地址: 中间件测试|ZCAT监控平台测试探索与实践 |
3. 制定测试策略需要注意的几点
持续交付2.0
创建测试策略通常是一项复杂的任务。
理想的测试策略是通过应用成本效益分析和风险分析的基本原则来平衡这些软件开发因素(实施成本、维护成本、货币成本、好处、风险)来实现的。
这些因素在很大程度上取决于项目的关键性、实施细节、可用资源和团队意见。
本文用于指导读者在项目中找到正确的平衡点。
原文地址: 制定测试策略,记住这些要点 |
?? 质量效能
1. 如何实施前端单元测试?
莫疾(政采云前端团队)
对于目前的前端工程,通常需要对标准完整的项目进行单元测试。但很多时候,我们只是完成了项目,而忽略了项目测试。
作者认为一个很大的原因是很多人对单元测试了解不够,所以他们写了这篇文章。一方面,他们希望通过这篇文章让你对单元测试有一个初步的了解。另一方面,我希望通过代码示例,让你掌握写单元测试的实践能力。
原文地址: 如何实施前端单元测试? |
2. 现代 Android 什么是开发的最佳实践?
王鹏、孙永生(字节跳动技术团队)
MAD 的全称是 Modern Android Development,从编程语言到开发框架,它是一系列技术栈和工具链的集合。
Android 自 08 多年后的多年 SDK 变化不大,开发模式相对固定。 技术更新术更新逐渐加快,特别是 17 年之后, 随着 Kotlin 及 Jetpack 等待新技术的出现 Android 去年推出的开发模式发生了很大的变化 Jetpack Compose 将这种变化推向了一个新的阶段。
Goolge 命名这些新技术下的开发方法 MAD ,以此区别于旧有的低效的开发方式。
MAD 引导开发者更有效地开发优秀的移动应用程序,
其优点主要体现在以下几点:
- 值得信赖:汇聚 Google 在 Android 十多年的行业前沿发展经验
- 入门友好:提供大量 Demo 参考文件适用于不同阶段、不同规模的项目
- 高效启动:通过 Jeptack 以及 Jetpack Compose 等待框架,可以快速构建你的项目
- 自由选择:框架丰富多样,可自由搭配传统语言、本土开发和开源框架
- 体验一致:不同版本的不同设备也有一致的开发经验
本文将分享一些作者 MAD 实践中的经验和案例。
原文地址: 一文读懂现代 Android 开发最佳实践 |
?? 技术同频
1. 如何做防御设计和开发?
克军(Alibaba F2E)
什么是防御?
“防御性编程(Defensive programming)它是防御设计的具体体现,是为了确保程序的不可预测使用不会对程序功能造成损害。它可以被视为减少或消除墨菲定律效力的想法。
“防御式设计考虑用户可能使用错误的所有情况,避免使用错误,或减少使用错误的机会。
/p>
简而言之,前端开发中的防御性就是防出错。
这里的“错”不只是代码报错,而是影响用户使用和用户体验的全部问题。“防”不仅是预防,进一步追求弹复性。
弹复性的定义:“系统能从故障中恢复并在面对故障时保持服务可靠性的持久性的能力”
前端开发不仅是简单还原产品设计,而实现更好的产品使用体验。否则就成了“中看不中用”。前端开发的工作和影响必须从实现层(中看)深入到体验层(中用)。
防御性体现在预防、纠正、指引三个方面。
防御点:
① UI 的防御性
- 防白屏 -- 白屏时间小于1秒(小于200ms最佳)
- 防布局错乱 -- 布局被动态内容撑垮
- 防极端内容 -- 缺失 / 超长 / 连续字符 / 未转义
- 防慢 -- 网络慢 / 响应慢 / 渲染慢 / 执行慢
- 防卡 -- 卡顿 / 假死
- 防一致性问题 -- 不一致的交互方式、图标、 标准组件等
- 防UI状态不全 -- 五层UI状态栈(加载状态/空状态/部分缺失状态/出错状态/理想状态)
- 防样式污染 -- 样式冲突,局部模块的样式影响全局
- 防Chartjunk -- 可读性差的图表用法
- 防误操作 / 危险操作 -- 对不可逆的操作二次确认+强提示
② 代码的防御性
- 防报错 -- 语法错误 / 逻辑错误
- 防兼容性问题
- 防安全性问题
- 防意外输入和交互
- 防数据 -- 防极端数据 / 无效数据 / 接囗变更
- 防代码坏味道 / 防工程腐化 -- 代码复杂度 / 重复率 / 反模式 / 死代码等
- 防语法风格不一致
- 防代码冲突
- 防代码冗余
如何实现防御呢?
原文地址: 防御性设计和开发 |
2. 关于微前端你应该知道的
冯其帅(京东技术)
传统的分而治之的策略已经无法应对现代 Web 应用的复杂性,因此衍生出了微前端这样一种新的架构模式,与后端微服务相同,它同样是延续了分而治之的设计模式,不过却以全新的方法来实现。
微前端是一种由独立交付的多个前端应用组成整体的架构风格,将前端应用分解成一些更小、更简单的,能够独立开发、测试、部署的应用,并且在用户看来仍然是内聚的单个产品。
本文由浅到深地对微前端进行了概括性介绍,读者可以了解到微前端的概念、微前端的特点与价值、微前端的实现方案、一个微前端框架应具备的功能,以及微前端的适用场景。
原文地址: 微前端概述 |
🦉 持续成长
1. 如何走好35岁后这段丰富又狭窄的职场路?
古典古少侠
35岁到40岁,是职场人要走的最丰富又最狭窄的路。
说丰富,是因为能力、资源、眼界都有了,有无数可能。说狭窄,是因为职场给了人越来越少的空间。这种拔剑四顾心茫然的感受,可能只有走到这里才能体会。
这个阶段,作者称之为人生转场(half time)。
本文是作者对财务人员下半场的发展建议,但我觉得核心观点适用于所有人。
原文地址: 古典:35岁后,走好这段丰富又狭窄的职场路 |
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
开源地址: https://github.com/fastlane/fastlane |
2. Rust 语言圣经:涵盖了 Rust 语言从入门到精通的全部知识
《Rust语言圣经》涵盖从入门到精通所需的 Rust 知识,目录及内容都经过深思熟虑的设计,同时语言生动幽默,行文流畅自如,摆脱技术书籍常有的机器味和晦涩感。
开源地址: https://github.com/sunface/rust-course |
言论
1、要和能让你快乐的一切,定期联系。 -- 丁丁张 |
2、历史有两支笔。一支写尸骨未寒,一支写锣鼓喧天。 -- 越描越黑 |
3、
图片
① 斯克在推特上回答了关于人类何时登陆火星的提问,并以“2029”作为回答。
② 我们都需要一个继续走下去的理由
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅我的公众号。
如果文章对你有帮助,记得留言、点赞、加关注哦!
(完)