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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takuto Wada
PRO
December 09, 2014
Programming
21k
26
Share
テストを書くか書かないかの状況判断 / Deciding whether to write tests - DeNA Tech Talk
2014/12/09 に DeNA 社内勉強会にお招きいただいて話した内容です
Takuto Wada
PRO
December 09, 2014
More Decks by Takuto Wada
See All by Takuto Wada
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
23
12k
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
50
33k
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
46
43k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
191
130k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
87
51k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
37
15k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
3.8k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
15
7.7k
Other Decks in Programming
See All in Programming
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.7k
JCON - Create Agentic AI Apps, The Easy Way!
kdubois
1
110
Making the RBS Parser Faster
soutaro
0
710
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
150
Back to the roots of date
jinroq
0
840
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
190
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
820
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
660
継続的な負荷検証を目指して
pyama86
3
1.2k
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
200
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Un-Boring Meetings
codingconduct
0
290
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Invisible Side of Design
smashingmag
302
52k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Deep Space Network (abreviated)
tonyrice
0
140
A better future with KSS
kneath
240
18k
We Are The Robots
honzajavorek
0
230
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ʹ ιϑτΣΞֶతͳϝϦοτ͍Ζ͍ Ζ͋ΕͲɺ࠷େͷཧ༝৺ཧతͳͷ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