这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
资讯
1. 阿里开源了一款 iOS 自动化命令行工具 tidevice
TesterHome
tidevice 是阿里的内部的一个小组用来做 iOS 自动化用的工具。最近终于开源了出来。
tidevice 由纯 Python 写成,跨平台,支持的功能有:
- 截图
- App 安装,启动,停止,查看
- 启动 WebDriverAgent
- 性能采集(类似 PerfDog)不过这块暂时只有 API 可以用。
如:
# 查看所有连接上的设备
$ tidevice list
List of apple devices attached
1234567892d8372eb752f413280722cdcc200954 iPhoneSE
# 截图
tidevice screenshot screenshot.jpg
# 启动苹果设置
tidevice launch com.apple.Preferences
# 查看已安装的第三方应用
tidevice applist
项目地址: https://github.com/alibaba/taobao-iphone-device
文章
1. Redis为什么变慢了?一文讲透如何排查Redis性能问题
水滴与银弹
Redis 作为优秀的内存数据库,其拥有非常高的性能,单个实例的 OPS 能够达到 10W 左右。但也正因此如此,当我们在使用 Redis 时,如果发现操作延迟变大的情况,就会与我们的预期不符。
这篇文章将会给你一个「全面」的问题排查思路,并且针对这些导致变慢的场景,我还会给你一个高效的解决方案。
2. 真正的时间管理大师:马斯克
字母榜
作为这个世界上最成功最忙碌的男人之一,马斯克管理7家公司,还养育了6个孩子——普通人就算有三头六臂恐怕都忙不过来,马斯克到底是怎么做到的?
- 首先是“Time Boxing”工作法,为任务设置时长——凡是醒着状态,马斯克会以 5 分钟为单位来安排日程,一天时光就切成了几百个“时间方糖”。
- Deadline是第一生产力,马斯克运用时间的诀窍是创造“时间限”而非“时间线”。
- 为了把时间的价值发挥到最大,马斯克用了很多时间管理手段,包括深入一线,磨练敏锐直觉;异步沟通,用电子邮件与团队协作;以及激情的投入,最大化的激发潜能。
3. 使用代码覆盖率数据来评估风险并确定测试中的差距
持续交付2.0
本文来自谷歌工程博客 2020 年 8 月 17 日发表的一篇文章。题目为《代码覆盖率最佳实践》,
作者是 Carlos Arguelles, Marko Ivanković 和 Adam Bender 。
我们花了数十年的时间在各种大型软件公司中推动软件测试改进。我们一直提倡的领域之一是使用代码覆盖率数据来评估风险并确定测试中的差距。 但是,测试覆盖率的价值是一个备受争议的话题,具有强烈观点和令人惊讶的两极分化。每当在很多人的场合里提到代码覆盖率时,就会出现看似无休止的争论。由于人们都在各自营地中寻找安全掩体,所以往往这些对话没有任何成果。
本文档的目的是为你提供工具,引导人们讨论它的方方面面,并找到共同点,以便您可以继续前进,并切实地使用覆盖率信息。我们在代码覆盖率方面提出了最佳实践,以有效地实现代码健康。它们是:
- 代码覆盖率为开发人员的工作流程带来了显著好处。
- 增加代码覆盖率的努力通常会带来卓越工程文化
- 只是追求高的代码覆盖率百分比,并不能保证测试覆盖率的高质量。
- 代码覆盖率数据突出显示还有多少内容没有被覆盖
- 没有一个“理想的代码覆盖率数字”可以普遍适用于所有产品
- 我们应该致力于全面提高代码覆盖率
- 不应该着迷于如何将代码覆盖率从90%提高到95%
- 比涵盖行的百分比更重要的是,人工判断未涵盖的实际代码行的风险
- 虽然你的产品现在具有较低的代码覆盖率,但并不意味着您不能采取具体的渐进步骤来逐步改进它
- 虽然超过90%的项目范围的目标很可能不值得,但每次提交的99%的覆盖率目标是合理的
- 集成/系统测试代码的覆盖范围也很重要。
- 我们应该设置关卡,限制那些不符合我们代码覆盖标准的代码部署到生产环境
工具
1. 三个可视化的正则表达式工具
k8s技术圈
正则表达式可以说一直是很多人的梦魇,但是正则在工作中实在是使用太广泛了,一些大神做了一些辅助工具用可视化的方式来帮助大家战胜正则。
一. 快速搜索并匹配到合适的正则表达式:iHate Regex
iHate Regex 可以帮助我们快速搜索并匹配到合适的正则表达式,比如邮箱、日期、手机号码等等常见的验证规则。
二. 自动生成对应的解析树和控制流程图:regular-expression-visualizer
当我们在该工具中输入正则表达式和搜索字符的时候,会自动生成对应的解析树和控制流程图,而且还有匹配的过程动画。
使用地址:https://blog.robertelder.org/regular-expression-visualizer/
三. 支持中文的正则练习工具:regex101
支持中文、多语言风格的正则表达式练习工具 https://regex101.com/ ,你值得拥有。
2. 一款漂亮的终端资源监视器 - Bpytop
监控系统资源,你会使用什么工具? top
? 嗯,不够,信息太少。有一款功能全面而且很漂亮的资源监控工具 bpytop 值得你了解一下。
基本信息
工具名称 | Bpytop |
当前版本 | 1.0.61 |
开发语言 | Python |
适用平台 | macOS、Linux |
开源地址 |
3. 这个 OCR 神器能轻松识别 80 多种语言,包括中文!
开源前哨
EasyOCR 是 python 中一个不错的 OCR 库,在 GitHub 已有 10.3K star。目前支持 80 多种语言,包括中文、日文、韩文和泰文等。
基本信息
名称 | EasyOCR |
当前版本 | 1.2.3 |
开源地址 |
方法
1. 如何精准统计页面停留时长?
前端布道师
页面停留时间(Time on Page)简称 Tp,是网站分析中很常见的一个指标,用于反映用户在某些页面上停留时间的长短,传统的Tp统计方法会存在一定的统计盲区,比如无法监控单页应用,没有考虑用户切换Tab、最小化窗口等操作场景。
基于上述背景,重新调研和实现了精确统计页面停留时长的方案,需要兼容单页应用和多页应用,并且不耦合或入侵业务代码。
把一个页面生命周期抽象为三个动作:「进入」、「活跃状态切换」、「离开」
- 如何监听页面的进入和离开?
-
- 监听路由变化
- 判断URL是否为不同页面
- 如何监听页面活跃状态切换?
可以通过 Page Visibility API 以及在 window 上声明 onblur/onfocus 事件来处理。
- 什么时机上报数据?
-
- 页面离开时上报
- 下次打开页面时上报(推荐)
2. 如何更好的推进开发提高提测质量
搜狗测试
开发提测是正式开始测试的重要关卡,提测质量的好坏会直接影响测试阶段的效率,进而影响项目进度。较好的提测质量,对提高测试效率和优化项目进度有着事半功倍的作用。如何更好的推进开发提高提测质量呢?
在正式提测前开发实现中,可以通过方案讲解会、code review来提高实现质量及预期结果;正式提测阶段,可以通过自测case、交互走查、视觉走查等方式把关质量;提测后,可以有产品验收等方式。在这里,主要和大家一起沟通下正式提测阶段的自测case。
主要流程如下:
言论
1、
现在测试开发卷不卷?
2、
到底什么是抓手?
图片
1、
2、
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)