<谷歌如何测试> 翻译第四篇

Python 用 selenium 做个简单的谷歌翻译 selenium用法阐述 阅读详情

Wednesday, March 02, 2011 10:11 AM
By James Whittaker

爬,走,跑。

在比其他公司少很多测试人员的情况下,谷歌做的还不错的一个关键原因是,很少尝试在一次发布中包含很多的功能。实际上,谷歌经常反其道而行之,在一个产品的核心模块被开发后,如果有一定数量的受益人群就立刻发布,然后不断的得到用户反馈再迭代开发新功能。这也是我们在Gmail 上的做法,Gmail 被贴上Beta版本的标签在线上运营了四年。通过这个Beta标签也可以来警示用户,Gmail 还并非完美的产品,有出错的可能。只有当邮件数据达到 99.99%的时间都是可用的时候,我们目标就算达到了,这个Beta标签才会被去除。很明显,质量是一个不断改进的过程。

这里的这个改进过程,并不像西部牛仔那样,一下子什么都能搞出来。实际上,一个产品为了达到我们称之为Beta的版本,也要经历一系列的过程,并在过程中证明其价值。Chrome是我加入谷歌前两年一直所工作的团队,它同样经历了多个版本。在每个版本里,基于对产品质量的信心和不断寻求的客户反馈才让我们进入到下一个版本。这些版本历程大致如下:

金丝雀版本(Canary Channel),不太可靠的版本,并不适用于发布。就像一只金丝雀在煤堆里一样,如果不幸身亡,那说明还有工作要去做。只有超强容忍能力的用户才有可能使用金丝雀版本来试验运行,你不能依赖这样的应用能把实际工作完成。

开发版本(Dev Channel),是开发工程师们日常工作中使用的版本。所有的同一产品组的工程师都需要去安装这个版本,并在真正的工作中使用他们。

测试版本(Test Channel),是给内部的狗食【译者注,dog food,一般指自己团队的产品,给自己或者公司内部的人尝试使用的中间产品】,如果能够有持续不错的性能表现的话,也可能会是beta版本的候选。

Beta版本或发布版本(The Beta Channel or Release Channel),是给外部用户使用的第一个版本。只有在之前的各种版本历程中通过了测试和真实用户的枪林弹雨般的验证后,才会成为beta版。

 

上述的这种从爬到走、走到跑的模式,让我们在运行一些测试同时又可以对我们的应用系统做一些试验调整,并从真实用户和每个版本的每日自动化测试那里得到及时的反馈。

对于这样的过程,还有一些分析角度的益处。例如,发现了一个bug,测试人员可以根据这个bug创建一个测试用例,并针对所有的每一个版本都运行这个测试用例,从而可以验证这个 bug fix是否在所有的版本中都真正得到了修复。

【译者注:关于Chrome 与 Chrome OS 各版本的称呼,可以参见http://www.chromi.org/chromedownload ,其中也涉及到本文中各个版本的称呼,但并不是与 James文中完全一致,实际上像金丝雀版本,一些喜欢尝鲜的外部用户也在使用】

 

公直
2012/3/20

 

英文原文,

How Google Tests Software – Part Four

http://googletesting.blogspot.com/2011/03/how-google-tests-software-part-four.html
Wednesday, March 02, 2011 10:11 AM
By James Whittaker

Crawl, walk, run.

One of the key ways Google achieves good results with fewer testers than many companies is that we rarely attempt to ship a large set of features at once. In fact, the exact opposite is often the goal: build the core of a product and release it the moment it is useful to as large a crowd as feasible, then get their feedback and iterate. This is what we did with Gmail, a product that kept its beta tag for four years. That tag was our warning to users that it was still being perfected. We removed the beta tag only when we reached our goal of 99.99% uptime for a real user’s email data. Obviously, quality is a work in progress!

It’s not as cowboy a process as I make it out to be. In fact, in order to make it to what we call the beta channel release, a product must go through a number of other channels and prove its worth. For Chrome, a product I spent my first two years at Google working on, multiple channels were used depending on our confidence in the product’s quality and the extent of feedback we were looking for. The sequence looked something like this:

Canary Channel is used for code we suspect isn’t fit for release. Like a canary in a coalmine, if it failed to survive then we had work to do. Canary channel builds are only for the ultra tolerant user running experiments and not depending on the application to get real work done.

Dev Channel is what developers use on their day-to-day work. All engineers on a product are expected to pick this build and use it for real work.

Test Channel is the build used for internal dog food and represents a candidate beta channel build given good sustained performance.

