Test Engineers @ Google(goolge的测试工程师)

Posted: 14 Jan 2013 11:27 AM PST
By Yvette Nameth


At Google, we’re very big into highlighting individuals’ strengths and using them to make teams and products better. However, we frequently get asked “What do Test Engineers (aka TEs) do?” I pause when I get this question since it’s hard to speak for my peers - I test Google Maps rendering, which is just one small portion of what Google’s Test Engineers test.
在google我们非常强调突出个人的主观能动性并且发挥个人专长让团队或者产品更进步。但是经常有人问我们“测试工程师(akaTEs)做什么?”的问题,当我被问到这个问题的时候我通常会停顿一下因为我觉得这个问题很难回答。我测试google maps rendering,这只是google的测试工程师测试的产品的其中之一而已。


In order to get a clearer picture of what Test Engineers are responsible for, I chatted with three of my colleagues. We were able to identify the underlying Test Engineers’ 
similarities, while highlighting the differences.
为了能够给出全面的测试工程师做什么的问题的回答我跟我的3位同事聊了聊。我们可以确定测试不同产品的测试工程师的相同和不同。


So what common themes do Test Engineers specialize in at Google?
什么是google测试工程师都做的事情呢?


We’re product experts:

我们是产品专家


Test Engineers need to become a “go-to” person for how their product works and integrates with other Google products. (You aren’t expected to have this before working with a product, but you need to figure out how to become one on any product you work on!) TEs need to understand use cases and contracts with other services, products, and features. We aren’t expected to write unit tests for other engineer’s code; instead we ensure product quality on the functional and integration aspects of the product.

测试工程师需要了解他们的产品如何工作如何和其他google的产品集成起来的。(测试这个产品之前你不需要完全成为专家但是当测试你的产品时你需要成为专家)测试工程师需要理解用户场景和本产品与其他产品,服务或者特性的结合点。我们不会为其他工程师的代码写单元测试但是我们在功能和集成方面保证产品的质量。



We’re flexible:

我们是灵活的


Test Engineers are required to switch tasks and re-prioritize frequently. From unplanned catastrophes, to shifting launch calendars, to people asking us questions, our work is filled with interrupts. We determine how to ensure quality in the face of the interrupts.

测试工程师需要经常转换任务经常调整事情的优先级,从非计划性的事故到变化的安排到别人问问题,我们的工作充满了中断,我们在各种打断中仍然需要保证质量。


We also modify our tests based on the pace of the development and understand that there is no one right way to test a product. Test Engineers adapt tools to meet their needs and understand when a tool just can’t get the job done.

我们也经常基于开发的进度改变测试方案,测试一个产品没有唯一的一种测试方法。当一个工具无法满足需要的时候测试工程师需要修改测试工具以满足测试需要。


We’re clear communicators:

我们有明确的沟通


We have to be able to communicate via test plans, design docs, bugs, email and code. Every day we work with a wide variety of people in different roles: Software Engineers, Software Engineers in Test, Product Managers, Usability Researchers, Designers, Legal Counsel, etc. We need to address these different audiences to make sure we’re either gathering the information that will help us build better strategies or presenting feedback that will help influence the product.


We’re good at coordination:

我们擅长协调


We are people who use our “in between the product and user” status to coordinate integration testing efforts between products. We may coordinate manual testing efforts by our manual testers; or we may make sure that test gaps are being addressed by “someone” (Test Engineer, Software Engineer in Test, or Software Engineer). We put our product knowledge and communication together with a bit of coordination and make sure that bugs are looked at and the product is getting tested hourly / daily.


We have impact:

我们有影响


Google Test Engineers have big impact. We hold responsibility thinking of ways that our products could fail in “real scenarios”; and then we add tests to make sure that the worst won’t come to pass.

google的测试工程师有很大的影响。我们有责任思考我们的产品在“真实场景”下可能出现问题,并且我们组织测试保证最坏的情况不会发生。



