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.4k
Exceptional Rails
willnet
6
7.5k
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
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.5k
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
10k
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
260
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
110
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
120
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
300
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
120
OpenHands🤲にContributeしてみた
kotauchisunsun
1
390
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
490
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.1k
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
340
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
33
5.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Documentation Writing (for coders)
carmenintech
71
4.9k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Docker and Python
trallard
44
3.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Done Done
chrislema
184
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Scaling GitHub
holman
459
140k
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ςετΛݮΒͯ͠ɺ ΞϓϦέʔγϣϯίʔυʹ ͖߹͏࣌ؒΛ૿͍ͨ͠
Զͨͪͷઓ͍͜Ε ͔Βͩʂ