The Beta Channel or Release Channel builds are the first ones that get external exposure. A build only gets to the release channel after spending enough time in the prior channels that is gets a chance to prove itself against a barrage of both tests and real usage.

This crawl, walk, run approach gives us the chance to run tests and experiment on our applications early and obtain feedback from real human beings in addition to all the automation we run in each of these channels every day.

There are analytical benefits to this process as well. If a bug is found in the field a tester can create a test that reproduces it and run it against builds in each channel to determine if a fix has already been implemented.


利用python调用谷歌翻译API 废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识啊,所以我就想能不能用python解决这个问题。 知名的翻译(我听说的)就是谷歌,百度,有道,有道翻译英语还行,小语种效果太差了,直接放弃,经过对比百度和谷歌,准确率上还是谷歌更准确一点,毕竟谷歌搜... 阅读详情

相关推荐

谷歌翻译修复插件:提升谷歌翻译体验

谷歌翻译修复插件是谷歌浏览器中一个强大的工具,它能够对翻译结果进行快速修正和优化。本章节将为读者详细介绍插件的功能特性。谷歌翻译修复插件通过利用最新的翻译算法,有效地提高翻译的准确性和流畅性。它不仅修正了一些常见的翻译错误,还增加了对专业术语和俚语的准确翻译能力,使得用户能够得到更贴近原文的翻译结果。在第四代的插件更新中,我们加入了文本到语音的翻译功能,这使得用户可以更直观地感受到翻译结果。下面的代码示例展示了如何将文本转换为语音:代码解析:代码段定义了一个。

weixin_30598047的博客 1195

Google是如何测试的(全)

(一) google在公司的大层面组织上有很多的Focus Area,search, apps, ads, mobile, operating system这些都是不同的FA。测试隶属于其中的一个FA,这个FA的名字叫Engineering Productivity。这个FA由很多纵向的横向的学科构成,测试是其中最大的一个学科。Eng Prod这个FA由下面的部分组成: product t...

weixin_30633405的博客 182

带隙基准电路实战:温度补偿与流片调优全解析

带隙基准(BGR)是模拟芯片中实现高精度、低温漂电压参考的核心电路,其本质是利用硅材料禁带宽度的物理稳定性,通过PTAT(正温度系数)与CTAT(负温度系数)电压的加权叠加抵消温度影响。原理上需兼顾一阶线性补偿与二阶曲率校正,技术价值在于支撑ADC/DAC/LDO等关键模块的精度与可靠性。典型应用场景涵盖车规级MCU、工业传感器和高精度电源管理芯片。工程落地难点集中于工艺偏差、运放失调、寄生效应及版图热电耦合——这正是‘带隙基准设计’与‘带隙基准调优’的根本分野。本文聚焦真实流片经验,深入拆解Widlar架

weixin_42628280的博客 254

Dogfood

今天乱看东西,在MSDN上看到一个奇怪的词汇: Dogfood,在产品开发的稳定阶段,微软有一种工作叫Dogfood。大家知道在做狗食的时候,由于狗不会讲话,所以会有一个人去吃这个狗的食物,然后来判断此种食物的口味。微软借用了这种工作方式,在每一种产品完成之前,内部的员工必须先进行试用。虽然此时的软件还充满了Bug,并可能随时导致系统崩溃,但是员工们都还得继续Dogfood,...

weixin_30724853的博客 934

CGNS快速入门到实战(二):VS配置调用CGNS静态链接库

CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库;(三)CGNS文件及案例展示。本篇文章重点讲述VS配置调用CGNS静态链接库。

ahang_99的博客 2618

二进制部署的K8s集群,如何对到期证书更新

一年前搭建的k8s集群,突然不能够正常访问,出现502错误,首先怀疑容器没起来,先对问题进行排查,排查响应的容器有没有正常启动,状态一切正常,访问容器地址也可以正常访问,于是访问node port地址,发现无法正常访问,确定问题出现在svc中。 由于其他的应用、系统也无法提供正常的服务,应该是k8s的问题,非单个应用的原因。查看服务状态,kubectl describe svc xxx,endp...

时光旅行者 3771

inno制作完unity安装包后报错“Data folder not found”

注意看,里面确实有Data文件夹中的文件,但是却没有Data这个文件夹,也就是说,在inno中制作安装包导入文件夹时,导入的并不是完整的文件夹,而是导入了文件夹中的文件和子文件夹,而主程序运行时内部的寻址地址却是通过文件夹名称再去找里面的文件,没有了文件夹后,他是找不到也没法使用里面的文件的。顺着这个思路,我们在导入文件夹时,可以先创建一个文件夹a,再把我们需要的那两个文件夹和dll文件放到里面,导入文件夹时直接选择文件夹a,这样子最终导入进来的就是a文件夹里面的那两两个文件夹和dll文件。

