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

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

Wednesday, February 09, 2011 6:36 PM

By James Whittaker

 

为了实现”谁的屁股谁自己擦”这句名言所说的那样,在传统的软件开发人员的之上,有必要增加了几个角色,特别是需要工程技术方面的特殊角色,这种角色可以让开发更高效低做测试。在谷歌,这样角色的职责是让其他人工作的更有效率,这样的工程师通常会把自己当做测试人员,但他们真正的使命是提高生产力/生产率。他们的存在是为了让开发人员效率提升,特别是在质量方面的提升,因为产品质量是生产率中最重要的一部分。这里是这些角色的总结:

【注,“you build it, you break it”, you build it ,you break it , you fix it, 原意指在Build Lab的人永远不会去修复build break的问题,只有开发人员自己才能修复。这里的意思是开发人员自己要对自己写的代码负责,比专职的测试人员更适合做测试工作。这里意译为”谁拉的shi,谁的屁股谁自己擦”】

 

软件开发工程师【SWE,Software Engineer】, 就是传统的开发人员。软件工程师实现一些功能代码并把最终产品提供给用户使用,他们创建设计文档、设计数据结构和总体的架构搭建,他们大多数时间都在写代码和评审代码。同时,他们也会写很多的测试代码,包括测试驱动设计,单元测试,并参与后面的文章会讲到的小、中、大型测试的创建工作。软件工程师需要对他们自己写的代码、修复缺陷的代码、改进的代码,只要是他们接触过的代码的质量负责。

 

软件测试开发工程师【SET or Software Engineer in Test】,和软件开发工程师一样是开发工程师,主要负责软件的可测试性。他们参与设计评审,近距离地关注代码质量和风险,对代码做重构为了系统有更好的可测试性,同时他们负责写单元测试框架和自动化测试的框架。在代码级别上他们和软件开发工程师是合作伙伴,但如果和增加新功能或提升性能相比较,他们更关心产品的质量和测试覆盖率的提升。

 

软件测试工程师【Test Engineer】,和软件测试开发工程师【SET】恰恰相反,他得主要工作是做测试而不是开发。许多谷歌的软件测试工程师会花很多的时间在写测试代码上,包括自动化脚本、使用场景的代码、甚至模拟最终用户的操作方面的代码。他们对软件开发工程师和软件测试开发工程师的测试工作做一些组织安排,解释测试结果、驱动测试的执行,特别是在项目即将发布的后期将起到非常重要的作用。软件测试工程师既是产品专家也是质量顾问更是风险分析师。

 

 

从质量的角度来看,软件开发工程师对功能开发和质量负有全责。同时,他们还负责容错设计、故障恢复、TDD、单元测试、和在软件测试开发工程师的帮助下写测试代码,这些测试代码会验证开发的功能。

 

软件测试开发工程师是提供测试支持的开发人员。他们提供一种能够将新添加的代码通过模拟其依赖的方式做功能验证的技术框架,并应用在代码提交之前的提交队列管理之中【注,这样可以在代码check in 的时候保证新代码的功能完备】。可以这样说,软件测试开发工程师就是为了让软件工程师可以测试他们的功能代码,所有真正的测试都是软件开发工程师完成的,软件测试开发工程师是保证这些功能有很好的可测试性,这样可以让软件开发工程师很积极地参与到测试用例代码的编写中去。

 

现在所有的一切很清楚了,软件测试开发工程师就是服务人员,他们的主要职责就让开发人员很方便简单的做测试并保证模块级别的产品质量。读者可能已经意识到一个问题,在这样的研发流程下,使用软件的最终用户会怎样?

 

在谷歌,软件测试工程师的职责就是最终用户级别的测试。如果软件开发工程师和软件测试开发工程师很好地做了模块级别的功能测试,下一个工作就是看许多功能集成和数据的组合是否能够满足最终用户的使用需求。软件测试工程师在这里就是扮演一个双重确认开发工程师测试工作的角色,任何明显的缺陷都会说明之前一轮的开发自测不够或比较草率,如果没有出现这种情况之后,软件测试工程师会将注意力转移到普通用户的使用场景测试上,保证性能、安全、国际化等方面没有问题。软件测试工程师们需要做大量的测试工作,并在测试工程师、测试合同工、吃狗粮的尝鲜者、beta测试用户、早期最终用户之间做很多沟通交流的工作,他们会和基础设计、功能复杂度、避免错误的方法等方面遇到问题的人做确认。一旦软件测试工程师开始介入,总是会没完没了。

 

好了,现在大家对这些角色应该有比较好的理解了,接下来我会在他们之间是怎么分工合作做更详尽的剖析。下次再聊。。。谢谢您的关注。

 

 

公直

2012/3/11

 

 

英文原文,

How Google Tests Software – Part Two

Wednesday, February 09, 2011 6:36 PM

http://googletesting.blogspot.com/2011/02/how-google-tests-software-part-two.html

