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
650
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
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
4.1k
メンタル面でもつよつよエンジニアになる/登壇資料(井田 献一朗)
hacobu
0
150
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
520
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
170
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
140
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
610
【令和最新版】ロボットシミュレータ Genesis x ROS 2で始める快適AIロボット開発
hakuturu583
1
1.1k
AI×医用画像の現状と可能性_2024年版/AI×medical_imaging_in_japan_2024
tdys13
0
530
AWS re:Invent 2024 Recap in ZOZO - Serverless で好きなものをしゃべってみた
chongmyungpark
0
600
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
260
Qiita埋め込み用スライド
naoki_0531
0
5.4k
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
3
370
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Facilitating Awesome Meetings
lara
50
6.2k
Optimising Largest Contentful Paint
csswizardry
33
3k
Statistics for Hackers
jakevdp
796
220k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Cult of Friendly URLs
andyhume
78
6.1k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
We Have a Design System, Now What?
morganepeng
51
7.3k
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/