m0_71983242的博客 5674

STM32F0实现数字化SPWM纯正弦波逆变器

这个没啥好说的,搭电路的事。其核心思想是两边桥臂分别由两个180度相位差的正弦波与三角载波比较来控制,优点是在开关器件工作频率一样的情况下,输出PWM频率是单极性SPWM的2倍,能够明显减少谐波,因此只需要相对较小的电感和电容滤波器件就可以起到很好的滤波效果,提升了系统的性能,也精简了系统体积,降低了成本。而双极性pwm则是在整个正弦周期内,四只管子都在高频开关状态工作,对角线上的管子一起导通,另一对角线上管子互补导通,实际上只需要一路互补的PWM控制,负载上电压在正电压和负电压之间切换,不出现0v。

forlifefor的专栏 1万+

Data Folder not Found Application folder: “c/D” There should be ‘Game_Da

要保证你的My project与_Data文件夹的前缀相同。

m0_74870143的博客 6444

群晖存储空间损毁不等于硬盘损坏:排查与修复实战

NAS存储系统中,物理硬盘、存储池与文件系统空间构成层级结构,任何一层出现异常都可能在管理界面汇总为“存储空间损毁”。事实上,异常断电、卷未正常挂载等软性问题也会触发这一红色告警,而存储池和硬盘SMART状态往往完全正常。理解这一机制后,用户无需急于格式化重建,通过事件日志审查、SSH确认挂载状态,再借助btrfs scrub等文件系统自愈工具,即可在数据不丢失的前提下恢复存储空间正常。该方案对家庭及小型办公环境中的群晖NAS尤其适用,特别是在供电不稳或硬盘休眠频繁的场景下,能有效规避误判风险。本文完整记录

weixin_30843121的博客 262

如何在SendWS实现WhatsApp批量群发设置管理?WhatsApp群发超链有什么好处?

WhatsApp群发顾名思义就是对WhatsApp上的用户好友进行群发消息,给他们群发想要发送的消息。及时不认识对方也可以对他进行群发超链。越来越多做跨境出海运营的工作者利用WhatsApp进行营销推广,因为他能做到低成本高回报,向客户发送消息曝光自己的品牌或产品,使得更多人了解,拓展新客户,提高成交率。

SendWS-WS云控群控拓客聊天翻译 1169

Unity3D问题记录 提示Data fold not found

原因:可能添加了更高版本的dll 解决:从Unity安装文件夹下的lib/mono/2.0里复制使用 同时,player 设置里选择.net2.0.。

yaoyutian的博客 6807

YOLO11涨点优化:创新多尺度卷积注意力(MSCA)模块,小目标检测神器!

MSCA模块通过创新的多尺度设计,在保持计算效率的同时显著提升小目标检测能力。实验证明,在YOLOv5/v8等模型上嵌入MSCA后,mAP提升超过2%,小目标检测精度提升近4%,且计算代价增加极小。注意力机制的未来发展方向动态核尺寸:根据输入特征自适应调整卷积核大小跨模态融合:结合RGB与深度/热力图等多模态信息自监督优化:利用对比学习预训练注意力模块尝试在你的YOLO模型中插入MSCA模块,欢迎在评论区分享你的涨点结果!参考文献。

QQ_778132974的博客 470

谷歌翻译API, 免费采集翻译

大家都知道,以前谷歌翻译是开放免费API的,对于我们工程中即时翻译用的很方便,可是后来谷歌收费了,5555 各种不方便啊 遂 ,决定自己做个采集翻译的小工具,方便自己,也能方便大家。当然,网上的哪些所谓的方法工具都已经失效了。 先来梳理一下谷歌翻译的流程, 用抓包工具走了一遍,发现内容提交是GET方式,qurestring , 还伴有cookie,于是从抓包工具中提取GET.....

life169的专栏 3万+

2026.2.23:AgentScope框架实战<一>:安装并使用agentscope

本文介绍了AgentScope框架的安装与使用实践。通过PyPI安装agentscope[full]后,演示了如何创建ReActAgent代理:1)配置DashScope聊天模型;2)注册自定义工具函数(查询位置和天气);3)初始化代理并处理用户请求。示例展示了代理如何响应复合查询(如同时获取北京位置和天气信息),输出结果显示代理成功执行了工具调用并返回结构化响应。该框架支持Python 3.13环境,提供内存管理、工具集成等功能,适用于构建智能代理系统。

拥抱具身智能,昇腾Ascend C 507

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

腾讯翻译君 VS 谷歌翻译

