编辑:国薇、一口锅、菜菜、静怡、小淑子

这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。

本周刊开源(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、本地部署的区别是什么?

一个系统能够正常运营需要三个层面上提供支持,分别是:

  1. 基础设施层:包括网络、存储、服务器、虚拟服务
  1. 平台层:操作系统、中间件、Runtime
  1. 软件层:应用、数据

根据客户对这三个层面上的东西是自建还是外采,就决定着采用那一种部署模式:

  • SaaS:Software-as-a-Service(软件即服务),三层全部外采,直接提供给用户的是搭建好的应用程序。
  • PaaS:Platform-as-a-Service(平台即服务),基础设施层、平台层外采,软件层自建。企业只需要关注如何开发好软件系统即可。
  • IaaS:Infrastructure as a Service(基础设施即服务),基础实施层外采,平台层和软件层自建。
  • 本地部署:三层全部自建。

如下图所示:

文章

1. 微信小程序渗透测试技巧

Bypass

微信小程序安全测试应该怎么做呢?

从两方面入手:

  1. 小程序解包(反编译),基于小程序的前端源码,从 JS 敏感信息泄露、隐藏接口漏洞等方向进行漏洞挖掘。
  2. 小程序抓包,基于小程序的数据包,可以看到前后端业务交互的过程,重点关注业务逻辑漏洞、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 大特质:

  1. 有好奇心,能够主动学习新事物、新知识和新技能。
  2. 对不确定性保持乐观,只有乐观的人会相信,会愿意去尝试。
  1. 不甘于平庸,我说不平庸,并不是专门指薪酬要很高或者技术很好,而是你对自己的标准一定要高。
  2. 不傲娇,要能延迟满足感,对现状要踏实。
  1. 对重要的事情有判断力。

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

开源地址

https://github.com/nativefier/nativefier

安装命令:npm install -g nativefier

使用方法:https://mp.weixin.qq.com/s/3c-Pdi7zdBVhyycFIuf38A

3. 无需下载和安装的在线录屏工具 - RecordScreen.io

RecordScreen.io 是一款不需要安装就能使用的在线录屏工具,支持录制整个屏幕、浏览器、指定标签页,支持前置摄像头,无需下载任何安装包,有浏览器、有网就能录屏。

功能特性:

  1. 不需注册或登入帐号,不用下载或安装任何软件,也不用安装浏览器插件。
  2. 直接用浏览器内建功能,一键完成电脑屏幕画面录制。
  1. 录制完成的影片不上传到服务器,隐私及安全性都很可靠,直接下载到电脑中。

怎么使用 RecordScreen.io 录屏?

两种录屏模式:屏幕 + 摄像头或仅屏幕,任选其一,点击开始录制,选择录制屏幕即可,支持麦克风同步录制声音,操作简单。

录制后产生的文件格式为 .webm,可供下载。

如何播放 webm 格式的影片?

  1. 把影片文件拖曳到 Google 浏览器分页,直接开启,就能播放这种格式影片。
  2. 手机上可以用 Google 相册等 App 当作播放器。
  1. 可以把 webm 传送到 Google 云端硬盘、 YouTube ,都可以变成线上影片播放。

网站链接:https://recordscreen.io/

参考资料:

  • https://www.appinn.com/recordscreen-io/
  • https://mp.weixin.qq.com/s/n3xwbwrEP3fC7KW5HEeDRQ

方法

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 条推文,讲如何不依靠运气变得富有。

下面是节选:

  1. 追求财富,而不是金钱或地位。财富意味着拥有在你睡觉时也能帮你赚钱的资产,而金钱是我们转移时间和财富的方式,地位则是你在社会等级中的位置。
  2. 你不会因为贩卖你的时间而变得富有,你必须拥有产权(如一个公司的一部分股权)才能获得财务自由。
  1. 你可以通过提供社会大众想要但还不知道如何获得的东西而变得富有。当然,你必须成规模地交付;
  2. 选择一个能与目光长远的人一起长期从事的行业。
  1. 玩那种有叠加效应的游戏,生活中的所有回报,无论是财富、人际关系还是知识,都来自复利。
  2. 学会营销,学会创造,如果你能做到这两点,你会变得势不可挡。
  1. 用独一无二的知识、责任感和影响力武装自己。
  2. 独一无二的知识那种你无法仅仅通过培训获得的知识,如果社会能培训你,同样也能培训别人,别人就能替代你。
  1. 你可以通过追随真正的好奇心和热情而不是追随当下的热点从而找到那种独一无二的知识。
  2. 独一无二的知识是通过学徒制被传授的,而不是通过学校。
  1. 独一无二的知识通常具有高技术性或高创造性,它不能被外包或自动化。
  2. 财富需要利用杠杆,商业杠杆来自资本、人才和边际成本为0的产品(如代码和媒体)。
  1. 如果你不会写代码,那么就写书和博客,录制视频和播客。
  2. 判断力需要经验,但可以通过学习基本技能更快地建立。
  1. 学习微观经济学、博弈论、心理学、说服力、伦理、数学和计算机科学。
  2. 读比听快,做比看快。
  1. 你应该忙到“没时间和别人喝咖啡”,同时仍然保持一个整洁的日历。
  2. 计算并严格执行你的个人时薪,如果解决某个问题所节省的成本小于你的时薪,就不要做这件事。如果外包一件事的成本比你的时薪便宜,那就把这件事外包。
  1. 还是要尽你所能努力工作,尽管与谁一起工作以及从事什么工作比单纯努力工作更重要。
  2. 努力将你做的事情成为世界上这个领域最好的,不断重新定义你所做的事情,直到它变成真的。

言论

1、

人总是短期内高估自己,却又低估自己长期的变化。

| 工程师日常

2、

3、

图片

1、靠 BUG 支撑起来的产品...

2、

来源:https://www.monkeyuser.com/

订阅

本周刊每周五发布,会同步更新在微信公众号。

微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。

如果文章对你有帮助,记得留言、点赞、加关注哦!

(完)

软件测试周刊(第30期):专注 力量 敏捷 协作相关推荐

  1. 【码云周刊第 30 期】打造场景化的图片特效处理工具

    为什么80%的码农都做不了架构师?>>>    ##码云项目推荐 1.项目名称:图片实时处理使用工具 iOS-GPUImage **项目简介:**本项目是基于 ios 的图片处理 A ...

  2. 开源大数据周刊-第30期

    阿里云E-MapReduce实践 泰为在E-MapReduce上的考量与实践 阿里云EMR是基于 Hadoop 的生态环境来搭建,同时可以跟阿里云的对象存储服务OSS等云服务进行无缝数据交换,方便用户 ...

  3. 软件测试周刊(第34期):一岁有一岁的味道,一站有一站的风景

    编辑:国薇.一口锅.菜菜.静怡.小淑子.夏至 欢迎来到第 34 期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布. 本期看点:腾讯是怎么做流量录制回放的?阿里的灰度方案是怎么设计的?下 ...

  4. 《强化学习周刊》第30期:Deep Mind开展人机交互的新试点研究、MIT提出神经进化优化框架...

    No.30 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  5. 《敏捷个人》周刊 第11期 (可下载)

    #敏捷个人# 每日成长101:第55天 如今我们的社会交流形式更为丰富,但是带给我们更多的是孤独.孤独是一种存在状态,人的孤独感是现在社会的一种普遍存在.谈到孤独,也许你会 想到那些孑然一身,儿女不在 ...

  6. 开源大数据周刊-第49期

    摘要: 开源大数据周刊-第49期 资讯 实时流数据分析--2017 年的 27 个预测 概述:根据Markets & Markets的预测,流数据分析市场将从 2016 年的 30 8 亿美元 ...

  7. 【码云周刊第 3 期】来自国内开发者的实战项目,开源让通讯从未如此简单!...

    为什么80%的码农都做不了架构师?>>>    类型:即时通讯 "小时候,乡愁是一枚小小的邮票,我在这头,母亲在那头-- " 春节将至,思乡心切,小一情不自禁的想 ...

  8. 【码云周刊第 10 期】放码过来,四个男人的带头冲锋!!(内附 PPT 下载链接)...

    为什么80%的码农都做不了架构师?>>>    一周热门资讯回顾 码云全面改版:新界面新态度,更一致的体验 DuangDuangDuang!码云项目的 Readme.md 特殊技能 ...

  9. CSDN开发者周刊第 21期:Wi-Fi 之父辞世,谷歌服务器再次全球宕机;Windows 10 将支持安卓应用

    CSDN开发者周刊:只为传递"有趣/有用"的开发者内容,点击 Star(CodeChina)! 本周热门项目 1.GTK 4.0开源工具包正式发布 赶在周五的发布会之前,GTK 开 ...

  10. 科技周刊第六期:接近本质的东西才会长远

    这里记录每周值得分享的东西,每周五发布. 封面图 中国西南西藏自治区山南市扎南县的雅鲁藏布江(出处) 本周话题:接近本质的东西才会长远 我想说三个现象: 1.为什么很多明星能够一直红下去?而有的明星只 ...

最新文章

  1. 机器学习工程师 - Udacity 可视化 CNN
  2. 面试官问:Integer 如何实现节约内存和提升性能的?
  3. 一次搞懂所有排序算法(一)
  4. 2022年如何学习自动化测试?这篇文章告诉你
  5. 关于.NET参数传递方式的思考
  6. svg画css,CSS vs. SVG:图形文本的效果
  7. set escape on
  8. EA(Enterprise Architect)UML修改字体大小
  9. 2016年10月20日 .NET Core 1.0.2 更新
  10. 一个封装了的ADO类,功能非常强大,并做了一个DEMO演示如何操作ACCESS数据库
  11. 你走过最长的路 ,就是机器学习过程中的弯路
  12. 麻雀虽小五脏俱全的Vue拉勾项目,看看应该有帮助
  13. LG_2051_[AHOI2009]中国象棋
  14. 【报告分享】2022中国职业教育行业报告-多鲸资本.pdf(附下载链接)
  15. scapy获取ip_如何使用scapy从数据包中读取整个ip层和tcp层?
  16. was进程内存占用过大_Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决...
  17. CONFIG_ARM64_MODULE_PLTS 的作用
  18. F - Firetrucks Are Red
  19. GitHub的Fork 是什么意思
  20. AD软件画电路图笔记

热门文章

  1. 路由器DNS被劫持的解决办法,dns被劫持怎么办?
  2. js问号点的作用(?.)和问号问号(??)的用法
  3. java 0.1 0.2_0.1+0.2结果却不等于0.3
  4. py实战某股票一周收盘价折线图绘制
  5. c语言语法基础知识,英语语法_英语语法基础知识
  6. 【洛谷】P1428:小鱼比可爱
  7. 查询失败,后台服务器运行错误,添加网络打印机错误?怎么处理?Windows 无法连接到打印机。 服务器打印后台处理程序服务没有运行。...
  8. 一道被前端忽略的基础题,不信看你会几题
  9. 桂林电子科技大学校园网登录数据包抓取教程实现路由器每天自动登录
  10. strut 多文件上传