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
mattak
July 09, 2015
Programming
1
840
How Google Tests Software
The book of How Google Tests Software.
mattak
July 09, 2015
Tweet
Share
More Decks by mattak
See All by mattak
最近やった作業環境改善施策10個
mattak
0
270
UnixTime is Simple
mattak
0
210
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
330
Nodux - node base redux framework
mattak
0
1.5k
what_is_technical_investment
mattak
0
140
unitypackage distribution
mattak
0
830
Unity energy usage
mattak
0
930
Unidux 0.3.1
mattak
1
410
Other Decks in Programming
See All in Programming
CSC509 Lecture 05
javiergs
PRO
0
300
CSC509 Lecture 04
javiergs
PRO
0
300
CSC305 Lecture 03
javiergs
PRO
0
240
CSC305 Lecture 05
javiergs
PRO
0
210
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
240
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.3k
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
160
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
1k
Serena MCPのすすめ
wadakatu
4
990
CSC305 Lecture 06
javiergs
PRO
0
220
止められない医療アプリ、そっと Swift 6 へ
medley
1
170
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.6k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
232
18k
A better future with KSS
kneath
239
18k
Automating Front-end Workflow
addyosmani
1371
200k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
KATA
mclloyd
32
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
For a Future-Friendly Web
brad_frost
180
9.9k
Mobile First: as difficult as doing things right
swwweet
224
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Transcript
!NBUUBL ذأزַ鋅ִגֻ ؚ٦ؚٕךاؿزؐؑ،涪 הח'#ׅ⠓
縧ֹ (PPHMF5FTU劤ָ涯ַկ ㉏겗ָ涯ְ 䩛岀ָ涯ְ 罋ִ倯ָ涯ְ
䒷欽IUUQTNJLFCMBOEDPNJNBHFTUPUUUFTUDFSUJFEKQH ز؎ٖח 5FTU5*14ך䓸秵 UFTUJOHPOUIFUPJMFU
(PPHMFחכذأز ꅾ銲鋔ׅ俑⻉ָ֮
ך5FTU5JQT⠗ִ涪邌דׅ 荈ⴓזח鍑ꅸ׃ג铡僇ծַז铂䒦כַ֮ 鑫׃ֻכ劤顠ג铣ד
暴ח⽩韋ח婍א涪邌 ֿך濼鋅ד⡦ַך涪ךؼٝزחזל
אךֿה ㅷ颵͒ذأز ذأزٖكٕ ؎ًؙٝٔٝةٕז涪 "$$ⴓ匿
ذأزךأ؛٦ؚٔٝ غؚ✮庠
ㅷ颵͒ذأز
ㅷ颵͒ذأز ㉏겗"ָ涪欰⾱㔓כזחַ ذأز 涪 涪כ㉏겗ך⾱㔓ծذأزכ㉏겗ך✮կ ㅷ颵ָ넝ְ͒ذأزָ㢳ְ
ㅷ颵㸚 涪 涪 涪 涪⸇ִקוחغؚכ饯ֹגְֻ 䧭卓暟 䧭卓暟 䧭卓暟 䧭卓暟
ㅷ颵㸚 涪 5FTU 涪 涪ח״ㅷ颵⡚♴5FTUד㸚 䧭卓暟 䧭卓暟 䧭卓暟ˏ 䧭卓暟
ㅷ颵㸚 涪 5FTU 涪 涪הذأزך㺘穠さ $IBOHF-JTU $IBOHF-JTU $IBOHF-JTU ㅷ颵כ涪הذأزך㺘䱸ז穠さד⥂
<膴简>$IBOHF-JTU $- הכ 3FWJFX׃גֲ㢌刿ך⽃⡘ UJDLFU涸ז $-ד荈⹛ؽٕسכ㔐 3FWJFXFSכؽٕسָ姻׃ְַ
3FWJFXFSכذأزַָ֮䗳׆颵㉏ׅ
תה ㅷ颵͒5&45ָծ⚕罏כⴖגⴖז ְ 涪הذأزך㺘穠さָㅷ颵⥂䭯ח䕵甧א
ذأزٖكٕ
ذأزٖكٕ ؟؎ؤ׀החذأزٖكٕⴽֽ 4UFTU .UFTU -UFTU
4UFTU 暴䗙 6OJU5FTUָً؎ٝ 넝鸞 ֮ײ橆㞮ד㸜㹀㹋遤〳腉 ذأز眔㔲ָ杞ְծ㞮歲٥ؒٓ٦ذأزָ㺁僒
<膴简>6OJU5FTUהכ 6OJU $MBTT .FUIPE 㼎韋ה׃ذأز ⦐ղך鿇ㅷָ⥋걾דַֹذأزׅ ؝٦س⚥䗰ה׃،فٗ٦ث
荈ⴓ⟃㢩כNPDLׅ
<膴简>6OJU5FTUהכ ⢽1FSTPOؙٓأךIFMMPذأزׅ DMBTT1FSTPO\ QSJWBUF4USJOHOBNF QVCMJD1FSTPO 4USJOHOBNF \ UIJTOBNFOBNF ^ QVCMJD4USJOHIFMMP
\ SFUVSOˑ)FMMP ˒ OBNF ^ ^
<膴简>6OJU5FTUהכ DMBTT1FSTPO5FTU\ !5FTU QVCMJDWPJEIFMMP \ 1FSTPOQFSTPOOFX1FSTPO ˑKPIO˒ BTTFSU5IBU QFSTPOIFMMP
JT ˑ)FMMP KPIO˒ ^ ^ ⢽1FSTPOؙٓأךIFMMPذأزׅ
<膴简>.PDLהכ ⯋ך0CKFDUה殯ז䮶莸ְׅ0CKFDUךֿה .PDL垷鸡ㅷծ鋅ׇ䱦ֽծ⩝暟ך䠐 ذأزד⣛㶷㼎韋ך0CKFDU縧ֹ䳔ִ䩛岀ךֿה
<膴简>.PDLהכ ⢽؟٦غ٦הך鸐⥋ " # 63- UFYUIUNM )PTU 5BSHFU$MBTT
.PDL$MBTT
<膴简>.PDLהכ ⢽؟٦غ٦הך鸐⥋ # " 钠鏾鸐ׅךח醱꧟ז鏣㹀ָ䗳銲 63-
<膴简>.PDLהכ ⢽؟٦غ٦הך鸐⥋ " #ˏ 63- .PDL0CKFDU#ˏח縧ֹ䳔ִծٖأهٝأ⩝鄲
.UFTU 暴䗙 窟さذأز 㢩鿇ך؟ـءأذيך䮶莸ְ鎸鶢 ⚥鸞 垥彊涸ז涪橆㞮ד㹋遤〳腉
㢩鿇⣛㶷דꬊ寸㹀涸חזֲ
-UFTU 暴䗙 &OE5P&OEذأز ،فٔⰋ⡤ָוֲ⹛⡲ַׅ鎸鶢ׅ إحز،حفזוד儗ַַָ 넝宏彊ד㞮歲⦼ثؑحؙזוחכぢַזְ
㢩鿇⣛㶷דꬊ寸㹀涸חזֲ
ذأزٖكٕ 4UFTU .UFTU -UFTU ⴓ ⴓ ⴓ 䓼ⵖ穄✪儗 ⳿勻ꣲ넝鸞ח TFD
NTFD 儗湡垥
ذأزٖكٕ ؟؎ؤ׀החذأزٖكٕⴽֽ 4UFTU .UFTU -UFTU ءأذيח㼎ׅ荈⥋ ⴓꨄծ鸞䏝
ذأزٖكٕ ؟؎ؤ׀החذأزٖكٕⴽֽ 4UFTU .UFTU -UFTU ؝٦سךㅷ颵넝 醡ㅷךㅷ颵넝
ذأزٖكٕ ♧菙涸זفٗآؙؑزךذأز嫰桦 4UFTU .UFTU -UFTU
ذأزٖكٕ .UFTU-UFTUָ㢳ְ؛٦أ 4UFTU .UFTU -UFTU ٌآُ٦ٕ侧ָꬊ䌢ח㢳ְ 6*ָ醱꧟
ذأزٖكٕ 4UFTUָ㢳ְ؛٦أ 4UFTU .UFTU -UFTU ؎ٝؿٓ禸 ر٦ة乼⡲ָ⚥䗰
*OEFYJOH$SBXMJOH
ذأزٖكٕהٔا٦أ Ϧιʔε -UFTU .UFTU 4UFTU /FUXPSL 0 MPDBMIPTU NPDL %#
0 0 NPDL 'JMF4ZTUFN 0 0 NPDL 6*4ZTUFN 0 ඇਪ NPDL 4ZTUFN$BMM 0 ඇਪ Y .VMUJ5ISFBE 0 0 ඇਪ 4MFFQ 0 0 Y ڥม 0 0 Y
ٖكֽٕךًٔحز 鎘皾项彁⸬卓涸חꂁⴓ׃װֻׅז فٗآؙؑزך朐䡾ָ鋅װֻׅז せ➰ֽח״ذأزך俑腞钠濼׃װֻׅז
תה ذأزכٖكٕדⴓֽ 4ذأزכծ؝٦سךㅷ颵חꟼ .-ذأزכծ醡ㅷךㅷ颵חꟼ
؎ًؙٝٔٝةٕז涪
䧭卓暟ٖكٕךⴓ겲 ؕشٔ،ثٍٝطٕ 涪ثٍطٕ ٔٔ٦أחכ黝ׁזְծ毟ְך֮ؽٕس ワ劍խ傈如ךؽٕس ⵃ欽罏ؒٝآص،ծ醡ㅷ䬐䔲وط٦آٍ 涪罏ָ傈䌢ך➬✲ח⢪ֲկ♧鸬ךذأزさ呓կ ワ劍խꥫ鹈ְֻךؽٕس ⵃ欽罏ؒٝآص،
䧭卓暟ٖكٕךⴓ겲 ذأزثٍطٕ Ĕծٔٔ٦أثٍطٕ 䭯竲ذأزך䧭籐ָ殢ך剢剑넝ؽٕس ワ劍խ剢 ⵃ欽罏爡ⰻךسحؙؿ٦سِ٦ؠ 爡ⰻⵃ欽ח罣ִծㅷ颵㛇彊麦䧭׃㸜㹀晛կ爡㢩Ⱅ ワ劍խתת ⵃ欽罏♧菙ِ٦ؠ
ًٔحز 稆傍ֻ㹋꿀ծ㸜㹀ٔٔ٦أ 媮ꥡ涸ד竰竲涸ז'# 䧭卓暟כծ䖚ղחثٍطٕ傻呓ׅךד㸜䗰կ 涪㣐胐ח遤ִկ 㼭ⵟח嗚鏾ׁךדؚٖٔحءָّٝ䖤װְׅ ⡦ָ㠨ךַծ⡦ד㠨ךַ
فٖ؟ـىحزثؑحؙ ٖؽُ،٦חNBJMָ굲עח遤荈⹛ثؑحؙ ذأزثؑحؙ -JOUثؑحؙ ؖ؎سٓ؎ٝ鸐ַ $MFBOז橆㞮ד㹋遤ׁ 㹋遤穠卓כٖؽُ،٦ח♧筰ח㾈ֻ
ًٔحز ثؑحؙ怩ָ幾 ؟ـىحز걼䏝ָ♳ָ تًזהֹכٖؽُ،٦ך䩛ְְ撕ׇזְ 竰竲涸ז筮葿כծ〳铣䚍ָ넝ְ涪罏ה⥋걾דֹ
תה 䧭卓暟ךثٍطؚٔٝכ㣐胐ז㹋꿀㺁钠׃㸜 㹀ׁ〳腉חׅ فٖ؟ـىحزثؑحؙכفٗتؙذ؍ؽذ؍ ֮־
"$$ⴓ匿
"$$ⴓ匿הכ "UUSJCVUF 㾩䚍 $PNQPOFOU 鿇ㅷ $BQBCJMJUZ
堣腉 א㹀纏׃גٔأؙⴓ匿ׅ䩛岀 וֲٔأؙ겥㖈⻉׃גծ 箢ㄤַׅ罋ִח欽ְ
"UUSJCVUF 㾩䚍 1SPEVDUךؗ٦ٙ٦س♳־גְֻ ꅾ銲ז✲כזח ا٦ءٍٕ 邌植⸂ 知⽃ 黝ⴖ فٓ؎غء٦ 䞔㜠Ⱏ剣׃ְِ٦ؠח⸂♷ִ
( 鸐׃ג荈ⴓ荈魦邌植דֹ 湫䠬涸חװְֿהַָ ꟼ䗰ךֿ֮הֽ⠗ִ ِ٦ؠر٦ةכⰟ剣ׁזְ 䭁䓸䚍 ➭ך،فٔה窟さדֹ
$PNQPOFOU 鿇ㅷ ءأذي⡲♳־ךח䗳銲ז鿇ㅷ せ鑁ח湱䔲 فٗؿ؍٦ٕ ؟٦ؙٕ ➂ أزٔ٦ي 鸐濼
䫎珲 ؝ًٝز ⱖ溪
$BQBCJMJUZ 堣腉 ءأذيָ㹋遤ׅ⹛⡲ ⹛鑁ח湱䔲 فٗؿ؍٦ٕ ا٦ءٍٕ 邌植⸂ 知⽃ 䭁䓸䚍 فٓ؎غء٦
濼➂הفٗؿ؍٦ٕⰟ剣ׅ طحزדך荈ⴓ⡲䧭דֹ 䞔㜠Ⰵ⸂ծ刿倜ծ⠗麦ָ知⽃ ،ؙإأ埄֮ל䞔㜠獳隁דֹ 鏩〳׃➂חךⰕדֹ
ٔأؙ㽯䏝 .JOJNBM ׀ֻ׆ַ 4PNF ֮玎䏝 $POTJEFSBCMF ַז .BYJNBM 剑㣐ꣲ 媮ꥡך؎ٝػؙزך㽯䏝
ِ٦ؠָ孡בַזְ״ֲזؒٓ٦ ِ٦ؠ䝢תַׇ׃זְؒٓ٦ ⵃ欽ءشָٔؔ⢪ִזֻזֲؒٓ٦ ِ٦ؠָ醡ㅷ⢪זֻזؒٓ٦
ٔأؙ㽯䏝 媮ꥡך걼䏝ך㽯䏝 3BSFMZ ׀ֻת 4FMEPN ת 0DDBTJPOBMMZ 儗ղ 0GUFO 걼籕
勴⟝ָ䟝⫷דֹזְ״ֲזؒٓ٦ 䟝⫷דָֹ֮תזְגؒٓ٦ 䟝⫷דֹ״ֻ⢪堣腉ךؒٓ٦ תַג䠬ׄךؒٓ٦
ٔأؙⴓ匿 ا٦ءٍٕ 邌植⸂ 知⽃ 黝ⴖ فٓ؎غء٦ ؼ٦زوحفַٔأؙך넝ְ鿇ⴓ鋅אֽ فٗؿ؍٦ٕ أزٔ٦ي 䫎珲
0GUFO 3BSFMZ .JOJNBM .BYJNBM $POTJEFSBCMF 3BSFMZ 4FMEPN 4PNF .JOJNBM .JOJNBM .JOJNBM 4FMEPN 3BSFMZ 3BSFMZ 0GUFO .JOJNBM $POTJEFSBCMF 3BSFMZ .JOJNBM 3BSFMZ .JOJNBM $POTJEFSBCMF 0GUFO 3BSFMZ .JOJNBM 4FMEPN .JOJNBM 3BSFMZ 3BSFMZ .JOJNBM
خ٦ٕ IUUQHPPHMFUFTUJOHCMPHTQPUKQHPPHMFUFTUBOBMZUJDTOPXJOPQFOIUNM 5FTU"OBMZUJDT
ٔأؙך箢ㄤ ٔأؙ幾ׇֿהכחזְ 麊鯄כٔأؗ٦ָ遤ַזֻגכזזְ ٔأؙכ箢ㄤדֹ穗騟ָ֮ ְא遤ַֻ 䎂傈ծ㕼傈ծ劉ծ㢸˘
וֲװג遤ַֻ 鮦ծꨵ鮦ծغأծ굲遤堣
ٔأؙך箢ㄤ ٔأؙ箢ㄤׅ倯岀罋ִծ涪ח《Ⰵ ٔأؙךٖكָٕ넝ְ㹋鄲鼘ֽ 涪欰ח孡בֹװְׅ➬穈Ⰵ ꧊⚥涸ח⽃⡤ذأز剅ֻ
ذأزفٓٝ罋ִ勞俱ה呎䬿חזկ
תה فٗتؙزך䚍颵ַٔأؙ罋ִך ָ㣐✲ ٔأؙכ嶊ׇזְָ箢ㄤ⳿勻
ذأزךأ؛٦ؚٔٝ
ذأزךأ؛٦ؚٔٝ ⮚猕ז5FTUFSד侧⦐鹈ך涪鋅桦׃ַדֹזְ 㛇劤涸חأ؛٦ٕ׃זְ
ذأزךأ؛٦ؚٔٝ غؚ涪鋅侧㟓װׅחכ ꧊⚥涸ח6OJU5FTU#VH1PPMך4J[F㼭ֻׁׅ 劤殢דذأزׅ倯岀然甧ׅ *OTUSVNFOUBUJPO#FUB5FTUJOH$MPVE4PVSDJOH
(PPHMF.BQך⢽ ⮚猕זذأة٦דꣲ歲ָ֮ 荈ⴓך⡝䨽ך姻׃ָׁ然钠⳿勻ךכ⡝ד➂ֽ ⡦♰鸐ך㹋ِ٦ؠךס׃גذأزכדֹזְ
(PPHMF.BQך⢽ 1SFWJFX 3FMFBTF 爡ⰻ ِ٦ؠ ♧菙ِ٦ؠ 爡ⰻ/FU :&4 /0 爡ⰻך侧♰➂דذأز
ِ٦ؠך䮶ׅذأة٦侧⼧➂侧♰➂ך㹋ِ٦ؠ
$ISPNFך⢽ ذأزخ،٦ؙٓؐسا٦ءؚٝ ءّحؾؚٝخ،٦ 㷕欰خ،٦ 䗡㢸خ،٦ 耵➂خ،٦ 䝤ְꦄ➂خ،٦ ؕأةو؎ؤخ،٦ ءّحؾؚٝ؟؎زח،ؙإأ飑Ⰵׅ ر٦ةך箟꧊٥⸇䊨٥獳⹛׃ג
㣐ꆀةـֻ٥ꞿ儗⹛歗זו %FWFMPQFS5PPMծةأؙوط٦آٍךⵃ欽 &YUFOTJPOⵃ欽ծذ٦و㢌刿זו ٔحث؝ٝذٝخⵃ欽 ⹛歗ծXFCHMծ
ذأزخ،٦הכ ِ٦ؠך䮶莸ְ倯خ،٦ח鋅甧ג嗚鏾倯岀 ٓٝسو٦ؙخ،٦ 煁瀖䭯ג如ך湡⽩ٓٝسو٦ؙ䩛粸ג ְֻػة٦ٝ ـٓؐؠؐ؍ٝسؐ 鏣㹀
%FWFMQPFS5PPM $ISPNFךٓٝسو٦ؙ⢽
תה ذأزכأ؛٦ٕ׃חְֻ 劤殢דךذأزכ剣欽
غؚ✮庠
غؚ✮庠 㷕统 遤侧 ⣛㶷侧 䗃橆撑 堣唒㷕统窟鎘ⴓ匿ח״ⴓ겲ׅ 'JMF غؚOPUغؚ #VH5SBDLFS 暴䗙䬄⳿
Ⰵ⸂ ⳿⸂
غؚ✮庠 ⴓ겲 遤侧 ⣛㶷侧 䗃橆撑 妀挿ꨇ׃ְָ搀㹱ז؝٦س嗚⳿׃ָ 'JMF 4DPSF 暴䗙䬄⳿ Ⰵ⸂
✮庠
ءٝفٕז غؚ✮庠 $PNNJU侧 ⡦䏝⥜姻׃גְؿ؋؎ٕכ )PU4QPUחז〳腉䚍ָ넝ְ 'JMF 4DPSF 暴䗙䬄⳿ Ⰵ⸂ ✮庠
ٓ٦وٝ،ٕ؞ٔؤي 4DPSF< > O UJJ殢湡ךغؚ⥜姻DPNNJUך儗< > غָؚ饯ֹװְׅؿ؋؎ٕךأ؝،皾⳿䒭 䒷欽IUUQXXXQVCMJDLFZKQCMPHQPTU@IUNM Oغؚ⥜姻׃㔐侧
ٓ٦وٝ،ٕ؞ٔؤي 〢ְ$PNNJUכأ؝،ָ♴ָ 4DPSF UJNF 䒷欽IUUQXXXQVCMJDLFZKQCMPHQPTU@IUNM
غؚ✮庠ך⢪倯 $PEF3FWJFX5PPMךؿ؋؎ٕ♧鋮חأ؝،ָד 'JMF/BNF #VH4DPSF $PNNJUT %J⒎ pMF
pMF pMF pMF ˟䩛ז؎ً٦آ
תה 箟꧊걼䏝דغؚ䱿庠דֹ 暴חYָ㢳ְؿ؋؎ٕכغַؚ֮
⟃♳ד׃կ זחַ罋חזל 劤顠ֲהְְה䙼ְתׅ