腾讯翻译君 VS 谷歌翻译 0.小贴士:文章比较长,请耐心观看。 1.先贴网址 腾讯翻译君 谷歌翻译 2.找一段高难度的英文测试文本 孔子的英文百科: Confucius (September 28, 551 BC – 479 BC) was a Chinese teacher, editor, politician, and philosopher of the Spring and Autumn period of Chinese history. The philosophy of C

weixin_44634312的博客 2706

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

<谷歌如何测试> 翻译第一篇

这是谷歌如何测试系列文章的第一篇。 Tuesday, January 25, 2011 9:08 AM By James Whittaker 在所有我被问及的问题中,最多的就是关于谷歌是如何测试的。尽管在博客中【google testing blog】中有过零碎的解释说明,但还是需要更多的系统阐述。虽然谷歌的技术路线在执行的过程中不断地进化,但公司的测试策略却从来没有变化过。谷歌现在是一家拥

测试人生 3526

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

<谷歌如何测试> 翻译第三篇

Wednesday, February 16, 2011 2:47 AM By James Whittaker 经过前两篇的介绍之后,评论里留下许多问题。并没有逐一回复,当然不是想把这些评论置之不理,而是希望在这里和后面的文章中做详细介绍和解释这些问题。从这一篇开始,我将开始讲谷歌是如何测试软件的了。 在谷歌,质量不等于测试,是的,我确定在其他所有的公司也都是这样。“质量不是被测出来的”,这

测试人生 3261

腾讯云大模型知识引擎 + DeepSeek:打造懒人专属的谷歌浏览器翻译插件

在当今信息爆炸的时代,阅读外文资料已成为获取前沿知识的重要方式。然而,频繁切换翻译工具的繁琐过程常常打断我的阅读节奏,让我感到困扰。于是,我萌生了一个想法:利用腾讯云大模型知识引擎(DeepSeek)开发一款谷歌浏览器翻译插件,让翻译变得轻松又高效。开发这款插件的过程充满了挑战与成就感。我首先深入了解了腾讯云大模型知识引擎的强大功能,它不仅能精准翻译单词和句子,还能理解上下文语义,支持多种语言互译。通过研究API文档,我掌握了接口的调用方式,并用curl和Apifox进行接口测试,确保其稳定性和准确性。

LucianaiB的博客 11万+

<谷歌如何测试> 翻译第六篇

Monday, May 02, 2011 12:05 PM By James Whittaker 软件测试开发工程师【SET】的生命 软件测试开发工程师【Software Engineers in Test】是软件工程师,专注在测试实现。首先,软件测试开发工程师是开发角色,在招聘和内部晋升资料中被我们奉为100%的编码角色。当在招聘面试软件测试开发工程师的时候,对于编码的要求几乎和对软件开发

测试人生 3432

<谷歌如何测试> 翻译第五篇

PS,最近2周家中有些私事,翻译进度滞后一些,见谅。 正文, Wednesday, March 23, 2011 8:27 PM By James Whittaker 对于测试范围的形式,谷歌并没有使用通用的代码测试、集成测试、系统测试这些常用术语来做区分,而是使用小规模测试、中等规模测试、大规模测试这样的称呼【译者注:代码测试(code testing), 通常指单元测试和API级别的测

测试人生 3226

<谷歌如何测试> 翻译第七篇

软件测试工程师【TE】的工作 相比软件工程师【Software Engineer】、软件开发测试工程师【Software Engineer in Test】而言,软件测试工程师【Software Test Engineer,以下简称测试工程师】是一个较新的角色,甚至这个角色本身目前还在定义完善之中。当前谷歌测试工程师们正在对未来这一角色的定义上进行实践尝试中。在这里,我们讲述的这个角色的定义过程

测试人生 1751

<谷歌如何测试> 翻译第二篇

Wednesday, February 09, 2011 6:36 PM By James Whittaker   为了实现”谁的屁股谁自己擦”这句名言所说的那样,在传统的软件开发人员的之上,有必要增加了几个角色,特别是需要工程技术方面的特殊角色,这种角色可以让开发更高效低做测试。在谷歌,这样角色的职责是让其他人工作的更有效率,这样的工程师通常会把自己当做测试人员,但他们真正的使命是提高生产

测试人生 4957

Python脚本调用谷歌浏览器的谷歌翻译

使用Python脚本通过谷歌浏览进行谷歌翻译

xuesonmax的博客 2344
上一篇: <谷歌如何测试> 翻译第三篇
下一篇: <谷歌如何测试> 翻译第五篇
liubofengpython
博客等级 码龄15年 23粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值