这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
维基百科
上周五《旺达幻视》迎来大结局,红白幻视打嘴炮时提到了「忒修斯之船」,这是个什么呢?
忒修斯之船(ship of Theseus),亦称忒修斯悖论,是形而上学领域内关于同一性的一种悖论。
形而上学:就是研究世界的本原是什么的学问。
1 世纪时的希腊作家普鲁塔克提出了这个问题:
如果忒修斯的船上的木头逐渐被替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?
这类问题现在被称做“忒修斯之船”。有些哲学家认为是同一物体,有些哲学家认为不是。
对应到红白幻视就是:
两者都是,又都不是原始的船,即两者都是幻视,但又不是最开始的那个幻视了。
搜狗测试
常见的广告计费形式术语:
常用的流量分析术语:
乔诺之声
质量是增长底座,因为质量工作是一家企业、一个产品的根本命脉,如果没有质量,一切都是浮云。
一. 先说质量的定义
什么是质量?
诺基亚手机能砸核桃,华为手机号称18 个月不卡顿,OPPO 手机说充电 5 分钟,通话两小时。
这些算不算是高质量的表现?可能都是,可能都不是,主要看用户最核心的诉求是什么。
举个例子:
现在买机械表,价值几万块钱至几十万,这时对手表的质量要求是什么?
作为机械表来说,计时得准不准,是最重要的吗?看时间更精准的是手机,机械表更多的是一种奢侈品的消费。所以它的表面的质感,镜面是否耐磨,这才是一个质量要控制的标准。
所以,质量应该是对客户需求的一种满足的程度,质量的价值,体现在客户价值上,体现在客户的需求上。
在工作中想要控制质量,一定要去准确地理解客户的感知:
什么是大质量?
大质量是一个公司级的全面质量管理。
从三个方面来讲:
质量的全局观:
如果一家公司目前对于质量的要求,只停留在产品的本身,关注产品的可用性和缺陷,那么,可以进一步拓展到产品的安全、稳定和体验上。
二. 再说如何设计质量组织
第一种:融合式质量组织
所谓融合式,就是有一个独立的质量管理部,参与到各部门的质量工作中,做一些质量赋能工作,主要的质量保障需要各部门自己完成。适用于发展比较成熟或规模比较大的组织,强调自己对工作质量负责的理念。
第二种:独立式质量组织
所谓独立式,指的是质量是一个独立的部门,独立在外,比如叫质量部或叫品质部。强调运动员和裁判员必须分离,你做的事情,我要找另外一个人评估来进行控制,去做独立的评估控制和改进。适用于不太成熟、队伍年轻、质量意识比较弱的组织。
三. 如何保证质量呢?
① 构建组织能力,用流程承载最佳实践。
a. 把质量的能力构建在组织上
作公司的高级管理者,一定要去想到把能力构建在组织上,而不是过于依赖英雄人物、英雄团队。因为人是会流动的是会变化的,但是把质量管理构建在组织上以后,它就跟打地基一样,一层一层很厚实。
b. 把优秀实践承载在流程上
流程是承载优秀实践的载体,这些流程是来自于行业里面的优秀实践,是来自于项目组的应用实践,在走流程的时候,我们自然就站在最佳实践的基础上去工作,这是一个流程应用的核心价值。另外,固化流程,使用工具和模板,效率也会提高。
关于流程构建的2个建议:
② 质量测试
不能只盯着问题本身,只想着怎么快速响应,怎么解决具体问题,而是要花心思去做前端的预防,想着怎么在前面发力。
事后检测只能告知我们已经发生的事情,但成本已经产生。
③ 质量策划
好的质量源自好的质量策划
④ 明确质量的第一责任人
业务人员最懂业务本质,流程是业务本质的一种体现。业务人员才应该是管理者,他们最了解流程,最了解规则,最了解业务本身的,所以责任应该在他们这里。
四. 企业质量管理的三个阶段
质量管理本质上是为了业务,是为了实行质量的溢价。
第一阶段,预防重大风险:构建客户的信任;
第二阶段,形成质量竞争力:强调用户体验,强调能构建的比较优势;
第三阶段,实现质量溢价:就跟苹果的手机比别人贵一样,这其中的原因有体验上的、有质量上的、当然也有品牌上的,但是最终是一个质量溢价。
总结,质量是整个公司管理的牛鼻子,抓工作,其实就是牵住整个公司管理的牛鼻子。
持续交付2.0
项目健康度(Project Health,简称为 pH 值)。它由一组指标组成,用于监测软件产品在发布之前的研发过程保持健康状态。
这个指标集的选取也是秉承了谷歌对软件产品的研发理念(可持续的、小批量、高质量、快速地发布),坚守上面提到的研发原则,同时也结合了其自己的实际研发流程。
指标如下图所示:
谷歌内部多年积累的数据表明,pH 值越高,项目越能很好地平衡速度与质量。
怎么做呢?
谷歌强调共享责任和积极协作,将整个软件生命周期的度量管理分为两部分:
GCP(谷歌云平台) 是两周对外正式发布一次。但是,在云平台内部,仍旧希望坚持谷歌的 Daily Release Candidate 。
Daily Release Candidate:
每天定时自动从 Trunk 拉出一个分支,并验证它能达到「正式发布的质量」。
如果无法达到正式发布的质量标准,说明代码质量下降,需要采取行动。这样的话,一旦想提高发布节奏时,可以不必做任何额外的努力。
谷歌云平台所遵循的原则有以下三个:
葛零零
B端产品 VS C端产品
|
比较 |
B端产品 |
C端产品 |
定义 |
定义 |
Business:企业或商家 |
Consumer/Customer:个人用户 |
比如 |
企业内部 ERP 管理系统、财务管理平台 |
微信、淘宝、网易云音乐 | |
产品特性的差异和不同 | 产品特性的差异 | 行业特征相对明显,更多的是满足了企业相关用户在「工作场景」下完成协同工作的一些特定组织需求。 |
没有明显的行业特征,更多的是满足了使用者在“生活场景”下的各种个人日常需求。 |
用户量级 |
用户量级更小、相对也更垂直 |
用户量级大而广 |
|
用户类型 |
用户类型通常是「组织群体」,包括决策者、管理者、普通员工,区别于一般「用户」,更多情况下是被称为「客户」。 |
用户可具体到每一个「终端个体」,一般称之为「用户」。 |
|
展示方式 |
多数集中在 PC 端,使用「左导航右内容」的布局。 |
手机端为主,PC 端为次。 |
|
盈利模式 |
定制付费 |
规模经济 |
|
产品设计的差异和不同 | 功能设计 |
要解决的主要是不同生产关系的协作沟通需求。在中心化的组织架构下,B 端产品需要满足不同层级和组织内外的协作沟通,功能呈现模块化。 |
至少有一个核心的主要功能点能满足用户的某一项诉求。围绕这个具体的核心功能,再去考虑附加更好的用户体验和增值服务。 |
角色设计 |
用户量级小,但用户角色众多(决策者、管理者、普通员工),需要好好分析各角色的需求关注点,并做好角色分配和权限管理上的设计。 |
用户虽然大致需求一致,但每个人的身份、年龄、兴趣、偏好都不尽相同,这就要求产品经理从众多终端用户中抽象出样本特征,形成不同的用户画像,有针对性地满足各类人群的个性需求。 |
|
视觉体验设计 |
要满足用户集中精力完成具体工作事项、不被打扰地进行严谨的流程操作,所以在视觉体验上多是保持干净简单的简洁风。 |
要兼顾“用户体验”和“商业化变现”的平衡,所以会额外重视在视觉体验上的设计。 |
|
产品运营的差异和不同 | 运营目标 |
更看重看中稳定的专业能力,不求大起大落,只求不要出错,避免给企业带来损失。 |
倚靠持续的用户量级的增长 |
运营策略 |
有着天然的『封闭』特性,营销上也更传统,通常将线下「大型会议、峰会、行业展会」作为主要场地,近距离接近客户,通过树立行业级别内的「专业形象」来吸引企业客户的兴趣。 | 激励用户主动在线上进行「对外分享传播」,实现以不断新增的日活来加持自身体量。 |
|
运营程度 |
运营往往不被重视,也没有 C 端那么专业化。在运营预算有限的情况下,通常是「运维多于运营」,只集中精力关注用户对产品的认可度和系统问题的定位。 | 早已将运营专业化,并细化到各维度的运营了,比如运营的工种可以细分为「活动运营岗、用户运营岗、增长裂变岗、内容运营岗」等等。 |
|
其他不同 |
产品的提供者 |
可以由企业内部团队来开发,也可以向市场采购,由应用服务提供商提供相关的软件。 |
来自市场上的软件和互联网公司,用户都是通过应用市场或官方网站直接获取产品或服务。 |
产品体现的价值 |
在企业的管理、营销等方面提高效率和收益、降低成本、规避风险。 |
体现的价值多种多样,如提高工作效率,提升生活品质等。 |
|
谁决定是否使用产品 |
包括企业的 CEO、CTO、CFO 等,B 端产品的客户和用户往往是分离的。 |
C 端用户自己决定,产品的客户和用户往往是一致的。 |
|
收入方式 |
客户的直接付费、根据服务和资源的使用量付费等。 |
通过广告带来的收入、购买产品内部的功能和服务、平台收取交易费用等。 |
|
营销方式 |
注重客户关系、客户服务、有专业的销售团队。销售流程长,基于理性分析据决策购买。定价更具灵活性和个性化。 |
销售人员通过数据分析找到与 C 端产品相匹配的群体,进行大规模地推送营销信息。销售流程短,基于感性决策购买。 |
|
产品的迭代和发布 |
用户更希望能够使用一个长期而稳定的版本,企业需要考虑产品与企业其他已经应用的产品是否可以对接、是否可以平滑切换等问题。 |
能够快读迭代和发布,周期通常都是每周或每月。 |
|
产品需求的调研 |
通过企业的组织架构和销售团队,找到典型的客户进行访谈,且客户更加专业。 |
需要通过各种方式挖掘和整合需求,如客户访谈、调查问卷等。 |
部分内容参考搜狗测试
开源前哨
WinMerge 是一款 Windows 系统下的免费开源的文件比较/合并工具,它可以比较两个文件夹和文件,以一种易于理解和处理的可视文本格式呈现差异。
支持文件、文件夹、表格、图片等等的比较。
开源地址:https://github.com/WinMerge/winmerge
开源前哨
VCR.py 简化并加快了 HTTP 请求的测试,它是 Ruby 的 VCR 库的 Python 版本。
VCR.py 把 HTTP 的请求拦截下来,返回本地准备好的数据的库。就像“插卡”一样,使用装饰器方式修饰的函数会被拦截下来,直接返回指定本地路径的文件中的数据,从而提高测试执行速度和确定性。
如:
import vcr import urllib2 with vcr.use_cassette('fixtures/vcr_cassettes/synopsis.yaml'): response = urllib2.urlopen('http://www.iana.org/domains/reserved').read() assert 'Example domains' in response
运行以上代码,VCR.py 会将请求记录到 fixtures/vcr_cassettes/synopsis.yaml
。再次运行时,发出HTTP 请求时,VCR.py 会将文件中保存的响应值直接返回。
开源地址:https://github.com/kevin1024/vcrpy
开源最前线
Deskreen 是一款桌面应用程序,可以通过 WiFi 将任何带有网络浏览器的设备变成电脑的辅助屏幕。可用于将整个计算机显示镜像到任何具有 Web 浏览器的设备屏幕上。
支持的操作系统:Windows, Linux, MacOS
开源地址:https://github.com/pavlobu/deskreen
技术领导力
俗话说得好,只要努力搞,没有 OKR 搞不垮的团队。作者总结了 11 个招式,招招致命,请谨慎使用。
最后,如果你的团队正在使用 OKR,请对照以上 11 条。
阿里技术
相较于日常保障工作,大促保障实际上是针对于特定业务场景的集中稳定性建设工作,具有高并发流量、短保障周期的特点,对系统性能与保障时间有明确要求(一般为 2 个月左右)。
如何体系化地保障大促期间系统稳定性呢?
按照执行顺序依次是:
Alibaba F2E
什么是高质量的分享?
作者认为分享的本意就是总结并传播知识,分享的核心是利他。分享的初心是希望大家相互分享知识,互相成长。也只有真的能对别人有帮助的分享才能称之为“高质量分享”。
什么是好的内容?
如何去组织内容?
如何去展示内容?
如何去表达内容?
1、直到最后一句之前,我都以为这是一条鸡汤。
2、
这个世界到处都是恐怖分子,有些是拿着炸弹的,有些是拿着意识形态的。
——余华 《我们生活在巨大的差异里》
3、你需要几周?
1、你属于哪个象限?
2、你的选择是什么?
3、请从 ABCD 四个选项中选出你认为正确的一项
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
文章浏览阅读2.5w次,点赞6次,收藏50次。官方解释是,docker 容器是机器上的沙盒进程,它与主机上的所有其他进程隔离。所以容器只是操作系统中被隔离开来的一个进程,所谓的容器化,其实也只是对操作系统进行欺骗的一种语法糖。_docker菜鸟教程
文章浏览阅读5.7k次,点赞3次,收藏14次。该如何避免的,今天小编给大家推荐两个下载Windows系统官方软件的资源网站,可以杜绝软件捆绑等行为。该站提供了丰富的Windows官方技术资源,比较重要的有MSDN技术资源文档库、官方工具和资源、应用程序、开发人员工具(Visual Studio 、SQLServer等等)、系统镜像、设计人员工具等。总的来说,这两个都是非常优秀的Windows系统镜像资源站,提供了丰富的Windows系统镜像资源,并且保证了资源的纯净和安全性,有需要的朋友可以去了解一下。这个非常实用的资源网站的创建者是国内的一个网友。_msdn我告诉你
文章浏览阅读1.2k次。vue2封装对话框el-dialog组件_
文章浏览阅读4.7k次,点赞5次,收藏6次。MFC 文本框换行 标签: it mfc 文本框1.将Multiline属性设置为True2.换行是使用"\r\n" (宽字符串为L"\r\n")3.如果需要编辑并且按Enter键换行,还要将 Want Return 设置为 True4.如果需要垂直滚动条的话将Vertical Scroll属性设置为True,需要水平滚动条的话将Horizontal Scroll属性设_c++ mfc同一框内输入二行怎么换行
文章浏览阅读832次。检查Linux是否是否开启所需端口,默认为6379,若未打开,将其开启:以root用户执行iptables -I INPUT -p tcp --dport 6379 -j ACCEPT如果还是未能解决,修改redis.conf,修改主机地址:bind 192.168.85.**;然后使用该配置文件,重新启动Redis服务./redis-server redis.conf..._redis-server doesn't support auth command or ismisconfigured. try
文章浏览阅读4.9k次。济大数电实验报告_数据选择器及其应用
文章浏览阅读236次。1研究内容消费在生产中占据十分重要的地位,是生产的最终目的和动力,是保持省内经济稳定快速发展的核心要素。预测河南省社会消费品零售总额,是进行宏观经济调控和消费体制改变创新的基础,是河南省内人民对美好的全面和谐社会的追求的要求,保持河南省经济稳定和可持续发展具有重要意义。本文建立灰色预测模型,利用MATLAB软件,预测出2019年~2023年河南省社会消费品零售总额预测值分别为21881...._灰色预测模型用什么软件
文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt
文章浏览阅读786次。全局观思维模型,一个教我们由点到线,由线到面,再由面到体,不断的放大格局去思考问题的思维模型。_计算机中对于全局观的
文章浏览阅读330次。一、CountDownLatch介绍CountDownLatch采用减法计算;是一个同步辅助工具类和CyclicBarrier类功能类似,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。二、CountDownLatch俩种应用场景: 场景一:所有线程在等待开始信号(startSignal.await()),主流程发出开始信号通知,既执行startSignal.countDown()方法后;所有线程才开始执行;每个线程执行完发出做完信号,既执行do..._countdownluach于cyclicbarrier的用法
文章浏览阅读508次。Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,_-自动化监控系统prometheus&grafana实战
文章浏览阅读4.7k次。输入关键字,可以通过键盘的搜索按钮完成搜索功能。_react search