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
1k
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
1.1k
ANDPAD iOS開発の生態系と課題 - 最近取り組み始めた「マルチモジュール化」について
ushisantoasobu
1
790
実践!「みてね」における自動生成活用例
ushisantoasobu
5
6.4k
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.7k
24時間でMacアプリを作ってスベってきた話
ushisantoasobu
0
2.2k
Redirectable in App?
ushisantoasobu
2
940
iOSのClean Architecture テンプレ自動生成を支える技術 / generating CA's templates
ushisantoasobu
0
280
Other Decks in Programming
See All in Programming
Hack Claude Code with Claude Code
choplin
4
2.1k
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
100
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
4k
PicoRuby on Rails
makicamel
2
130
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
550
Goで作る、開発・CI環境
sin392
0
230
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
150
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
820
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
510
PipeCDのプラグイン化で目指すところ
warashi
1
280
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Docker and Python
trallard
44
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Raft: Consensus for Rubyists
vanstee
140
7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
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ϞʔυͰ࣮ߦͯ͠ΈΔ
ճςετ͕ޭͨ͠🎉ʢ͜ͷςετ͔Βෆ҆ఆ͕͓ͦ͞Β͘ফ͑ͨʣ
·ͱΊ
ෆ҆ఆͳςετʢ࣌ʑίέΔʣͱ͍͏ͷ͕͋Δ ͦͷಛఆͷͨΊͷखஈͷ͕̍ͭʮςετͷ܁Γฦ࣮͠ߦʯ ৽͘͠ʮςετͷ܁Γฦ࣮͠ߦʯͷػೳ͕Ճ͞ΕͨͷͰɺෆ҆ఆͳςετ ͕ݟ͔ͭͬͨΒɺ͜ͷػೳͰಛఆɾमਖ਼Ͱ͖ͳ͍͔ࢼͯ͠ΈΑ͏
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠😊