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
200
おっさんが停滞しないために
mattak
32
18k
tech invest
mattak
1
320
Nodux - node base redux framework
mattak
0
1.5k
what_is_technical_investment
mattak
0
130
unitypackage distribution
mattak
0
820
Unity energy usage
mattak
0
920
Unidux 0.3.1
mattak
1
410
Other Decks in Programming
See All in Programming
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
920
A Gopher's Guide to Vibe Coding
danicat
0
180
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
110
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
210
私の後悔をAWS DMSで解決した話
hiramax
4
150
decksh - a little language for decks
ajstarks
4
21k
ECS初心者の仲間 – TUIツール「e1s」の紹介
keidarcy
0
100
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
130
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
600
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
150
令和最新版手のひらコンピュータ
koba789
14
8k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
2.2k
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Gamification - CAS2011
davidbonilla
81
5.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Designing for humans not robots
tammielis
253
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Invisible Side of Design
smashingmag
301
51k
Why Our Code Smells
bkeepers
PRO
338
57k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
RailsConf 2023
tenderlove
30
1.2k
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ָ㢳ְؿ؋؎ٕכغַؚ֮
⟃♳ד׃կ זחַ罋חזל 劤顠ֲהְְה䙼ְתׅ