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
Breaking the Flaky Test Cycle
Search
Shinichi Maeshima
September 09, 2023
Technology
2
2.1k
Breaking the Flaky Test Cycle
大阪Ruby会議03 (
https://rubykansai.github.io/osaka03/
) の発表スライドです。
Shinichi Maeshima
September 09, 2023
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
Sidekiq vs Solid Queue
willnet
14
12k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.5k
Exceptional Rails
willnet
6
7.6k
mrskで広がるインフラの選択肢
willnet
1
1.1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.2k
HotwireからDHHが考えるこれからのRailsとJSの付き合い方を知る
willnet
14
13k
Rails6.1で新しく入る機能について
willnet
12
16k
Concerns about Concerns
willnet
11
34k
Clean Test Code Revised
willnet
34
18k
Other Decks in Technology
See All in Technology
地図と生成AI
nakasho
0
110
AIコードアシスタントとiOS開発
jollyjoester
0
180
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
250
三視点LLMによる複数観点レビュー
mhlyc
0
240
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
150
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
190
Building GoReleaser - from shell script to paid product
caarlos0
0
130
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3.2k
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
15
4.5k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Rails Girls Zürich Keynote
gr2m
95
14k
Fireside Chat
paigeccino
37
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing Experiences People Love
moore
142
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
990
Writing Fast Ruby
sferik
628
62k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Six Lessons from altMBA
skipperchong
28
3.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
Transcript
!XJMMOFU #SFBLJOHUIF'MBLZ 5FTU$ZDMF
Shinichi Maeshima @netwillnet @willnet https://blog.willnet.in Willnet Inc.
ٕज़ސۀΛ͍ͯ͠·͢
͓ࣄ4/4తͳͷΛ։ൃ ͍ͯ͠·͢
!XJMMOFU #SFBLJOHUIF'MBLZ 5FTU$ZDMF ࠓ'MBLZͳςετͷ Ͱ͢
'MBLZͳςετͱʁ w ࣮ߦ݁Ռ͕ෆ҆ఆͳςετ w ݪҼ༷ʑ w &&ςετͰΫϦοΫ࠲ඪΛؒҧ͑ͨ w ςετ࣌ͷมߋΛ͢ͷΛΕ͍ͯͨ w
࣮ߦ͢Δ࣌ؒʹΑࣦͬͯഊ͢Δ w PSEFSCZ͕͍͍ͭͯͳ͍ΫΤϦൃߦ
'MBLZͳςετ͕͋ ͬͨΒͲ͏͢Δʁ
None
௨Δ·Ͱ࠶࣮ߦ
🙅
ؾ࣋ͪΘ͔Δ͚Ͳʜ w $*͕௨Δ·Ͱ͍ͬͯΔؒͷ࡞ۀ͕Δ😩 w $*࣮ߦ࣌ؒɺΤϯδχΞͷɺςετͷࣦഊͦΕͧΕʹ ൺྫͯ͠Δ w ผͷ͜ͱΛ͍ͯͯ͠εΠονϯάίετ͕͔͔Δͧ w $*αʔϏεͷ՝ֹۚ૿͑Δ💰
w ςετ͕ΦΦΧϛগԽ͢Δ🐺 w ຊ࣮͕ѱͯ͘࠶࣮ߦͰ௨ͬͯ͠·ͬͨΒεϧʔ͞ Εͯ͠·͏
؇ࡦ
IUUQTIBOBDIJOIBUFCMPKQFOUSZ
ࣦഊͨ͠ςετͷ࠶࣮ߦΛ ϫʔΫϑϩʔʹΈࠐΉ
͋͘·Ͱ؇ࡦ
ࠜຊղܾ͍ͨ͠ʂ
IUUQTCMPHXJMMOFUJOFOUSZ
ཁ͢Δͱ w ςετࣦഊ࣌ͷৼΔ͍ΛௐΔ ϩάɺεΫγϣɺσό οΨʹΑΔϒϨʔΫϙΠϯτͳͲ w ςετ͕Ͳ͏ಈ͍͍ͯΔͷ͔͓ͬͯ͘ඞཁ͕͋Δͧ w 3BJMTΛΖ͏
w ςετͷઃఆΛΖ͏ w DBQZCBSB TFMFOJVN ͕Ͳ͏ಈ͍͍ͯΔͷ͔Ζ͏
ݱঢ়ɺGMBLZ ςετͷݪҼΛ ௐࠪ͢Δʹ෯ ͍͕ࣝඞཁ
݁Ռͱͯ͠ γχΞΤϯδχΞ ʹࣄ͕ूத͢Δ
γχΞΤϯδχΞଞͷ ࣄ͋ΔͷͰͳ͔ͳ͔ GMBLZςετݮΒͳ͍
ͭΒ͍
ΈͰঢ়گΛม͑ ͍ͨ
ࣗͷ࡞ͬͨΈɺଞ ͷਓ͕࡞ͬͨΈͰศ རͳͷΛհ͠·͢
Έ
GMBLZςετ Λ͙Έ
GMBLZͷݪҼͷ Ұͭ ΫϦοΫϛε
$BQZCBSB͕ཁૉΛΫϦοΫ͢Δ·Ͱ w ΫϦοΫ͍ͨ͠ཁૉͷ࠲ඪΛௐΔ w ͜͜ʹগ͠λΠϜϥά͕͋Δ w ௐͨ࠲ඪΛΫϦοΫ͢Δ
%0.ཁૉ͕ಈ͘ͱ ΫϦοΫʹࣦഊ͢ Δ͜ͱ͕͋Δ
$BQZCBSBEJTBCMF@BOJNBUJPOUSVF
IUUQTHJUIVCDPNUFBNDBQZCBSBDBQZCBSBCMPCBCGFBCCCFGDDDDGDMJCDBQZCBSBTFSWFSBOJNBUJPO@EJTBCMFSSC--
DTTͱK2VFSZ ىҼͷΞχϝʔ γϣϯΛΦϑʹ ͢Δ
K2VFSZҎ֎ͷ KTʹΑΔΞχϝʔ γϣϯະରԠ😇
5*14։ൃڥͰDBQZCBSBͷΞχ ϝʔγϣϯΦϑ͕ޮ͍͍ͯΔ͔ࢼ͢ w (FN fi MFͷDBQZCBSBͷHSPVQΛมߋͯ͠EFWFMPQNFOUͰ ༗ޮʹ͢Δ w DPO fi
HBQQMJDBUJPOSCʹҎԼΛه
ଞʹ%0.ཁ ૉΛಈ͔͕͢ ͋Δ
🏞
ը૾ͷ Ԇ ಡΈࠐΈλ ΠϛϯάͱΫϦοΫͷλ Πϛϯά͕Ұக͢Δͱ☠
XJMMOFUDBQZCBSBXBJU@JNBHF
None
HFNΛಋೖ͢Δͩ ͚Ͱɺը૾ͷಡΈࠐ ΈىҼͷΫϦοΫϛ ε͕ແ͘ͳΔ
Έ
ָʹௐࠪͰ͖ΔΈ
$*ͷΈ͔ͭكʹ͔͠ ى͖ͳ͍GMBLZςε τௐࠪͰେࣄͳͷ
ϩά
Ͱ֘ͷςε τͷϩά͕ຒ Εͯ͠·͏
XPSLBSPVOE
.#͑ΔΑ͏ͳϩά ͔ΒHSFQ͢Δͷ͍ͨΜ
XJMMOFUDJ@MPHHFS
ࣦഊͨ͠ςε τͷϩά͚ͩ ग़ྗͰ͖Δ
࣍
&&ςετࣦഊ࣌ͷε ΫϦʔϯγϣοτ ௐࠪ࣌ʹ༗ޮ
$ZQSFTT 1MBZXSJHIUΛ͏ͱಈ ըͰϒϥβͷಈ࡞Λ ݟΔ͜ͱ͕Ͱ͖ͯศར
͍͍ͨͪͨ
:VTVLF*XBLJ DBQZCBSBQMBZXSJHIU ESJWFS
υϥΠόΛม͑ͣ ʹಈըΛࡱΓ͍ͨ
ZZBHJUFTUSFDPSEFS
TFMFOJVNͰಈը͕ࡱΕ Δ DVQSJUFͷํ͓· ͍ͪͩ͘͞
ͨͩ͠ɺςετ͕ޭ͠ ͯৗʹεΫγϣ͔Βಈ ըΛੜ͢Δඞཁ͕͋Δ
ςετ͕ޭͯ͠d ׂͷΦʔόʔϔου͕͋ Δ UFTUSFDPSEFS
ϓϩδΣΫτʹΑͬͯΦ ʔόϔουΛݮΒ͕͢ ඞཁ͔ ྫಈըࡱӨΛ GMBLZͳςετ͚ͩΛର ʹ͢Δ
·ͱΊ
ͨ͜͠ͱ w fl BLZςετͰফ͢ΔͷΛΈͰղܾ͍ͨ͠ w fl BLZςετΛ͙Έ w &&ςετͰΫϦοΫ࣌ʹը૾ىҼͰཁૉ͕ಈ͔ͳ͍Α͏ʹ ͭΈΛಋೖ
DBQZCBSBXBJU@JNBHF w fl BLZςετΛָʹௐࠪ͢ΔΈ w ςετࣦഊ࣌ͷΈϩάΛग़ྗ͢ΔΈ DJ@MPHHFS w ςετࣦഊ࣌ʹಈըͰϒϥβͷڍಈΛ֬ೝͰ͖ΔΈ DBQZCBSBQMBZXSJHIUESJWFS UFTUSFDPSEFS
·ͩ·ͩվળͰ͖Δ ༨͋Δ
ΈΜͳͰΈΛ࡞ ͍͖ͬͯ·͠ΐ͏ʂ
GMBLZςετΛݮΒͯ͠ɺ ΞϓϦέʔγϣϯίʔυʹ ͖߹͏࣌ؒΛ૿͍ͨ͠
Զͨͪͷઓ͍͜Ε ͔Βͩʂ