By James Whittaker

 

In order for the “you build it, you break it” motto to be real, there are roles beyond the traditional developer that are necessary. Specifically, engineering roles that enable developers to do testing efficiently and effectively have to exist. At Google we have created roles in which some engineers are responsible for making others more productive. These engineers often identify themselves as testers but their actual mission is one of productivity. They exist to make developers more productive and quality is a large part of that productivity. Here’s a summary of those roles:

 

The SWE or Software Engineer is the traditional developer role. SWEs write functional code that ships to users. They create design documentation, design data structures and overall architecture and spend the vast majority of their time writing and reviewing code. SWEs write a lot of test code including test driven design, unit tests and, as we explain in future posts, participate in the construction of small, medium and large tests. SWEs own quality for everything they touch whether they wrote it, fixed it or modified it.

 

The SET or Software Engineer in Test is also a developer role except their focus is on testability. They review designs and look closely at code quality and risk. They refactor code to make it more testable. SETs write unit testing frameworks and automation. They are a partner in the SWE code base but are more concerned with increasing quality and test coverage than adding new features or increasing performance.

 

The TE or Test Engineer is the exact reverse of the SET. It is a a role that puts testing first and development second. Many Google TEs spend a good deal of their time writing code in the form of automation scripts and code that drives usage scenarios and even mimics a user. They also organize the testing work of SWEs and SETs, interpret test results and drive test execution, particular in the late stages of a project as the push toward release intensifies. TEs are product experts, quality advisers and analyzers of risk.

 

From a quality standpoint, SWEs own features and the quality of those features in isolation. They are responsible for fault tolerant designs, failure recovery, TDD, unit tests and in working with the SET to write tests that exercise the code for their feature.

 

SETs are developers that provide testing features. A framework that can isolate newly developed code by simulating its dependencies with stubs, mocks and fakes and submit queues for managing code check-ins. In other words, SETs write code that allows SWEs to test their features. Much of the actual testing is performed by the SWEs, SETs are there to ensure that features are testable and that the SWEs are actively involved in writing test cases.

 

Clearly SETs primary focus is on the developer. Individual feature quality is the target and enabling developers to easily test the code they write is the primary focus of the SET. This development focus leaves one large hole which I am sure is already evident to the reader: what about the user?

 

User focused testing is the job of the Google TE. Assuming that the SWEs and SETs performed module and feature level testing adequately, the next task is to understand how well this collection of executable code and data works together to satisfy the needs of the user. TEs act as a double-check on the diligence of the developers. Any obvious bugs are an indication that early cycle developer testing was inadequate or sloppy. When such bugs are rare, TEs can turn to their primary task of ensuring that the software runs common user scenarios, is performant and secure, is internationalized and so forth. TEs perform a lot of testing and test coordination tasks among TEs, contract testers, crowd sourced testers, dog fooders, beta users, early adopters. They communicate among all parties the risks inherent in the basic design, feature complexity and failure avoidance methods. Once TEs get engaged, there is no end to their mission.

 

Ok, now that the roles are better understood, I’ll dig into more details on how we choreograph the work items among them. Until next time…thanks for your interest.


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

相关推荐

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

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

weixin_30598047的博客 1195

论文笔记(5.15,文本抗击,defense)--Build it Break it Fix it for Dialogue Safety

又是一种human-in-loop的方法,用于检测攻击言论,采用检测、收集攻击样本、重新训练的方法让模型更加鲁棒

weixin_43301333的博客 434

TIMER-XL:突破长上下文限制的Transformer时序预测新范式

本文深入解析了清华大学提出的TIMER-XL模型,这是一种突破长上下文限制的Transformer时序预测新范式。它采用Decoder-only架构与补丁级生成技术,并创新性地引入TimeAttention机制,有效解决了传统模型在处理海量历史数据时面临的“上下文瓶颈”问题,显著提升了长序列预测的精度与稳定性。

weixin_28340315的博客 445

谷歌如何测试翻译版(2)

前言(二)Forword by Patrick CopeLand   我是2005年来谷歌的。那个时候正好是互联网技术快速变革来临的时候,并且云开始通知客户端-服务端的世界。那个时候的谷歌也是高速发展的时代。   我加入谷歌时,工程师只有1000来人。测试团队大概有50名全职员工和一些临时员工。该团队主要集中在UI的验证,并且根据需要进入各个项目。你能想象在谷歌,它并不是一个光荣的队伍。  ...

weixin_30827565的博客 126

stm32H743IIT6 cubemx HAL USB UVC摄像头基础

stm32性能已经很强了, 可以驱动ov5640摄像头, 所以可以把摄像头接在stm32上, 当作一个摄像头驱动器, 连接到电脑上 开发环境: stm32cubemx 6.0.1 单片机: 自己做的stm32h743iit6核心板,兼容正点原子 学习资料: 圈圈学USB 鱼鹰谈单片机 从零开始学习USBhttps://to-run-away.blog.youkuaiyun.com/article/details/85038393 整个项目是基于CDC串口上修改 1 stm32 USB 代码概览 ..

