Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Summary of Diagnose unreliable code with test repetitions

Summary of Diagnose unreliable code with test repetitions

9e64d2069945742c818421e884603b44?s=128

shunsuke sato

June 25, 2021
Tweet

Transcript

  1. Summary of “Diagnose unreliable code with test repetitions” at WWDC

    2021 !ू·Ε4XJGU޷͖ʂ4XJGUѪ޷ձεϐϯΦϑ88%$ηογϣϯཁ໿ձ
  2. ࣗݾ঺հ

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

     5XJUUFS!VTIJTBOUPBTPCV  झຯίʔώʔɺαοΧʔɾϑοταϧ
  4. Diagnose unreliable code with test repetitions

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

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

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

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

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

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

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

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

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

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

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

     ৽͘͠௥Ճ͞ΕΔʮςετͷ܁Γฦ࣮͠ߦʯػೳʹ͸̏ͭͷϞʔυ͕͋Δ  ͦΕͧΕͲ͏͍ͬͨಈ͖Λ͢Δͷ͔ɾ༻్͸Կ͔ɺ͕͜ͷηογϣϯͷ Ұ൪େࣄͳͱ͜Ζ
  16. 'JYFEJUFSBUJPOT

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

  18. 6OUJMGBJMVSF

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

  20. 3FUSZPOGBJMVSF

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

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

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

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

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

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

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

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

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

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

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

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

  33. ·ͱΊ

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

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