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
Summary of Diagnose unreliable code with test ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shunsuke sato
June 25, 2021
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Summary of Diagnose unreliable code with test repetitions
shunsuke sato
June 25, 2021
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
1.4k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
850
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.7k
5 Tips when test fails randomly
ushisantoasobu
2
3.8k
Better Way for Test Data Generation??
ushisantoasobu
1
2.9k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.8k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.3k
Redirectable in App?
ushisantoasobu
2
1.1k
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
ushisantoasobu
0
330
Other Decks in Programming
See All in Programming
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
7
1.8k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
330
Rでドレミ/Do-Re-Mi_with_R
florets1
0
120
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
280
Java 27新機能 / Java 27 new features
kishida
2
200
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
470
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
140
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
230
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
440
パーソナライズPodcastを作った話
repunit11
0
120
Domain-Driven Transformation
hschwentner
2
2.3k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
HDC tutorial
michielstock
2
940
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Music & Morning Musume
bryan
48
7.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
Deep Space Network (abreviated)
tonyrice
0
350
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
GraphQLとの向き合い方2022年版
quramy
50
15k
Transcript
Summary of “Diagnose unreliable code with test repetitions” at WWDC
2021 !ू·Ε4XJGU͖ʂ4XJGUѪձεϐϯΦϑ88%$ηογϣϯཁձ
ࣗݾհ
໊લࠤ౻ढ़ี ৬ۀϞόΠϧΞϓϦΤϯδχΞʢJ04ΛϝΠϯʹ"OESPJEͪΐͬͱʣ ॴଐגࣜձࣾΞϯυύου ʮݐங%9ʯΛ͍ͬͯΔձࣾ ࠓͷJ04%$ͷϓϥνφεϙϯαʔ
5XJUUFS!VTIJTBOUPBTPCV झຯίʔώʔɺαοΧʔɾϑοταϧ
Diagnose unreliable code with test repetitions
ҰݴͰ·ͱΊΔͱ ʮෆ҆ఆͳςετʢ࣌ʑίέΔςετʣʯΛͨ͢Ίʹ ʮςετͷ܁Γฦ࣮͠ߦʯػೳ͕Ճ͞Εͨ
ηογϣϯͷߏ ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ 5JQTʢYDPEFCVJMEίϚϯυ·ΘΓʣ
ηογϣϯͷߏ ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ 5JQTʢYDPEFCVJMEίϚϯυ·ΘΓʣ
ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ͢ͷ͕͍͠ཧ༝
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ͢ͷ͕͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕͍͠
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ͢ͷ͕͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ͢ͷ͕͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ
৽͘͠Ճ͞ΕΔʮςετͷ܁Γฦ࣮͠ߦʯػೳʹ̏ͭͷϞʔυ͕͋Δ
ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ͢ͷ͕͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ
৽͘͠Ճ͞ΕΔʮςετͷ܁Γฦ࣮͠ߦʯػೳʹ̏ͭͷϞʔυ͕͋Δ ͦΕͧΕͲ͏͍ͬͨಈ͖Λ͢Δͷ͔ɾ༻్Կ͔ɺ͕͜ͷηογϣϯͷ Ұ൪େࣄͳͱ͜Ζ
'JYFEJUFSBUJPOT
ޭࣦഊΘͣɺࢦఆͨ͠ճςετΛ࣮ߦ͢Δ ༻్ʮςετʹෆ҆ఆ͕͞ͳ͍͔ʯΛ֬ೝ͢ΔͨΊ 'JYFEJUFSBUJPOT
6OUJMGBJMVSF
ࢦఆͨ͠ճςετΛ࣮ߦ͢Δ͕ɺࣦഊ࣌Ͱऴྃ͢Δ ༻్ʮෆ҆ఆͳςετΛ͢ʢσόοά͢Δʣʯͱ͖ʹར༻͢Δ 6OUJMGBJMVSF
3FUSZPOGBJMVSF
ࢦఆͨ͠ճςετΛ࣮ߦ͢Δ͕ɺޭͨ࣌͠Ͱऴྃ͢Δ ༻్ʮ͡Ίࣦഊ͢Δ͕͍ͣΕޭ͢ΔΑ͏ͳςετʯΛಛఆ͢ΔͨΊ 3FUSZPOGBJMVSF
ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ
࠷ۙ$*Ͱςετ͕࣌ʑίέΔ͜ͱʹؾͮ͘
ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛҰ࣌తʹΦϯʹͯ͠࠶$*ͰςετΛ࣮ߦͯ͠ΈΔ
ͬͺΓϥϯμϜͰίέΔΑ͏ͩ
ϩʔΧϧͰ࠶ݱ͢Δ͔ࢼͯ͠ΈΑ͏ʢz3VOUFTU4PNF 3FQFBUFEMZzΛબʣ
l'JYFEJUFSBUJPOTzϞʔυʢճʹࢦఆʣͰ࣮ߦ
ϩʔΧϧͰϥϯμϜͰίέΔ͜ͱ͕࠶ݱͰ͖ͨʂʢճίέͨʣ
ϥϯμϜͰίέΔݪҼΛಛఆ͠Α͏ʢl6OUJMGBJMVSFzϞʔυͰ࣮ߦʣ
ςετ͕ίέͨͱ͖ʹσόοΨ͕ىಈ͞ΕΔʂ
मਖ਼Ͱ͖ͨΒ࠶z'JYFEJUFSBUJPOTzϞʔυͰ࣮ߦͯ͠ΈΔ
ճςετ͕ޭͨ͠🎉ʢ͜ͷςετ͔Βෆ҆ఆ͕͓ͦ͞Β͘ফ͑ͨʣ
·ͱΊ
ෆ҆ఆͳςετʢ࣌ʑίέΔʣͱ͍͏ͷ͕͋Δ ͦͷಛఆͷͨΊͷखஈͷ͕̍ͭʮςετͷ܁Γฦ࣮͠ߦʯ ৽͘͠ʮςετͷ܁Γฦ࣮͠ߦʯͷػೳ͕Ճ͞ΕͨͷͰɺෆ҆ఆͳςετ ͕ݟ͔ͭͬͨΒɺ͜ͷػೳͰಛఆɾमਖ਼Ͱ͖ͳ͍͔ࢼͯ͠ΈΑ͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠😊