Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバーレス時代にこそ 身につけたいTDD入門
Search
Hiroshi Maekawa (a.k.a. Posaune)
October 06, 2018
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレス時代にこそ 身につけたいTDD入門
.NET Conf 2018 Kansai での発表資料です。
Hiroshi Maekawa (a.k.a. Posaune)
October 06, 2018
More Decks by Hiroshi Maekawa (a.k.a. Posaune)
See All by Hiroshi Maekawa (a.k.a. Posaune)
「カスタマイズ」から「標準化」へ。 CI as a Service の考え方を取り入れて DevOps を加速させよう!
posaunehm
1
510
大正Geek Night 2018-08-27
posaunehm
0
120
Other Decks in Technology
See All in Technology
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
500
Claude Code本って、 読む必要あるの?
oikon48
2
460
beyond jj: config & tools ecosystem
indirect
0
420
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.6k
GoにおけるFFIのこれまでとこれから
goccy
5
3.4k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
320
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
160
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
Reactの設計論
uhyo
24
13k
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Facilitating Awesome Meetings
lara
57
7.1k
Making the Leap to Tech Lead
cromwellryan
135
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Mind Mapping
helmedeiros
1
360
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
First, design no harm
axbom
PRO
2
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
We Are The Robots
honzajavorek
0
370
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Exploring anti-patterns in Rails
aemeredith
4
510
Transcript
αʔόʔϨε࣌ʹͦ͜ ʹ͚͍ͭͨTDDೖ ΪϧυϫʔΫεגࣜձࣾ લ തࢤ
͡Ίʹ
ΪϧυϫʔΫεʹ͍ͭͯ
None
None
None
None
None
None
None
αʔόʔϨε࣌ʹͦ͜ ʹ͚͍ͭͨTDDೖ ΪϧυϫʔΫεגࣜձࣾ લ തࢤ
ࣗݾհ • ΪϧυϫʔΫεגࣜձࣾ ALMΤϯδχΞ • Application Lifecycle Management • ಘҙٕ
• ։ൃ • αʔόʔαΠυɿ Java • "OESPJE+BWB→,PUPMJO • iOS: Swift • Webϑϩϯτɿ Vuejs, Angular/Ionic • ͦͷଞɿ C# ͕Ұ൪͖͚ͩͲ࠷ۙॻ͍͍ͯͳ͍… • CI / CDͷඋ • ࠷ۙͬͺΒCircleCI
ͯ͞ɺຊɻ
None
ͦ͏Ͱͳ͍ ʢͱࢥͬͯ·͢ʣ
ͦͦαʔόʔϨεͬͯʁ • ໌ࣔతͳʮϚγϯʯΛҙࣝͤͣɺSaaSαʔϏεͷ Έ߹ΘͤʹΑͬͯػೳΛ࣮ݱ͢Δ • Πϯϑϥͷίετ͕ܶతʹԼ͕Δࣄ͕ଟ͍ • ·ͨɺSLAجຊΫϥυϕϯμʔͤʹͰ ͖ɺগͳ͘ͳΔʢNoOps ͱ͍ΘΕΔʣ
• …ྫ͑ɺ͜Μͳߏɻ
AWS ʹΑΔ αʔόʔϨεߏ CloudFront Cognito ϓϨθϯςʔγϣϯ ΞϓϦέʔγϣϯ σʔλετΞ ଓ ೝূαʔϏε
ήʔτΣΠ
̩ ̥ ̤ ʂ
Azure ʹΑΔαʔόʔϨεߏ ϓϨθϯςʔγϣϯ ΞϓϦέʔγϣϯ σʔλετΞ ଓ "[VSF"DUJWF%JSFDUPSZ "1*.BOBHFNFOU "[VSF4UPSBHF "[VSF$%/
"[VSF'VODUJPOT "[VSF$PTNPT%#
αʔόʔϨεͰࠔΔͱ͜Ζ • ։ൃڥͲ͏͢Δ͔ • ͦͦΫϥυαʔϏεʹϕολϦͳͷͰɺ ʮϩʔΧϧڥʯͱ͍͏֓೦͕ଘࡏ͠ͳ͍ • ٖࣅతʹϩʔΧϧʹڥΛ͑ΔΈଘࡏ͢Δ͕… • ಈ࡞֬ೝΛ͢ΔͨΊʹɺαʔόʔʹΞοϓϩʔυ
͢Δɺͱ͍͏೦ͳ݁Ռʹ…
Function as a Service ʹର͢Δςετ ΞϓϦέʔγϣϯ σʔλετΞ ଓ "[VSF"DUJWF%JSFDUPSZ "1*.BOBHFNFOU
"[VSF'VODUJPOT "[VSF$PTNPT%# Ҿ͑͞ἧ͑ΒΕΕγϛϡϨʔτՄೳ .PDLͰஔ͖͑Λߦ͏ ΠϯϓοτΞτϓοτΛఆٛͯ͠ ։ൃ͢Δ㱺5%%
TDD:ςετۦಈ։ൃ ͱ
ςετۦಈ։ൃ • ᶃ ࠷ॳʹςετΛॻ͘ • ᶄ ςετΛ࣮ߦ͠ɺࣦഊͤ͞Δ • ᶅ ςετ͕ޭ͢ΔΑ͏ʹίʔυΛमਖ਼͢Δ
• ᶆ ςετ͕௨ͬͨঢ়ଶΛอͪͳ͕ΒɺίʔυΛΑ Γݟ͘͢ɺϝϯςφϯε͘͢͠࡞Γม͑Δ • ᶃ ʙ ᶆΛ܁Γฦ͠ɺখ͞ͳεςοϓͰ ιϑτΣΞΛ࡞Γ্͍͛ͯ͘
TDDͷԫۚࡾ֯ܗ https://www.slideshare.net/t_wada/the-spirit-of-tdd
TDDʹ͋Γ͕ͪͳޡղ • TDDͬͯɺΊͬͪΌͰ͖ΔϓϩάϥϚʔ͕Δ ಛघٕೳͰ͠ΐʁ • ҧ͍·͢ɻΊͬͪΌͰ͖ΔϓϩάϥϚʔ TDD͠·ͤΜɻͰ͖ͳ͍ϓϩάϥϚʔͷͨΊͷ ϝιουͳͷͰ͢ɻ
TDDʹ͋Γ͕ͪͳޡղ • ͳΜͰΘ͟Θ͟ςετίʔυͳΜͯແବͳͷ ॻ͘ͷʁ͔͔࣌ؒΔ͚ͩ͡Όͳ͍ʁ • ͋ͳ͕ͨಈ࡞֬ೝͳ͠ͰɺҰൃͰਖ਼͍͠ίʔυ͕ ॻ͚ΔਓͳΒෆཁ͔͠Ε·ͤΜɻ ͦ͏Ͱͳ͍ͳΒɺςετίʔυ࠷খͷಈ࡞֬ೝ ڥΛ࡞͍ͬͯΔΜͰ͢ɻແବ͡Όͳ͍Ͱ͢ɻ
TDDʹ͋Γ͕ͪͳޡղ • TDDͰ։ൃͨ͠ΒςετཁΒͳ͍ΜͩΑͶʂʂ • ཁΓ·͢ɻ ʮ։ൃͷͨΊͷςετʯ͚ͩͰ࣭อূͱͯ͠ ෆेͰ͢ɻಛʹɺʮਖ਼͍͠ͷ͔ʯͱ͍͏ Validation ؍ܾఆతʹෆ͠·͢ɻ
TDDʹ͋Γ͕ͪͳޡղ • ܾ·ͬͨΓํͱ͔ͳ͍ΜͩΑͶʁ • ʮܕʯΛΓ·͠ΐ͏
ܕ - Kata - ʮܕʯͱɺϓϩάϥϚʔ͕࣮ફͱ෮Λ௨ͯ͠ ٕज़Λຏͨ͘Ίͷख๏Ͱ͋Δɻ
Bowling Game Kata • Programming Kata ͷҰͭ • ΈΜͳେ͖ ɺϘϒ͓͡͞Μ͜ͱBob
Martin͕ ࡞͍ͬͯ·͢
Bowling Game Kata http://butunclebob.com/ ArticleS.UncleBob.TheBowlingGameKata
۩ମతʹͲΜͳͷʁ
࣮ࡍʹͬͯΈΔ
·ͱΊ • αʔόʔϨεͷ͔࣌ͩΒͦ͜ɺ࡞Δखஈͱͯ͠ TDD͓͍͑ͯͨ΄͏͕͍͍ • TDD ͷΓํɺ͋ΔఔମͰ֮͑Δඞཁ͕͋ ΔɻͳͷͰɺʮܕʯΛΖ͏ • Bowling
Game Kata Θ͔Γ͘͢Φεεϝ
͞Βʹษڧ͍ͨ͠ਓͷͨΊʹ • ͦͦͲΜͳίʔυ͕͍͍ͱ͔Α͘Θ͔Βͳ͍Μ͚ͩͲ 㱺 Refactoring ୈೋ൛͕ग़Δ͔ΒͨΕΑʢӳޠ൛Ͱ͍͍͔Βങ͓͏ʣ • ͦͦίʔυ͕;Δͯͭ͘Β͍ 㱺 ʮϨΨγʔίʔυվળΨΠυʯಡΈ·͠ΐ͏
• UIपΓͷςετʁ 㱺 Selenium, Puppeteer, Katalon Studio ͋ͨΓΛνΣοΫ͢͠ • ଞͷܕͳ͍ͷʁ 㱺 ϥΠϑήʔϜʢGame of LifeʣΦεεϝ