How big is this? Well, in my case, I’m responsible for making sure Google Maps represents a map that is useful to my relatives in the middle of rural Montana as well as my friends living in London, Paris or Sydney. When you add to that the billions of other users in different regions, speaking different languages and using the map for different reasons, I know that my testing is impacting their ability to get around and find out information about the physical world around them safely.

那么我们的影响有多大呢?以我为例,我有责任保证google地图给远在rural Montana的亲人提供地图服务,也给住在london,paris或者sydney的朋友提供地图服务。当你加入其他的不同区域,说不同语言不同的原因使用我们的地图,我知道我的测试可以影响到他们认识周围的世界。



We code:

我们写代码


The other most common question is “Do you write code?” The answer is yes; Test Engineers at Google do code. 


The three aspects that generally differentiate what a Test Engineer does day-to-day depend on the following:
测试工程师每天的工作的区别点主要在以下三方面


Individual’s Strengths & Interests:
个人的专长和兴趣

Everyone is different and every TE has different passions, strengths and areas of expertise. Thankfully, Google’s a big enough company that many different areas of testing are available, and we gravitate to testing products we like. All TEs start with core competencies in testing, coding, and algorithms. How a TE applies this knowledge varies.


The Type of Product:
产品的形态
Desktop, web app or mobile? Frontend or backend? The technologies that our products use and run on create a lot of variation in what and how we test.

The Product’s History / Lifecycle:

产品的历史/生命周期


Early concept products don’t resemble those that exist in production. And the amount of testing that a product already has will determine what testing the TE is focused on. We work creating a test roadmap that parallels the product’s development cycle and addresses any testing gaps. 


If you still want to know what the day in the life of a Test Engineer entails, we’ll never be able to give you a general answer for that. Instead I suggest that you check out what 


Alan Faulkner is doing or ask the next Google Test Engineer you meet.


Interested in joining the ranks of Test Engineers (or Software Engineers in Test)? Check out http://goo.gl/2RDKj


About the Contributors:
Albert Drona has been at Google for 5 years and is currently working on Google Maps for Mobile.
Jatin Shah has been at Google for 9 months on Google+.
Mohammad Khan has been at Google for 7 years and is currently working on Google+ releases.
About the Author:
Yvette Nameth has been at Google for 5 years and is currently working on Google Maps rendering.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较复杂的问题,需要分成几个步骤来完成。 1. 数据爬取 首先需要确定要爬取的招聘网站,以及软件测试工程师的关键词。可以使用 Python 的 requests 库和 BeautifulSoup 库来爬取网页内容,并提取出所需的信息。具体的代码实现可以参考以下示例: ```python import requests from bs4 import BeautifulSoup url = 'https://www.xxx.com/search?keyword=软件测试工程师' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') job_list = [] for job in soup.find_all('div', class_='job-item'): job_info = { 'name': job.find('h2').text, 'company': job.find('span', class_='company-name').text, 'location': job.find('span', class_='location').text, 'salary': job.find('span', class_='salary').text } job_list.append(job_info) ``` 2. 数据分析 爬取到的数据可能会比较杂乱,需要进行一些数据清洗和处理,以便后续的分析。可以使用 pandas 库来对数据进行处理和分析。以下是一个简单的示例: ```python import pandas as pd df = pd.DataFrame(job_list) df['salary'] = df['salary'].str.replace('K/月', '').str.split('-') df['salary_min'] = df['salary'].apply(lambda x: int(x[0])) df['salary_max'] = df['salary'].apply(lambda x: int(x[1])) df['salary_avg'] = (df['salary_min'] + df['salary_max']) / 2 ``` 以上代码将薪资信息进行了拆分,并计算出了平均薪资。 3. 分析结果展示 最后可以使用 matplotlib 库来将分析结果进行可视化展示。以下是一个简单的示例: ```python import matplotlib.pyplot as plt plt.hist(df['salary_avg'], bins=10) plt.xlabel('Salary') plt.ylabel('Count') plt.title('Salary Distribution of Software Test Engineers') plt.show() ``` 以上代码将平均薪资进行了直方图展示。 综上所述,通过以上几个步骤,就可以实现对招聘网站软件测试工程师需求的数据爬取、分析和可视化展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值