软件测试周刊(第30期):专注 力量 敏捷 协作
Posted 毕小烦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试周刊(第30期):专注 力量 敏捷 协作相关的知识,希望对你有一定的参考价值。
编辑:国薇、一口锅、菜菜、静怡、小淑子
这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
B端产品/C端产品/SaaS/PaaS/IaaS的区别是什么?
吴朝博( 产品老吴)
C 端产品和 B 端产品的区别是什么?
C 端产品的 C 指的是 Customer,我们每天都在接触 C 端产品,比如微信、抖音、今日头条。
B 端产品的 B 指的是 Business,作为职场人士通常会接触到 B 端产品,是企业为解决某一类经营问题而使用的系统型软件或平台,比如常见的 CRM、ERP、OA 等系统。
二者的主要区别
SaaS 产品本质上来说,属于一种部署方式,除了 SaaS,还有本地部署、laas、Pass。
那么 SaaS、PaaS、IaaS、本地部署的区别是什么?
一个系统能够正常运营需要三个层面上提供支持,分别是:
- 基础设施层:包括网络、存储、服务器、虚拟服务
- 平台层:操作系统、中间件、Runtime
- 软件层:应用、数据
根据客户对这三个层面上的东西是自建还是外采,就决定着采用那一种部署模式:
- SaaS:Software-as-a-Service(软件即服务),三层全部外采,直接提供给用户的是搭建好的应用程序。
- PaaS:Platform-as-a-Service(平台即服务),基础设施层、平台层外采,软件层自建。企业只需要关注如何开发好软件系统即可。
- IaaS:Infrastructure as a Service(基础设施即服务),基础实施层外采,平台层和软件层自建。
- 本地部署:三层全部自建。
如下图所示:
文章
1. 微信小程序渗透测试技巧
Bypass
微信小程序安全测试应该怎么做呢?
从两方面入手:
- 小程序解包(反编译),基于小程序的前端源码,从 JS 敏感信息泄露、隐藏接口漏洞等方向进行漏洞挖掘。
- 小程序抓包,基于小程序的数据包,可以看到前后端业务交互的过程,重点关注业务逻辑漏洞、API 接口可能存在的安全漏洞。
方法一:小程序解包(反编译)步骤
STEP 1. 安装手机模拟器,比如,夜神、MuMu。
STEP 2. 下载和安装两个应用,微信和 RE 文件管理器。
STEP 3. 获取 root 权限(设置中心 → 基本设置 → 勾选【开启root权限】)
STEP 4. 打开微信,搜索相对应的小程序,然后再打开 RE 文件管理器,定位到目录。
STEP 5. 下载微信小程序反编译脚本,解包。
下载地址:
https://github.com/xuedingmiaojun/wxappUnpacker.git
解主包:
./bingo.sh 主包.wxapkg
解分包:
./bingo.sh 分包.wxapkg -s=主包目录
合并分包内容,就成功获取小程序前端的源码了。
方法二:小程序抓包
小程序抓包推荐使用 Charles 或 Fiddler。
2. 张一鸣:我发现混得好的人,全都有同一个特质
21CTO
张一鸣把乔布斯的“Stay hungry, Stay foolish”,改成“Stay hungry, Stay young”。
下面是他的解释。
什么是“Stay hungry, Stay young”?“Stay hungry”,大家都知道,就是好奇心、求知若渴、上进心。但为什么要说“Stay young”?
我觉得年轻人有很多优点:做事不设条条框框,没有太多自我要维护,经常能打破常规,非常努力、不妥协、不圆滑世故。
“Stay young”的人基本没有到天花板,一直保持着自我的成长。相反,很多人毕业后提高了技能,但到一个天花板后,就不再成长了。
经过 10 年的观察,我发现优秀的年轻人都有这 5 大特质:
- 有好奇心,能够主动学习新事物、新知识和新技能。
- 对不确定性保持乐观,只有乐观的人会相信,会愿意去尝试。
- 不甘于平庸,我说不平庸,并不是专门指薪酬要很高或者技术很好,而是你对自己的标准一定要高。
- 不傲娇,要能延迟满足感,对现状要踏实。
- 对重要的事情有判断力。
3. 即战力法则:来之能战 战之能胜
涩郎
大家都在说一个趋势:未来的社会和企业需要有即战力的人才。
什么即战力法则?
如果人是企业的关键,企业就会格外在意人才进入角色的速度,某种意义上,企业不会再像过去那样有耐心地培养人,等待着你成长,它会更加在意你是不是能够“来之能战”,以及是不是“战之能胜”。有人将这一点称为人的“即战力”,就是即时业务能力。
为什么需要即战力?
- 对于企业:在激烈竞争和环境剧烈变动的时代,能否找到优秀的人才,能不能及时调整这些人才的配置和布局,是决定企业成长能力的关键。
- 对于个人:拥有即战力的人才不会害怕失业,反而是企业竞相争取的资源。
如何培养自己的即战力呢?
- 观察行业趋势,提前为自己储备技能。
- 观察头部企业变化,头部企业的一举一动都是会牵动整个行业的发展的,它们里面人才多,战略高度可能看得远。
- 以终为始,长期看问题,要深入去学习具有长期性的那些基础的原理,这样才能让你做到以不变应万变。
工具
1. 将低质量的图片调整为高清 - Waifu2x-Extension-GUI
老逛(逛逛GitHub)
数码图片经过各种传递、压缩和转换会出现失真,会缺失很多细节。如何将这些低质量的图片调整为高清呢?
用 Waifu2x-Extension-GUI。
Waifu2x-Extension-GUI 是基于 waifu2x 开发的 Windows GUI 客户端。它借助深度卷积神经网络对图片 & GIF & 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行插帧(即补帧)。
开源地址:https://github.com/nagadomi/waifu2x
功能特性:
- 自动化处理多种媒体: 支持处理图片的同时,实现了自动化处理 GIF&APNG 和视频。
- 全图像风格支持: 内置多种算法, 无论是二次元动漫还是您日常拍摄的照片&录像,都可以进行清晰化处理。
- 强大的兼容性: 内置多个引擎, 几乎与所有现代 Windows PC 兼容。
- 易于使用的图形用户界面。
- ...
效果展示:
VS
2. 一条命令把 Web 页面变成电脑桌面应用 - Nativefier
小秋(开源前哨)
Nativefier 是一个命令行工具,可以轻松地将任何网站转换为桌面应用程序,支持 macOS、Linux、Windows 操作系统。
基本信息
名称 | Nativefier |
版本 | 45.0.0 |
支持平台 | macOS、Linux、Windows |
开源地址 |
安装命令:npm install -g nativefier
使用方法:https://mp.weixin.qq.com/s/3c-Pdi7zdBVhyycFIuf38A
3. 无需下载和安装的在线录屏工具 - RecordScreen.io
RecordScreen.io 是一款不需要安装就能使用的在线录屏工具,支持录制整个屏幕、浏览器、指定标签页,支持前置摄像头,无需下载任何安装包,有浏览器、有网就能录屏。
功能特性:
- 不需注册或登入帐号,不用下载或安装任何软件,也不用安装浏览器插件。
- 直接用浏览器内建功能,一键完成电脑屏幕画面录制。
- 录制完成的影片不上传到服务器,隐私及安全性都很可靠,直接下载到电脑中。
怎么使用 RecordScreen.io 录屏?
两种录屏模式:屏幕 + 摄像头或仅屏幕,任选其一,点击开始录制,选择录制屏幕即可,支持麦克风同步录制声音,操作简单。
录制后产生的文件格式为 .webm,可供下载。
如何播放 webm 格式的影片?
- 把影片文件拖曳到 Google 浏览器分页,直接开启,就能播放这种格式影片。
- 手机上可以用 Google 相册等 App 当作播放器。
- 可以把 webm 传送到 Google 云端硬盘、 YouTube ,都可以变成线上影片播放。
参考资料:
方法
1. 产品经理如何做好验收测试?
东瓶西镜(产品大峡谷)
产品经理验收的意义:
- 形成闭环:产品经理验收测试结果,能够形成研发流程的闭环,有利于产品质量和效率的双保障。
- 心中有数:产品经理验收后,对于接下来的外部验收操作、试运营及正式上线,具有更好的借鉴、指导意义和培训价值。
- 迭代需求:从产品角度进行验收测试,既可以更好的复核主要功能与核心业务流程的符合性,也可以提前发现并记录需要迭代的需求。
- 降低成本:通过规范的产品验收工作流程,可以统一工作目标和行动指南,节约沟通成本,避免不必要的工作偏差。
所谓的闭环,如下图所示:
产品经理应该怎么验收呢?
- 验收时机:计划在什么关键节点进行验收测试?一般是在测试完成之后,正式发布之前。当然验收越靠前,变更的影响越小。
- 验收要求:计划达到什么要求之后进行验收?一般是需求全部开发且测试完成,有遗留的需求和问题也需要进行验收。
- 验收流程:验收的整个流程是什么。一般是:开发完成 → 测试完成 → 验收列表 → 验收申请(测试会提) → 准备环境 → 验收开始 → 验收反馈 →验收结束
- 验收标准:达到什么标准才算验收通过。每个公司每个产品的要求都不一样,需求自己制定。
2. 怎么做单元测试?
ciuwaalu(腾讯技术工程)
在实际研发与测试工作中,单元测试是保证代码质量的有效手段,也是效能优化实践的重要一环。
那,什么是单元测试?
简单点说就是,开发同学 在 编码阶段 以 函数方法 为粒度编写测试用例,检验 代码逻辑 的正确性。
注意四个核心要素:
- 角色:开发同学
- 阶段:编码阶段
- 粒度:函数方法
- 检验:代码逻辑
单元测试的好处是什么?
当然是能够尽早发现编码中的低级错误。
早发现低级错误的好处是什么?
节省成本,降低风险。
来自微软的数据,不同测试阶段发现 BUG 的平均耗时,供参考:
- 单元测试阶段,平均耗时 3.25 小时
- 集成测试阶段,平均耗时 6.25 小时 (+92%)
- 系统测试阶段,平均耗时 11.5 小时 (+254%)
单元测试该怎么做呢?
一个模板:GWT(被测函数、断言、输入数据、预期输出这几个要素的模板)
- Given 描述测试的前置条件或初始状态。
- When 描述测试过程中发生的行为。
- Then 描述测试结束后断言输出结果。
三条准则:
- 单元测试必须经常跑:持续集成,自动化运行。
- 从增量到存量,从主要到次要:从覆盖新模块、新功能做起,单元测试先跑起来再说,不要追求 100% 的覆盖率,但主要功能逻辑要完成覆盖测试。
- 测试用例需要逐步积累:上线前已经有了第一批用例,每次迭代都会增加新用例来覆盖变更。
一些经验:以黑盒指导功能验证,以白盒提升覆盖率
- 黑盒测试为主:黑盒测试验证功能逻辑实现是否正确,不关心内部实现方式,代码优化重构用例仍可复用。
- 白盒测试为辅:白盒测试关注黑盒测试用例遗漏的分支、路径,可以聚焦于异常处理逻辑是否合理。
3. 如何不依靠运气变得富有?
Naval Ravikant(卫夕指北)
2018年5月31日,Naval Ravikant(硅谷著名的投资人) 在 Twitter 上一口气发了 39 条推文,讲如何不依靠运气变得富有。
下面是节选:
- 追求财富,而不是金钱或地位。财富意味着拥有在你睡觉时也能帮你赚钱的资产,而金钱是我们转移时间和财富的方式,地位则是你在社会等级中的位置。
- 你不会因为贩卖你的时间而变得富有,你必须拥有产权(如一个公司的一部分股权)才能获得财务自由。
- 你可以通过提供社会大众想要但还不知道如何获得的东西而变得富有。当然,你必须成规模地交付;
- 选择一个能与目光长远的人一起长期从事的行业。
- 玩那种有叠加效应的游戏,生活中的所有回报,无论是财富、人际关系还是知识,都来自复利。
- 学会营销,学会创造,如果你能做到这两点,你会变得势不可挡。
- 用独一无二的知识、责任感和影响力武装自己。
- 独一无二的知识那种你无法仅仅通过培训获得的知识,如果社会能培训你,同样也能培训别人,别人就能替代你。
- 你可以通过追随真正的好奇心和热情,而不是追随当下的热点从而找到那种独一无二的知识。
- 独一无二的知识是通过学徒制被传授的,而不是通过学校。
- 独一无二的知识通常具有高技术性或高创造性,它不能被外包或自动化。
- 财富需要利用杠杆,商业杠杆来自资本、人才和边际成本为0的产品(如代码和媒体)。
- 如果你不会写代码,那么就写书和博客,录制视频和播客。
- 判断力需要经验,但可以通过学习基本技能更快地建立。
- 学习微观经济学、博弈论、心理学、说服力、伦理、数学和计算机科学。
- 读比听快,做比看快。
- 你应该忙到“没时间和别人喝咖啡”,同时仍然保持一个整洁的日历。
- 计算并严格执行你的个人时薪,如果解决某个问题所节省的成本小于你的时薪,就不要做这件事。如果外包一件事的成本比你的时薪便宜,那就把这件事外包。
- 还是要尽你所能努力工作,尽管与谁一起工作以及从事什么工作比单纯努力工作更重要。
- 努力将你做的事情成为世界上这个领域最好的,不断重新定义你所做的事情,直到它变成真的。
言论
1、
人总是短期内高估自己,却又低估自己长期的变化。
| 工程师日常
2、
3、
图片
1、靠 BUG 支撑起来的产品...
2、
来源:https://www.monkeyuser.com/
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,记得留言、点赞、加关注哦!
(完)
以上是关于软件测试周刊(第30期):专注 力量 敏捷 协作的主要内容,如果未能解决你的问题,请参考以下文章
软件测试周刊(第81期):能够对抗消极的不是积极,而是专注;能够对抗焦虑的不是安慰,而是具体。
软件测试周刊(第81期):能够对抗消极的不是积极,而是专注;能够对抗焦虑的不是安慰,而是具体。
软件测试周刊(第81期):能够对抗消极的不是积极,而是专注;能够对抗焦虑的不是安慰,而是具体。