Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How Google Tests Software
Search
Rex Chung
March 30, 2013
Technology
5
670
How Google Tests Software
Summary of learnings from the book.
Rex Chung
March 30, 2013
Tweet
Share
Other Decks in Technology
See All in Technology
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
180
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9k
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
850
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
2
150
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
390
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
160
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
Railsの話をしよう
yahonda
0
170
様々なファイルシステム
sat
PRO
0
200
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
710
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A better future with KSS
kneath
239
18k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
RailsConf 2023
tenderlove
30
1.3k
Scaling GitHub
holman
463
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Faster Mobile Websites
deanohume
310
31k
We Have a Design System, Now What?
morganepeng
53
7.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Documentation Writing (for coders)
carmenintech
75
5.1k
Transcript
HOW GOOGLE TESTS SOFTWARE
OVERVIEW 1. Ideologies 2. Roles 3. Methodologies 4. Types of
tests 5. Tools 6. Roles for us.
IDEOLOGIES Entire team is responsible for quality.
IDEOLOGIES Entire team is responsible for quality. Google engineers prefer
quality over features.
IDEOLOGIES Entire team is responsible for quality. Google engineers prefer
quality over features. Optimize for both quality and speed.
IDEOLOGIES Entire team is responsible for quality. Google engineers prefer
quality over features. Optimize for both quality and speed. Quality != Test
IDEOLOGIES Entire team is responsible for quality. Google engineers prefer
quality over features. Optimize for both quality and speed. Quality != Test Quality is not important until the software is important
ROLES Engineering Productivity Team Software Engineer Software Engineer in Test
Test Engineer Test Director
ENGINEERING PRODUCTIVITY "overcome bias against testing and a company culture
that favored heroic effort over engineering rigor."
SOFTWARE ENGINEER fault tolerant designs failure recovery TDD unit tests
SET Review designs Check code quality and risk Refactor code
to make it more testable. Write testing frameworks and automation.
TE User focused Product experts Quality advisers and analyzers of
risk. Write automation scripts. Coordinate with contract testers, dogfooders and beta users etc.
METHODOLOGIES Make testing a feature Centers around Code Review Single
Repository CI with submit queue Test suite - Parallel on single machine.
TYPES OF TESTS Small Medium Large (Enormous)
SMALL All mocked, no http or database calls Ideally 100ms
< 1 min 70%
MEDIUM Database, localhost calls Ideally 1 sec < 5 mins
20%
LARGE Allowed to call external service Focus on user's expectation
< 1hr 10%
TOOLS Test Analytics ACC (Attribute Component Capability) Google Test Case
Manager Manual test cases, Exploratory testing Buganizer Triage, accountability, reports, search before filing Record Playback Framework record and generate selenium tests.
TEST ANALYTICS
BUGS Severity: how much it affects functionality. Priority: how soon
it should be fixed.
ROLES FOR US SWE == SET Team Lead =~ TE
(Test Engineering Designer) Devops = Engineer Productivity + Tooling
TE DESIGNER Test design and coordination Identify resources required for
testing.
ENCOURAGE TESTING OKRs Certification program (test coverage, test speeds, 0
flaky tests, automated smoke test etc).
NEXT Things we can do to improve quality More resources
http://googletesting.blogspot.com/