紫枫洛天的博客 7750

Win10 LTSC 2021 CPU占用率飙升?KB5017308补丁修复全攻略

本文针对Windows 10 LTSC 2021系统中因wsappx进程导致的CPU占用率异常飙升问题,提供了详细的解决方案。核心在于安装微软官方发布的KB5017308补丁,该补丁能从根本上修复系统组件缺陷,使CPU占用恢复正常。文章详解了补丁的下载、安装步骤、注意事项及安装后的验证方法,是解决此问题的权威指南。

python9snake的博客 1266

微服务测试:如何破解测试所面临的问题?测试的类型和范围你懂吗

测试概述 软件测试的目的,一方面是为了检测出软件中的Bug,另一方 面是为了检验软件系统是否满足需求。 然而,在传统的软件开发企业中,测试工作往往得不到技术人员的足够重视。随着Web应用的兴起,特别是以微服务为代表的分布式系统的发展,传统的测试技术也面临着巨大的变革。 传统的测试所面临的问题 总结起来,传统的测试工作主要面临以下问题。 1.开发与测试对立 在传统软件公司组织结构里面,开发与测试往往分属不同部门,担负不同的职责。开发人员为了实现功能需求,从而生产出代码;测试人员则是为了查找

m0_63437643的博客 8256

开放平台实现安全的身份认证与授权原理与实战:使用OAuth 2.0实现授权码模式

作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网应用的飞速发展,各种网站、App、小程序等都将逐渐向用户提供了丰富的功能和服务。在这些应用中,用户通常需要登录才能使用这些服务,这就涉及到用户信息的安全问题。如果用户的信息被泄露或篡改,那么可能造成严重后果。因此,为这些应用提供安全且健壮的身份验

AI天才研究院 494

原创翻译:James Whittaker系列——Google是如何测试的(2)

原创翻译,请勿转载!!!! 为了让“you build it,you break it”的格言成真,在传统的软件开发岗位之外,需要再设置几个必要的角色。特别地,能做开发同时又能有效且高效地做测试的这类工程师角色,是必要的。在Google,我们增加了这类角色的岗位,来帮助其他工程师提高工作效率。这类工程师通常把自己看成是测试人员,但是他们真正的使命是提高生产率。他们的存在是为了让研发人员的

ross_的博客 476

开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记

本文系统介绍了稳压电源的基础知识与应用实验。首先阐述了稳压电源的定义与类型,包括线性稳压电源(如LM7805/7905)和开关稳压电源(降压/升压/升降压式)的工作原理、参数特点及优劣势。随后详细讲解了各类稳压电源的实验设计,如线性稳压电源的电路实现、开关稳压电源的PWM控制方法等。最后汇总了硬件工程师相关的笔试面试资源,涵盖器件知识、电路仿真、企业真题等内容。全文结合理论分析与Multisim仿真,为电子工程学习者提供了稳压电源的实用技术参考。

XU157303764的博客 1640

EMI辐射发射超标案例

EMI辐射发射超标案例

让你爱上电路设计 8503

揭秘:谷歌是如何考核员工的?看看他们的OKR制度

谷歌一直给人具有创新精神和人文关怀的公司,但其内部考评制度的曝光让人觉得,谷歌员工的压力也不小。谷歌还是小规模初创公司时,就开始使用一个叫做“目标和关键成果”(Objectives and Key Results)OKR的内部员工考核制度。 OKR系统简单,帮助公司整理和执行计划,并从上到下按照命令链排布。OKR并不是谷歌原创,而是从英特尔公司借鉴所得,很多公司也有类似的员工制度。 几年前谷歌

韩攀郑州SEO网站建设的专栏 3622

游戏大厂射击游戏无缝大世界游戏DS服务器架构设计方案详解

摘要: 本文深入解析游戏大厂无缝大世界射击游戏的分布式服务器(DS)架构设计方案。以《和平精英》《量子特攻》为例,阐述如何通过动态分区、兴趣管理、弹性扩缩等核心技术应对高并发、低延迟、无缝切换等挑战。架构分为世界协调层、分区计算层、物理判定层等模块,结合微服务化、快照同步和Kubernetes调度,实现玩家跨区无感知迁移与一致判定。重点优化动态负载均衡、状态同步算法及容灾备份,依托分布式数据库与多云部署保障高可用性,为同类游戏提供可扩展的技术范本。(149字) 关键词: 无缝大世界、分布式服务器、动态分区、

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 563

腾讯翻译君 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

linux平台Modbus TCP测试

【代码】linux平台Modbus TCP测试。

无线互联&网络介绍 818

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

life169的专栏 3万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

lh200808的专栏 235

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

测试人生 3526

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

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

测试人生 3226

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

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

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

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

测试人生 1751

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、付费专栏及课程。

余额充值