这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
目录
1. JetBrains放出Java代码质量检查工具Qodana
1. 软件测试做到一定阶段只能通过转岗来寻找机会吗?(搜狗测试)
3. Google Doubleclick Sales Manager 的发布流程(TestHome)
2. 命令行重度“患者”的福音:Bash-Snippet(开源前哨)
3. 滴滴开源一站式JAVA代码全量/diff覆盖率收集平台:Super-Jacoco
1. 古德哈特定律:当一个指标变成目标时,它就不再是一个好的指标了。
资讯
1. JetBrains放出Java代码质量检查工具Qodana
JetBrains 正在开发一种被称为Qodana的代码质量检测工具。它将 JetBrains IDE 具有的智能代码检查带入了项目 CI/CD 管道中。它可以识别代码中的错误,安全漏洞,重复项和缺陷并提出修复建议。使开发人员轻松地改善代码结构,使代码符合众多准则和标准,解决潜在的性能问题。
开源地址: https://github.com/JetBrains/Qodana
文章
1. 软件测试做到一定阶段只能通过转岗来寻找机会吗?(搜狗测试)
作者认为软件测试在职业发展上分为「技术」和「管理」两大类,但两者又是可以相互转换交叉发展的。
因为软件测试是一门实践的学问,「管理」不能是绝对的管理,因为不懂测试技术,不理解各项测试活动的管理者,是无法评估测试的重点和难点的,更无法制定合理的测试计划以及质量风险的应对措施。「技术」也不能是绝对的技术,不理解价值、目标和成本的技术人员容易犯的错误就是陷入「唯技术论」中,缺乏「管理」思想会让他们制定的测试策略不切实际,一纸空文的测试策略是没有意义的。
所以建议测试管理者不要过早的放弃技术,走所谓的纯管理路线,让自己陷入到各种会议和协调中。
>>> 完整内容请戳:软件测试工程师的职业发展(搜狗测试)
2. 我对 SRE 的理解 (阿里巴巴中间件)
软件工程有的时候和养孩子类似:虽然生育的过程是痛苦和困难的,但是养育孩子成人的过程才是真正需要花费绝大部分精力的地方。
一个软件系统的 40%~90% 的花销其实是花在开发建设完成之后不断维护过程中的。
SRE 的目标是构建可扩展和高可用的软件系统,通过软件工程的方法解决基础设施和操作相关的问题。
在 Google SRE 书中,对 SRE 日常工作状态有个准确的描述:至多 50% 的时间精力处理操作相关事宜,50% 以上的精力通过软件工程保障基础设施的稳定性和可扩展性。
作者对 SRE 的理解是:
- 职责:保障基础设施的稳定性和可扩展性
- 核心:解决问题
- 方法:通过操作类事务积累问题经验,通过编码等方式提升问题的解决效率
稳定性保障的价值:
- 保障客户的产品体验,满足客户对约定的可靠性诉求
- 加速业务迭代,满足业务对稳定性诉求,业务注意力集中在更快速推出满足客户需求的功能
稳定性整体解决方案:
3. Google Doubleclick Sales Manager 的发布流程(TestHome)
这应该是一篇旧文,作者简单介绍了 Google Doubleclick Sales Manager 的发布流程,简单提炼一下重点就是:
- 每周发布上线的标准是:没有 P0、P1 的 bug;
- 从 TAP(Test Automation Platform) 中自动获取最近三小时跑绿的 Changelist(CL) 构建新版本,然后部署到 QA 环境;
- QA 环境测试完成后发布到 Canary 环境,停留 3~ 6 个小时,监控系统若没有报错,就可以发布上线;
- 新功能上线有个申请表,需要进行若干检查项的确认;
- 发布上线后如果发现问题的处理机制:监控、回滚、Cherrypick等;
作者从事测试12载,仅仅做测试执行,学习测试技术运用,远远没有推动整个团队的测试质量提升更有成就感。
4. QA 如何高效参与技术设计评审(转转QA)
QA 参与技术设计评审能够了解开发的设计思路及其对需求的理解,能够做到及时纠偏。同时,了解具体实现方案后,能够针对性的设计测试方案。如果有需求未涉及的代码改动,也可以在此时评估风险及影响。
在评审前,QA 要提前熟悉设计文档;评审中,重点关注需求是否被满足,涉及的接口、可测性、影响范围等;评审后,做好 TODO LIST,及时完成测试方案。
工具
1. 京东抢茅台脚本
茅台贵、好喝却难买,通常买到就是赚到。最近有人开源了一款京东抢茅台的 Python 脚本,火爆全网,却被迫清库。但,你懂的,fork 很多,已遍布全网。
脚本功能:自动登录京东商城 --> 自动预约秒杀茅台 --> 到时自动抢购
2. 命令行重度“患者”的福音:Bash-Snippet(开源前哨)
Bash-Snippets 是为重型终端用户提供的一组无依赖小型脚本,封装好了一些常用的 bash 脚本功能,对外提供 API 命令供使用。
脚本提供的API功能如下:
- Cheat:快速地搜索命令、代码段的内容或使用方法,支持多种语言和bash命令。
- Cloudup:可以快速地备份 github 仓库到 bitbucket。
- Crypt:包装了 openssl 的功能,提供快速加解密的方法。
- Cryptocurrency:根据实时汇率进行加密货币转换。
- Currency:根据实时汇率进行货币转换。
- Geo:查询广域网、局域网、路由、dns 和 ip 信息。
- Gist:能像 git 仓库一样管理 gist。
- Lyrics:命令行快速抓取给定歌曲的歌词。
- Meme:一个快速、轻量级的meme生成器。
- Movie:快速抓取。搜索和电影相关的信息。
- Newton:数值运算。
- Qrify:把任意文本转换为二维码。
- Short:从短链接获取真实链接。
- Siteciphers:检测某个 https 网站使用或者禁用了哪些加密套件。
- Stocks:根据股票代码查询相关信息。
- Taste:根据 3 个输入的内容推荐相关类似信息。
- Todo:一个简单的命令行任务列表。
- Transfer:命令行快速传输文件。
- Weather:提供未来 3 天的天气预报。
- Youtube-Viewer:提供从终端观看 Youtube 使用的方式
GitHub: https://github.com/alexanderepstein/Bash-Snippets
3. 滴滴开源一站式JAVA代码全量/diff覆盖率收集平台:Super-Jacoco
Super-Jacoco 是基于Jacoco、Git 二次开发打造的一站式 JAVA 代码全量/diff覆盖率收集平台,能够低成本、无侵入的收集代码覆盖率数据。
Super-Jacoco 除了支持 JVM 运行时间段的覆盖率收集外;还能够和环境无缝对接,收集服务端自定义时间段代码全量/增量覆盖率。并提供可视化的 html 覆盖率报表,协助覆盖情况精准分析,支撑精准测试落地。
开源地址:https://github.com/didi/super-jacoco
方法
1. 古德哈特定律:当一个指标变成目标时,它就不再是一个好的指标了。
最近在研究如何更好的做质量度量,经常看到有人引用古德哈特定律,来说明当一个度量指标变成目标时,它就不再是一个好的指标了。人们可能为了一些特定的度量标准去做局部的优化,从而忽略了其他同等重要的因素,导致整体的结果出现问题。
因此我们有必要好好了解古德哈特定律,在生活和工作中避免或减少此类情况的发生。
图片来源于网络
什么是古德哈特定律?
古德哈特定律(Goodhart's law):当一个指标变成目标时,它就不再是一个好的指标了。(When a measure becomes a target, it ceases to be a good measure)。
>>> 扩展阅读:通过一个故事了解古德哈特定律(知乎)
言论
- 用一句话证明你是程序员:
- 你这代码从哪里抄来的?
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)