惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - oscarxie

MTSC 2020深圳大会,For testers,by testers! MTSC 2019 深圳站精彩议题第一波更新! | 七五折门票火热售票中 MTSC2019-深圳站 议题征集 [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖 MTSC2018 | 确认过眼神,在这里能遇见Google、阿里、百度...... 四岁啦 | 第四届中国移动互联网测试大会期待您的光临 聊聊优酷上的那些车评 聊聊Google DSM产品的发布 尝试 Markdown 写测试用例 [ZZ]MTSC 2017 Mobile Testing@Google 演讲的感受 欢迎报名第三届中国移动互联网测试开发大会 - oscarxie 今年7月,一起来看谷歌如何测试移动应用! 饿了么测试专场技术沙龙实况回顾&PPT 下载 平安技术开放日质量保证技术专场第一期 [附部分 ppt] [ZZ]新手学 appium-合集第一季度 [ZZ]AppiumForWindows 菜鸟计划合集 「Mobile Testing Summit China 2017」第三届中国移动互联网测试开发大会-讲师征集 详细说说 Google Test Certified 的各级——Level 2,3 详细说说 Google Test Certified 的各级——Level 1
谈谈 Google 的 Test Certified
oscarxie · 2016-08-23 · via 博客园 - oscarxie

转载请联系作者,谢谢!

本文简单介绍下Google的Test Certified。

Test Certified(后文简称TC)是Google内部的一个认证项目,在8年的时间里取得了多个里程碑,有1700+的项目注册,其中1200+获得了1到5级的认证,578名导师参与。Test Certified最早起源于2006年,通过多年的实践,在Google的很多项目中起到了积极的作用,Test Certified使用5个级别的规范来定义一个项目的测试健康度,以此来促进开发人员将测试当作软件开发的一部分,尤其是单元测试。如今这个目标已经达成,TC在今年光荣的退休了,启用了新的标准——Project Health,也许将来有机会能聊一聊。

1 564 2 316 3 204 4 97 5 122
TC Level# Projects

什么是Test Certified?
测试认证项目包含一系列递增的认证级别,每个级别定义了一个可衡量的测试目标。参与的团队达成的目标越多,获得的级别越高(是不是有CMMI的感觉,不过这是一个鼓励开发测试的项目),它是一个改进测试实践的项目。

为什么Test Certified?
测试认证计划基于以下一些前提:

  • 越晚发现bug,修复的成本越高
  • Google没有大规模的手工测试团队,即使有,也更愿意通过自动化来解决问题
  • 开发人员测试来提前发现bug是一个相对便宜和有效的方式
  • 没有一个Google自己的测试标准来让工程团队遵守

我们相信良好的测试方法是有效的软件开发的重要组成部分。测试认证计划是促进测试作为工程团队的一种文化,通过指导来养成工程团队的测试习惯。

你尝试解决哪些问题?
我们想定位出Google是否有如下问题:

  • 缺乏工程测试文化。参与测试认证计划团队的增加,可以让其他团队提高对测试的重视。
  • 缺乏标准,团队不知道从哪里开始。通过测试认证的阶梯,我们给团队一个清晰的实现目标的层级结构。
  • 缺乏指导,如何提高团队的测试技能。测试导师、文档和列表提供指南。

我们希望每个团队自己来决定如何以及何时测试他们的代码。

有什么好处?
Bugs是横在开发者和用户之间的一大障碍,我们花了时间和金钱来创造它,却还要花更多的时间和金钱来定位、研究和修复它。而测试是已知减少缺陷的良好方式。
改进开发过程,更低的成本,更少的缺陷,更快的发布,更快乐的工程师。
(这里老调重谈,因为是06年定义的你懂得就好)

可衡量的改进
下面是参与计划的团队可以获得改进的地方:

  • 更少的紧急发布
  • 更少的失败构建:冒烟测试可以减少发生
  • 更高的产品信心:通过调查反馈测量
  • 更高的变化率:团队克服对变化的恐惧(拥抱变化,某司的口号)
  • 更少的损坏:404,未处理异常等
  • 降低复杂性
  • 更高的缺陷修复率

测试认证标准(分为五级)

Level 1

  • Set up test coverage bundles
  • Set up a continuous build
  • Classify your tests as Small, Medium, and Large
  • Identify nondeterministic tests
  • Create a smoke test suite

Level 2

  • No releases with red tests
  • Require smoke test suite to pass before a submit
  • Incremental coverage by all tests >= 50%
  • Incremental coverage by small tests >= 10%
  • At least one feature tested by an integration test

Level 3

  • Require tests for all nontrivial changes
  • Incremental coverage by small tests >= 50%
  • New significant features are tested by integration tests

Level 4

  • Automate running of smoke tests before submitting new code
  • Smoke tests should take less than 30 minutes to run
  • No nondeterministic tests
  • Total test coverage should be at least 40%
  • Test coverage from small tests alone should be at least 25%
  • All significant features are tested by integration tests

Level 5

  • Add a test for each non-trivial bug fix
  • Actively use available analysis tools
  • Total test coverage should be at least 60%
  • Test coverage from small tests alone should be at least 40%

为什么退休

  • 团队成员的测试习惯已经养成
  • 标准是静态的,级别达成后团队可能没有再进一步的动力,甚至项目实际情况已经降级了
  • Project Health的出现,PH可以自动且动态的每天无需人工干预的考量项目的健康度(PH是整个生命周期的考量,设计到开发、测试、发布和部署)

参考:
https://mike-bland.com/2011/10/18/test-certified.html