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
テストを書くか書かないかの状況判断 / Deciding whether to write t...
Search
Takuto Wada
PRO
December 09, 2014
Programming
26
20k
テストを書くか書かないかの状況判断 / Deciding whether to write tests - DeNA Tech Talk
2014/12/09 に DeNA 社内勉強会にお招きいただいて話した内容です
Takuto Wada
PRO
December 09, 2014
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
10
5.2k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
26
17k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
30
21k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
12k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
96
41k
Property-based Testing の位置付け / Intro to Property-based Testing
twada
PRO
11
6.2k
Second-System Syndrome: A tale of power-assert
twada
PRO
10
4.8k
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
160
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Macとオーディオ再生 2024/11/02
yusukeito
0
370
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
みんなでプロポーザルを書いてみた
yuriko1211
0
260
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
Jakarta EE meets AI
ivargrimstad
0
530
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
GitHub's CSS Performance
jonrohan
1030
460k
Speed Design
sergeychernyshev
24
610
Practical Orchestrator
shlominoach
186
10k
Building Adaptive Systems
keathley
38
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Building Your Own Lightsaber
phodgson
103
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Transcript
ςετΛॻ͔͘ ॻ͔ͳ͍͔ͷ ঢ়گஅ ాਓ BLBJEUXBEBPS!U@XBEB %FD !%F/"
ాਓ JEUXBEB !U@XBEB HJUIVCUXBEB
None
֤ॴͰҖΛৼΔ͏U@XBEBQOH ͪͳΈʹ͜ͷίϥը૾Λ࡞ͬͨͷ!ZPTVLF@GVSVLBXB
ΑΖ͘͠ ͓ئ͍͠·͢
lςετΛॻ͘ ͕࣌ؒແ͍z
ετϨε ςετ ετϨεͱࣗಈςετͷJO fl VFODFEJBHSBN 5%%CZ&YBNQMFΑΓ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
ࣗಈςετ ετϨε ετϨεͱࣗಈςετͷJO fl VFODFEJBHSBN 5%%CZ&YBNQMFΑΓ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
ςετΛॻ͕࣌ؒ͘ͳ͍ͷͰ ͳ͘ɺςετΛॻ͔ͳ͍͔ Β͕࣌ؒͳ͘ͳΔͷͰ͢ɻ
ͲΜͳͱ͖ςετ Λશ͘ॻ͔ͳ͍͔
wϫϯϥΠφʔ wҰճݶΓͷεΫϨΠϐϯά wσϞʹ͏ίʔυ wͨͩ͠ɺ࣮ߦճ͕Ͱͳ͍ wҰճݶΓͷσʔλҠߦεΫϦϓτʹ ςετΛॻ͘ ॻ͖ࣺͯͷίʔυ
wςετʹΑΔ҆ఆͨ͠ϑΟʔυόοΫϧʔϓ Λ࡞Δલஈ֊ w৽͍͠ϑϨʔϜϫʔΫΛࢼ͍ͯ͠Δஈ֊ͳͲ ؚ·ΕΔ wςετΑΓ͍ϑΟʔυόοΫ͕ཉ͍͠ w3&1-σόοΨͰֶΜͩ͜ͱΛςετʹ ༁͍ͯ͘͠ w࠶ݱੑΛςετͰิڧ͢ΔΠϝʔδ ࢼߦࡨޡஈ֊ͷͱ͖
8IZ ސ٬ԿނͦΕΛཉ ͍ͯ͠Δͷ͔ 8IBU ԿΛ࡞Ε ྑ͍ͩΖ͏͔ )PX Ͳ͏࡞Ε ྑ͍ͩΖ͏͔ සൟͳϦϦʔεͱσϞ
ड͚ೖΕςετ Ϣχοτςετ ӬγεςϜϚωδϝϯτՈӬࢯͷࢿྉΑΓ ରڥʹΑΔࢼߦࡨޡΛ͍ͯ͠Δͱ͖
IUUQTXXXGBDFCPPLDPNOPUFTLFOUCFDLXIFOUEEEPFTOUNBUUFS
ͲΜͳςετΛ ॻ͔ͳ͍Α͏ʹ͠ ͍ͯΔ͔
wςετରҎ֎͕ϞοΫ wςετ࣮ߦΛ͘͢ΔͨΊ͚ͩͷϞοΫ wதؒϨΠϠͷʮϢχοτʯςετ wͨͱ͑ίϯτϩʔϥͷςετ wΧόϨοδ্ૂ͍ͷςετ wQSJWBUFϝιουͷςετ खஈͷతԽ
wݴޠϑϨʔϜϫʔΫɺج൫ͷςετ wࣗಈੜͨ͠··ͷίʔυͷςετ wը໘ϨΠΞτΛϐΫηϧϨϕϧͰ ৺ੑ͗͢Δςετ
w৺͕ୀ۶ʹมΘΔ·Ͱςετ͢Δ wୀ۶͞ͱٛײΛײ͡ΔͳΒͦΕΛϓϩά ϥϛϯάରʹ͢ΔɻͰ͖ͳ͚ΕΊΔ w5%% ςετϑΝʔετʹͩ͜ΘΒͳ͍ w͋ͱ͔ΒςετΛॻ͍ͯશ͔͘·Θͳ͍ wͰ͖Εͦͷͷ͏ͪʹॻ͍͓͖͍ͯͨ ٛײʹ͔ΒΕͨςετ
ςετΛॻ͔ͳ͍ ٕज़
Y6OJU5FTU1BUUFSOTΑΓ ςετͷϝϯςφϯείετ ཧ ݱ࣮
wίʔυߦςετίʔυߦΛࢦͯ͠ΈΔ w·͋ී௨ͦ͜·Ͱ͍͔ͳ͍͕ɺ͕ࠩۃʹ։͖͗͢ ͳ͍Α͏ʹ͢Δ wϨΠϠؒॏෳΛݮΒ͢ wϨΠϠؒͷςετ༰ॏෳҰճ·Ͱͱ͢ΔɻͦΕ Ҏ্ͷॏෳঢ়گʹΑΔ wਖ਼ৗܥͷओཁಋઢ&&ʹدͤɺྫ֎ܥʹͳΔ΄ ͲϢχοτςετʹدͤΔ ςετΛॻ͖͗͢ͳ͍ͨΊʹ
w੩తݕূΛຯํʹ͚Δ wࢲ͕ͨͪΑ͘ʮςετίʔυʯͱݺΜͰ͍Δ ͷʮಈతςετʯɻରίʔυΛಈ͔͠ ͯςετ͢Δ wରίʔυΛಈ͔ͣ͞ʹςετ͢Δͷ͕੩ తݕূ wMJOU͔Βڧ͍੩తܕ͚·Ͱ͍Ζ͍Ζ ςετΛॻ͖͗͢ͳ͍ͨΊʹ
wϨΠϠͱநදݱྗΛϦϯΫͤ͞Δ w֎෦͔Βͷςετදݱྗ๛͔Ͱ͘ॻ͚ ΔΑ͏ʹ w%4-ผݴޠͰྑ͍ wϢχοτςετςετରͱಉ͡ݴޠ ͰɺϞοΫΛͳΔ͘Θͣɺͦͷ·· αϯϓϧίʔυͱͳΔΑ͏ʹॻ͘ ςετΛॻ͖͗͢ͳ͍ͨΊʹ
.BLFFBDIQSPHSBNEPPOFUIJOHXFMM IUUQTHJUIVCDPNTVCTUBDLOPEFGFTU
IUUQTXXX fl JDLSDPNQIPUPTUPNQBHFOFU ςετ࣭Λ্͛ͳ͍ ମॏܭʹΔ͚ͩͰ ૫ͤͳ͍ͷͱಉ͡
lςετͰ্࣭͕Βͳ͍ Ͱ͢Αɻςετ͋͘·Ͱ ࣭Λ͋͛Δ͖͔͚ͬɻ࣭Λ͋ ͛ΔͷϓϩάϥϛϯάͰ͢ɻ ͜Εେੲ͔Βͦ͏ɻz
ࣗಈςετͷྑ͍ͱ͜Ζɺ վળΛզຫ͠ͳͯ͘ྑ͘ ͳͬͨ͜ͱ
wଈ࠲ʹϑΟʔυόοΫΛಘΔͨΊ wॻ͍ͨίʔυʹࣗ৴Λ࣋ͭͨΊ w͜Ε͔Βॻ͘ίʔυʹࣗ৴Λ࣋ͭͨΊ 5%%%FWFMPQFS5FTUJOHʹ ιϑτΣΞֶతͳϝϦοτ͍Ζ͍ Ζ͋ΕͲɺ࠷େͷཧ༝৺ཧతͳͷ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