这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
1. 会性死亡
比如:
会性死亡瞬间之一:安检的时候被要求脱下发带。
— 微博用户@河豚一枝
2. Microsoft Mesh
热罐小角
微软在 Ignite 2021 上发布了 Microsoft Mesh,一个基于混合现实和微软 Azure 云的协作平台,可以通过各种设备体验混合现实,包括远程全息,共同设计等。
按官方的介绍,Microsoft Mesh 有两个主要功能:
- 现场感受(Feel Presence):
-
- Holoportation:全息传输,远程把自己的身体影像传输到现场
- Avatar:就是做一个虚拟的人偶
- 共同体验(Experience Together):远程协作,培训,开会,共同设计等等,通过虚拟和现实混合的方式合作。
文章
1. 一份好的 PRD 文档应该长什么样h3>
唐韧
唐韧
PRD 的好坏不在于好不好看,而是信息传递的完整性和准确性,让一个完全没有接触过这款产品的人看了也能了解清楚。
这个结构相对来说是比较完整的 PRD 目录了,有产品背景说明、结构设计、流程设计、原型设计等,当然还有更完整的结构。
作为一个新项目这份 PRD 有几点做的不错的:
- 有市场分析:对产品所在的市场做了详细的分析,包括行业现状、业务模式、产业链结构以及当前产品所处的产业链节点。
- 有竞品分析:通过几个同类产品的竞品分析,突出当前产品的差异化定位,即明确自己有什么优势。
- 有用户画像:区分了用户特征和用户画像,通过具体的用户画像来描述产品目标用户的具体情况,即明确了自己是为谁服务的。
- 有体验地图:构建了用户体验地图。
- 有业务流程:业务流程图清晰、规范。
- 突出了逻辑:原型图描述突出了逻辑,而不只是状态的堆砌。
当然,还有几点提升的空间:
- 用 UML 来表达复杂业务流程和逻辑。
- 补充业务预期目标以及产品验证指标用于后期的结果量化。
- 在产品关键路径上的数据埋点以及事后做数据分析的指标定义也可以补充上。
2. 一个小程序自动化部署的实践方案
AI 前线
背靠微信这个巨大流量池,小程序以其轻量级,即用即走的特点赢得了广大用户的青睐,如何在保证质量的前提下让小程序的开发、测试、上线流程高效、快捷的运转呢strong>
「好大夫」小程序自动化部署方案是这样的:
- 可视化操作:开发测试同学只需在运维平台通过交互式的操作,即可完成整个部署过程,有效的提高了工作效率并降低了学习成本;
- 自动化配置:上传小程序只在运维平台上进行,机器自动调整线上参数并上传(避免人为因素出错),发布完成后自动合并代码到 master 分支;
- 一键操作:测试前自动检测是否合并过 master 分支,在好大夫运维平台(以下简称运维平台)直接生成二维码,测试同学真机扫码测试,过程约 2 分钟,简单高效。
3. 易严选是如何进行稳定性治理的h3>
严选技术
严选技术
稳定性治理是个比较复杂的命题,业界没有统一的定义。
系统「稳定性」是指系统要素在外界影响下表现出的某种稳定状态,但事实上,复杂系统中潜伏着大量影响稳定状态的故障组合,那么「稳定性治理」的核心用一个词来概括的话,“故障管理”应该比较合适。
故障管理领域下面细分为故障防范、故障感知、故障触达、故障止损和故障复盘 5 个子领域。稳定性治理的主要工作范围涵盖了可用性、监控告警以及线上应急。
稳定性治理整体思路
有了痛点就有具体的策略和实施,实施策略覆盖了事前、事中和事后 3 个阶段,且形成了闭环。
事前:
- 故障防范:借助生产环境的定期演练来发现系统「稳定性」、「鲁棒性」和「自动恢复性」上的问题。
- 故障感知:除了对常规的「系统数据」和「应用数据」收集外,还需要感知和识别生产过程中的异常,从而需要进一步收集生产环境的「业务数据」。
- 故障触达:在故障感知的数据基础上,建立相应的机器监控,应用监控和业务监控,最终实现「监控分层」和「告警互补」,通过监控告警来触达相应的技术人员、运维人员和业务人员,从而达到快速感知异常、快速辅助定位的效果。
事中:
- 故障止损:需要沉淀一整套验证过的故障响应预案,覆盖可能出现故障的「核心场景」、「定位方法」、「应对策略」,最终达到能应急响应、故障定位和快速恢复。
事后:
- 故障复盘:故障复盘与围棋对局后的复演相似,都是检查对局中招法的优劣与得失,让出现过的故障处于「发展可控」或「范围收敛」的状态,同时从出现的故障中提炼出一些流程和经验,以避免后续出现同样或同类的故障。
基于上述的闭环策略,稳定性专项治理实施的主要范围包含「可用性」、「监控告警」和「线上应急」三大块,发力的方向是达到「可预防」、「可感知」、「可快速处理」。
工具
1. 在浏览器中更方便的阅读 GitHub 上的源码
开源前哨
我们平时在 GitHub 上读代码的时候,项目文件需要逐层点击,返回也是逐层返回,是不是觉得比较麻烦能你在 IDE 中读代码一样读 GitHub 上的代码呢p>
使用浏览器插件 Octotree 就可以。
开源地址:https://github.com/ovity/octotree
插件下载地址:
- Chrome 插件: https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc
- Firefox 插件:https://addons.mozilla.org/en-US/firefox/addon/octotree/
- Safari插件:https://addons.opera.com/en/extensions/details/octotree/
2. 数据库压力测试工具 – sysbench
搜狗测试
Web 应用中的其他因素,例如 络带宽、负载均衡节点、应用服务器(包括 CPU、内存、硬盘、连接数等)、缓存,都很容易通过水平的扩展(俗称加机器)来实现性能的提高。
而对于 MySQL,由于数据一致性的要求,无法通过增加机器来分散向数据库写数据带来的压力;虽然可以通过前置缓存(Redis等)、读写分离、分库分表来减轻压力,但是与系统其它组件的水平扩展相比,受到了太多的限制。
数据库相关指标如下:
- TPS/QPS:衡量吞吐量。
- 响应时间:包括平均响应时间、最小响应时间、最大响应时间、时间百分比等,其中时间百分比参考意义较大,如前95%的请求的最大响应时间。。
- 并发量:同时处理的查询请求的数量。
如何测试呢使用 sysbench 进行数据库压力测试。
sysbench 是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:CPU 性能、磁盘 IO 性能、调度程序性能、内存分配及传输速度、POSIX线程性能、数据库性能(OLTP 基准测试)。
该工具可以自动帮你在数据库里构造出来大量的数据,你想要多少数据,就自动给你构造出来多少条数据。同时还可以模拟几千个线程并发的访问数据库,模拟使用各种各样的 SQL 语句,包括模拟出来各种事务提交到你的数据库里去,甚至可以模拟出几十万的 TPS 去压测数据库。
开源地址: https://github.com/akopytov/sysbench
3. 一个防久坐猝死的 IDEA 插件
逛逛GitHub
程序员经常一坐就很久,久坐其实有挺多危害的,有个 IDEA 插件可以每 40 分钟提醒你一次,让你起来运动运动,并且展示一些骚骚的动图。
12 个经典小动作让你肩不痛,腰不酸,腿不麻!
下面是插件的安装教程:
- 下载 Jar 包
地址:https://github.com/s-unscrupulous/idea_seat - 安装插件
打开 IDEA 设置 -> Plugins -> 右上角齿轮 -> Install Plugin from Disk - 开启插件
工具栏 Tools 点击,找到 Assistant setting,就能设置提醒时间了。
到时就会提醒你该运动了:
方法
1. 如何看出一个人要离职了h3>
知乎
知乎
又到了「金三银四」求职跳槽的好时节,走还是留个值得思考的问题。不防也看看周围,看看哪些同事有离职的迹象呢p>
有一句话说的特别实在,那些整天咋呼要离职的人不会真走,那些真跳槽的人总是不声不响地果断走人。
但是,想要离职的人,总会露出“蛛丝马迹”。如何看出一个人要离职了strong>
- 经常出去接电话:以前接电话比较随意的人,突然变得“特别礼貌”,接到电话就快步出去接。
- 提前申请年休假:提出让你无法拒绝的理由,如:陪老人看病。要么是集中参加面试,要么是怕年假浪费。
- 工作效率提高:办事突然变得果断高效,加快处理以前的积压工作量。
- 浏览 页躲躲闪闪:以前大方看手机、 页,现在变得小心翼翼,随时准备切换到办公页面。
- 不爱发表意见了:以前挺爱说话的,大会小会都爱发言,现在开始不说话了,哪怕别人征求他的意见,也会把话题岔开。
- 有时会神情恍惚:以前挺机灵的一个人,经常若有所思、神情恍惚,别人拍他肩膀,还一惊一乍的。
- 开始清理内务:以前桌子上摆的琳琅满目的,电脑屏幕乱七八糟的,他突然开始蚂蚁搬家式清理了。
一句话总结就是:反常。
注意:跳槽,毕竟是职业规划的大事,一定要慎重。
2. 你应该知道的几个屡试不爽的经典话术
知乎
- 如果被推出去做临时发言,没有时间准备稿子,时间线就是最好用的逻辑线。
“①以前的经历…②现在的体会…③以后的希冀…”
- 道歉是件非常严肃的事情,想取得原谅,「① 就后果道歉+② 紧急处理+③ 下次预防措施」这三个方面一个都不能少。
②我已经公开给所有读者做了解释,并且删除了这篇文章,希望不会给您带来持续的麻烦。
- 用第三人的嘴夸对方,才能夸到人家心坎上去。
阿姨,我给我妈看了您照片,我妈说您保养的这么好这么年轻,她羡慕死了。
- 不管要请谁帮忙,一定要说明白这件事对他的好处。
- 拒绝别人的时候,提一个替代解决方案,就不会得罪人了。
- 抓住核心冲突,就能讲好一个生动有趣的故事。
- 演讲的时候,不要一上来就煽情,这样很 low。煽情的话,只有在一定的语境和氛围里,才能打动观众。
- 面对实力比你弱很多的对手,做好一个“捧哏”,比臭显摆高级多了。
不要“其实这个点你说得不全面,是这样的…”,而要“你说的这个点挺有意思的,给我讲讲好吗strong>”
- 一点点小小的收获,也不要忘记感谢给你带来收获的人。
就像你在看的这个软件测试周刊,如果能有一点点小收获,那就给个赞,顺便加个关注吧。
最后:教你一套打嘴炮的必赢话术:
- 他跟你讲普遍,你就跟他讲个例;
- 他跟你讲现实,你就跟他讲情怀;
- 他跟你讲实然,你就跟他讲应然;
- 他跟你讲事实,你就跟他讲观点;
- 他跟你讲逻辑,你就跟他讲情绪;
- 他跟你讲数据,你就跟他讲故事;
无敌!
3. 作为 Leader 如何避免被下属忽悠h3>
技术领导力
技术领导力
一些公司高管,面对下属的一堆花里胡哨的 PPT,只需要简单几个提问,就能发现一些隐藏很深的问题,让下属的小伎俩,立马遁形,他们是怎么做到的呢p>
如古话所言:打破砂锅问到底。
5why 法的关键所在:鼓励解决问题的人要努力避开主观猜测和逻辑陷阱,从结果着手,沿着因果关系链条,顺藤摸瓜,直至找出原有问题的根本原因。
一个经典案例:
问题一:为什么机器停了p>
答案一:因为机器超载,保险丝烧断了。
问题二:为什么机器会超载p>
答案二:因为轴承的润滑不足。
问题三:为什么轴承会润滑不足p>
答案三:因为润滑泵失灵了。
问题四:为什么润滑泵会失灵p>
答案四:因为它的轮轴耗损了。
问题五:为什么润滑泵的轮轴会耗损p>
答案五:因为杂质跑到里面去了。
经过连续五次不停地问“为什么”,才找到问题的真正原因和解决的方法:在润滑泵上加装滤 。
“5why分析法”本身并不难,难的是营造团队氛围,即要在团队中形成实事求是、刨根问底、不断追求进步的文化。
言论
1、生当作人杰,不行就算了。
2、朋友圈的规律
3、为什么…p>
图片
1、如何高效的让开发认领 BUGp>
2、
后端开发者表示有点被冒犯到了
3、人们忙着低头,机器忙着学习。
订阅
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!