Slide 1

Slide 1 text

Summary of “Diagnose unreliable code with test repetitions” at WWDC 2021 !ू·Ε4XJGU޷͖ʂ4XJGUѪ޷ձεϐϯΦϑ88%$ηογϣϯཁ໿ձ

Slide 2

Slide 2 text

ࣗݾ঺հ

Slide 3

Slide 3 text

໊લࠤ౻ढ़ี ৬ۀϞόΠϧΞϓϦΤϯδχΞʢJ04ΛϝΠϯʹ"OESPJE΋ͪΐͬͱʣ ॴଐגࣜձࣾΞϯυύου ʮݐங%9ʯΛ΍͍ͬͯΔձࣾ ࠓ೥ͷJ04%$ͷϓϥνφεϙϯαʔ 5XJUUFS!VTIJTBOUPBTPCV झຯίʔώʔɺαοΧʔɾϑοταϧ

Slide 4

Slide 4 text

Diagnose unreliable code with test repetitions

Slide 5

Slide 5 text

ҰݴͰ·ͱΊΔͱ ʮෆ҆ఆͳςετʢ࣌ʑίέΔςετʣʯΛ௚ͨ͢Ίʹ ʮςετͷ܁Γฦ࣮͠ߦʯػೳ͕௥Ճ͞Εͨ

Slide 6

Slide 6 text

ηογϣϯͷߏ੒ ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ 5JQTʢYDPEFCVJMEίϚϯυ·ΘΓʣ

Slide 7

Slide 7 text

ηογϣϯͷߏ੒ ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ 5JQTʢYDPEFCVJMEίϚϯυ·ΘΓʣ

Slide 8

Slide 8 text

ʮςετͷ܁Γฦ࣮͠ߦʯػೳͷ֓ཁ

Slide 9

Slide 9 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ

Slide 10

Slide 10 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ

Slide 11

Slide 11 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ௚͢ͷ͕೉͍͠ཧ༝

Slide 12

Slide 12 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ௚͢ͷ͕೉͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕೉͍͠

Slide 13

Slide 13 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ௚͢ͷ͕೉͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕೉͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ

Slide 14

Slide 14 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ௚͢ͷ͕೉͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕೉͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ ৽͘͠௥Ճ͞ΕΔʮςετͷ܁Γฦ࣮͠ߦʯػೳʹ͸̏ͭͷϞʔυ͕͋Δ

Slide 15

Slide 15 text

ෆ҆ఆͳςετ͕ੜ·ΕΔݪҼ ڝ߹ঢ়ଶ؀ڥґଘάϩʔόϧεςʔτ֎෦αʔϏεͱͷ࿈ܞ ෆ҆ఆͳςετΛ௚͢ͷ͕೉͍͠ཧ༝ ࠶ݱ͢ΔʢίέΔʣͷ͕೉͍͠ ͦͷղܾํ๏ͷखஈͷ͕̍ͭʮςετΛ܁Γฦ͢ʯ͜ͱ ৽͘͠௥Ճ͞ΕΔʮςετͷ܁Γฦ࣮͠ߦʯػೳʹ͸̏ͭͷϞʔυ͕͋Δ ͦΕͧΕͲ͏͍ͬͨಈ͖Λ͢Δͷ͔ɾ༻్͸Կ͔ɺ͕͜ͷηογϣϯͷ Ұ൪େࣄͳͱ͜Ζ

Slide 16

Slide 16 text

'JYFEJUFSBUJPOT

Slide 17

Slide 17 text

੒ޭࣦഊ໰Θͣɺࢦఆͨ͠ճ਺෼ςετΛ࣮ߦ͢Δ ༻్ʮςετʹෆ҆ఆ͕͞ͳ͍͔ʯΛ֬ೝ͢ΔͨΊ 'JYFEJUFSBUJPOT

Slide 18

Slide 18 text

6OUJMGBJMVSF

Slide 19

Slide 19 text

ࢦఆͨ͠ճ਺෼ςετΛ࣮ߦ͢Δ͕ɺࣦഊ࣌఺Ͱऴྃ͢Δ ༻్ʮෆ҆ఆͳςετΛ௚͢ʢσόοά͢Δʣʯͱ͖ʹར༻͢Δ 6OUJMGBJMVSF

Slide 20

Slide 20 text

3FUSZPOGBJMVSF

Slide 21

Slide 21 text

ࢦఆͨ͠ճ਺෼ςετΛ࣮ߦ͢Δ͕ɺ੒ޭͨ࣌͠఺Ͱऴྃ͢Δ ༻్ʮ͸͡Ί͸ࣦഊ͢Δ͕͍ͣΕ੒ޭ͢ΔΑ͏ͳςετʯΛಛఆ͢ΔͨΊ 3FUSZPOGBJMVSF

Slide 22

Slide 22 text

ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛ༻͍ͨσϞ

Slide 23

Slide 23 text

࠷ۙ$*Ͱςετ͕࣌ʑίέΔ͜ͱʹؾͮ͘

Slide 24

Slide 24 text

ʮςετͷ܁Γฦ࣮͠ߦʯػೳΛҰ࣌తʹΦϯʹͯ͠࠶౓$*ͰςετΛ࣮ߦͯ͠ΈΔ

Slide 25

Slide 25 text

΍ͬͺΓϥϯμϜͰίέΔΑ͏ͩ

Slide 26

Slide 26 text

ϩʔΧϧͰ΋࠶ݱ͢Δ͔ࢼͯ͠ΈΑ͏ʢz3VOUFTU4PNF 3FQFBUFEMZzΛબ୒ʣ

Slide 27

Slide 27 text

l'JYFEJUFSBUJPOTzϞʔυʢճ਺͸ʹࢦఆʣͰ࣮ߦ

Slide 28

Slide 28 text

ϩʔΧϧͰ΋ϥϯμϜͰίέΔ͜ͱ͕࠶ݱͰ͖ͨʂʢճίέͨʣ

Slide 29

Slide 29 text

ϥϯμϜͰίέΔݪҼΛಛఆ͠Α͏ʢl6OUJMGBJMVSFzϞʔυͰ࣮ߦʣ

Slide 30

Slide 30 text

ςετ͕ίέͨͱ͖ʹσόοΨ͕ىಈ͞ΕΔʂ

Slide 31

Slide 31 text

मਖ਼Ͱ͖ͨΒ࠶౓z'JYFEJUFSBUJPOTzϞʔυͰ࣮ߦͯ͠ΈΔ

Slide 32

Slide 32 text

ճςετ͕੒ޭͨ͠🎉ʢ͜ͷςετ͔Βෆ҆ఆ͕͓ͦ͞Β͘ফ͑ͨʣ

Slide 33

Slide 33 text

·ͱΊ

Slide 34

Slide 34 text

ෆ҆ఆͳςετʢ࣌ʑίέΔʣͱ͍͏΋ͷ͕͋Δ ͦͷ໰୊ಛఆͷͨΊͷखஈͷ͕̍ͭʮςετͷ܁Γฦ࣮͠ߦʯ ৽͘͠ʮςετͷ܁Γฦ࣮͠ߦʯͷػೳ͕௥Ճ͞ΕͨͷͰɺෆ҆ఆͳςετ ͕ݟ͔ͭͬͨΒɺ͜ͷػೳͰ໰୊ಛఆɾमਖ਼Ͱ͖ͳ͍͔ࢼͯ͠ΈΑ͏

Slide 35

Slide 35 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠😊