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
Summary of Diagnose unreliable code with test ...
Search
shunsuke sato
June 25, 2021
Programming
1
960
Summary of Diagnose unreliable code with test repetitions
shunsuke sato
June 25, 2021
Tweet
Share
More Decks by shunsuke sato
See All by shunsuke sato
要約 "Add Live Text interaction to your app"
ushisantoasobu
1
970
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
780
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.2k
5 Tips when test fails randomly
ushisantoasobu
2
3.6k
Better Way for Test Data Generation??
ushisantoasobu
1
2.8k
iOS/Androidのサブスクリプション実装における違いをざっと振り返る
ushisantoasobu
2
1.6k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.1k
Redirectable in App?
ushisantoasobu
2
910
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
ushisantoasobu
0
280
Other Decks in Programming
See All in Programming
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
Оптимизируем производительность блока Казначейство
lamodatech
0
950
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
200
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
220
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.8k
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Optimising Largest Contentful Paint
csswizardry
33
3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
Optimizing for Happiness
mojombo
376
70k
Unsuck your backbone
ammeep
669
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Code Reviewing Like a Champion
maltzj
521
39k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Faster Mobile Websites
deanohume
305
30k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Into the Great Unknown - MozCon
thekraken
34
1.6k
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ϞʔυͰ࣮ߦͯ͠ΈΔ
ճςετ͕ޭͨ͠🎉ʢ͜ͷςετ͔Βෆ҆ఆ͕͓ͦ͞Β͘ফ͑ͨʣ
·ͱΊ
ෆ҆ఆͳςετʢ࣌ʑίέΔʣͱ͍͏ͷ͕͋Δ ͦͷಛఆͷͨΊͷखஈͷ͕̍ͭʮςετͷ܁Γฦ࣮͠ߦʯ ৽͘͠ʮςετͷ܁Γฦ࣮͠ߦʯͷػೳ͕Ճ͞ΕͨͷͰɺෆ҆ఆͳςετ ͕ݟ͔ͭͬͨΒɺ͜ͷػೳͰಛఆɾमਖ਼Ͱ͖ͳ͍͔ࢼͯ͠ΈΑ͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠😊