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

5 Tips when test fails randomly

shunsuke sato
February 05, 2020

5 Tips when test fails randomly

5 Tips when test fails randomly for iOS.

shunsuke sato

February 05, 2020
Tweet

More Decks by shunsuke sato

Other Decks in Programming

Transcript

  1. 5 Tips
    when test fails randomly
    2020/02/05 @ΈͯͶͷMeetup #6

    View Slide

  2. ࣗݾ঺հ
    w ࠤ౻ढ़ี!VTIJTBOUPBTPCV
    w J04ΛϝΠϯʹ։ൃɺ"OESPJE3BJMT΋ͪΐͬͱ͚ͩ
    w ͜ͷࡀͰήʔϜͷૉ੖Β͠͞ʹؾ͍ͮͨͷͰɺࠓ೥ͷ໨ඪ͸ϓϥ
    ΠϕʔτͰήʔϜΞϓϦΛϦϦʔε͢Δ͜ͱ
    w ίʔώʔ͕޷͖Ͱ͢ ☕

    View Slide

  3. ΞδΣϯμ
    w ʮϥϯμϜͰςετ͕͚͜Δʯͱ͸Ͳ͏͍͏͜ͱ͔
    w ϥϯμϜͰςετ͕͚͜ΔͱԿ͕໰୊ͳͷ͔
    w ϥϯμϜͰςετ͕͚͜ΔݪҼΛಛఆ͢Δ͏͑ͰֶΜͩ5*14

    View Slide

  4. ʮϥϯμϜͰςετ͕͚͜Δʯͱ͸
    Ͳ͏͍͏͜ͱ͔

    View Slide

  5. ܦҢ

    View Slide

  6. ܦҢ
    w 9DPEF͔Β௥Ճ͞Εͨػೳl3BOEPNJ[FFYFDVUJPOPSEFSzΛ
    ʹΦϯʹͨ͠

    View Slide

  7. ܦҢ
    w 9DPEF͔Β௥Ճ͞Εͨػೳl3BOEPNJ[FFYFDVUJPOPSEFSzΛ
    ʹΦϯʹͨ͠
    w ςετΛϥϯμϜॱʹ࣮ߦ͢ΔϝϦοτ࣮ߦॱʹґଘͨ͠
    ςετΛચ͍ग़͢

    View Slide

  8. ܦҢ
    w 9DPEF͔Β௥Ճ͞Εͨػೳl3BOEPNJ[FFYFDVUJPOPSEFSzΛ
    ʹΦϯʹͨ͠
    w ςετΛϥϯμϜॱʹ࣮ߦ͢ΔϝϦοτ࣮ߦॱʹґଘͨ͠
    ςετΛચ͍ग़͢
    w ͸͡Ίͷ͏ͪ͸ಛʹ໰୊ͳ͔͕ͬͨɺ͍ͭͷࠒ͔Β͔ʮϥϯμϜ
    Ͱςετ͕͚͜ΔʯΑ͏ʹͳͬͨ

    View Slide

  9. ܦҢ
    w 9DPEF͔Β௥Ճ͞Εͨػೳl3BOEPNJ[FFYFDVUJPOPSEFSzΛ
    ʹΦϯʹͨ͠
    w ςετΛϥϯμϜॱʹ࣮ߦ͢ΔϝϦοτ࣮ߦॱʹґଘͨ͠
    ςετΛચ͍ग़͢
    w ͸͡Ίͷ͏ͪ͸ಛʹ໰୊ͳ͔͕ͬͨɺ͍ͭͷࠒ͔Β͔ʮϥϯμϜ
    Ͱςετ͕͚͜ΔʯΑ͏ʹͳͬͨ
    w ྑ͘ଊ͑Ε͹ɺςετΛΑΓॻ͘Α͏ʹͳͬͨͷͰ͜ͷ໰୊͕
    ݦࡏԽͨ͠ͱ΋ݴ͑Δ

    View Slide

  10. ݪҼ

    View Slide

  11. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ

    View Slide

  12. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    ʢ࣮ࡍʹ͋ͬͨΑΖ͘͠ͳ͍ςετʣ
    λΠϜκʔϯ͕γεςϜʹґଘͨ͠΋ͷΛɺ+45લఏͰ࣮ߦ͍ͯͨ͠ςετ

    View Slide

  13. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ

    View Slide

  14. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ
    ్த͔Βݴޠ͕૿͍͑ͯͬͨͷͰ
    ʮ೔ຊޠʯલఏͰॻ͔Εͨςετ͸मਖ਼͠ͳ͚Ε͹ͳΒͳ͔ͬͨ

    View Slide

  15. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ
    w ผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕ίέΔʢ3Yͷ
    εέδϡʔϥ·ΘΓଞʣ

    View Slide

  16. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ
    w ผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕ίέΔʢ3Yͷ
    εέδϡʔϥ·ΘΓଞʣ
    ʢςετͱͯ͠ͷ༗༻ੑʹ͍ͭͯ͸Ұ୴ͳ͠Ͱʣ
    ࠷ޙʹϦΫΤετ͞Εͨ63-ΛΞαʔτ͢Δςετɻ
    Ͱ΋ςετ͍ͯ͠ΔϝιουͷதͰ࣮͸ผͷϦΫΤετΛ౤͍͛ͯͨΓͨ͠Βʜ

    View Slide

  17. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ
    w ผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕ίέΔʢ3Yͷ
    εέδϡʔϥ·ΘΓଞʣ
    w ʢ·ͩղ໌Ͱ͖͍ͯͳ͍΋ͷ΋͋Γͦ͏ʜʣ

    View Slide

  18. ݪҼ
    w ࣌ؒଳʹΑͬͯίέΔʢλΠϜκʔϯͷߟྀ࿙ΕͳͲʣ
    w ʮ͋ΔલఏʯͰॻ͔ΕͨςετέʔεʢΞϓϦ಺ݴޠͳͲʣ
    w ผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕ίέΔʢ3Yͷ
    εέδϡʔϥ·ΘΓଞʣ
    w ʢ·ͩղ໌Ͱ͖͍ͯͳ͍΋ͷ΋͋Γͦ͏ʜʣ
    ࠓ೔࿩͢಺༰ͷର৅͸ʮΤϥʔ಺༰͔Β͸༰қʹݪҼ͕ಛఆͰ͖ͳ͍ʯ΋ͷ

    View Slide

  19. ϥϯμϜͰςετ͕͚͜Δͱ
    Կ͕໰୊ͳͷ͔

    View Slide

  20. ʮ࣌ʑςετ͕ίέΔ͚ͩͰ͠ΐʁʯ

    View Slide

  21. ςετ͕ϥϯμϜͰ͚͜Δͱ

    View Slide

  22. ςετ͕ϥϯμϜͰ͚͜Δͱ
    w ʮຊ౰ʹʯςετ͕ίέͨͱ͖ͱͷ۠ผ͕͖ͭͮΒ͍

    View Slide

  23. ςετ͕ϥϯμϜͰ͚͜Δͱ
    w ʮຊ౰ʹʯςετ͕ίέͨͱ͖ͱͷ۠ผ͕͖ͭͮΒ͍
    w ૣ͘ίʔυϨϏϡʔͯ͠΋Β͍ͱ͖ͳͲʹਏ͍
    w ʢΦʔϧάϦʔϯͰͳ͍ͱϨϏϡʔґཔͰ͖ͳ͍ʣ

    View Slide

  24. ςετ͕ϥϯμϜͰ͚͜Δͱ
    w ʮຊ౰ʹʯςετ͕ίέͨͱ͖ͱͷ۠ผ͕͖ͭͮΒ͍
    w ૣ͘ίʔυϨϏϡʔͯ͠΋Β͍ͱ͖ͳͲʹਏ͍
    w ʢΦʔϧάϦʔϯͰͳ͍ͱϨϏϡʔґཔͰ͖ͳ͍ʣ
    w ҰݴͰݴ͑͹։ൃޮ཰Λஶ͘͠Լ͛Δ

    View Slide

  25. ϥϯμϜͰςετ͕͚͜ΔݪҼΛ
    ಛఆ͢Δ͏͑ͰֶΜͩ5*14

    View Slide

  26. ໷தʹ$*Λճ͠·͘Δ

    View Slide

  27. #JUSJTFͷ4DIFEVMFE#VJMEͰςετΛ࣮ߦ͠·͘Δ

    View Slide

  28. ͳͥʁ

    View Slide

  29. w ϥϯμϜͰ͚͜ΔʮύλʔϯʯͷΑ͏ͳ΋ͷ͕Έ͑ͯ͘Δ͜ͱ΋
    ͳͥʁ

    View Slide

  30. w ϥϯμϜͰ͚͜ΔʮύλʔϯʯͷΑ͏ͳ΋ͷ͕Έ͑ͯ͘Δ͜ͱ΋
    w ઌड़ͨ͠ʮผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕
    ίέΔʯ͸׬શʹ͜ͷύλʔϯ
    ͳͥʁ

    View Slide

  31. w ϥϯμϜͰ͚͜ΔʮύλʔϯʯͷΑ͏ͳ΋ͷ͕Έ͑ͯ͘Δ͜ͱ΋
    w ઌड़ͨ͠ʮผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕
    ίέΔʯ͸׬શʹ͜ͷύλʔϯ
    w ʮ͜ͷςετ͕͚͜Δͱ͖͸͍ͭ΋ͦͷલʹ͋Δςετ͕૸ͬ
    ͍ͯΔͳʯΈ͍ͨͳ
    ͳͥʁ

    View Slide

  32. w ϥϯμϜͰ͚͜ΔʮύλʔϯʯͷΑ͏ͳ΋ͷ͕Έ͑ͯ͘Δ͜ͱ΋
    w ઌड़ͨ͠ʮผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςετέʔε͕
    ίέΔʯ͸׬શʹ͜ͷύλʔϯ
    w ʮ͜ͷςετ͕͚͜Δͱ͖͸͍ͭ΋ͦͷલʹ͋Δςετ͕૸ͬ
    ͍ͯΔͳʯΈ͍ͨͳ
    w ͦ΋ͦ΋ʮຊ౰ʹ௚ͬͨͷ͔Ͳ͏͔ʯ΋ճ͠ଓ͚ͯ֬ೝ͢Δ͔͠
    ͳ͍ʁ
    ͳͥʁ

    View Slide

  33. ςετ͕͚ͨ͜ͱ͖ͷ
    ϑΟʔυόοΫΛΑΓૣ͘ड͚Δ

    View Slide

  34. ͱࢥͬͨͷͰɺ
    ʮςετ͕͚ͨ͜ͱ͖ʹɺ಺༰΋ؚΊͯͦͷࢫΛ
    4MBDLʹ௨஌͢Δʯͱ͍͏͜ͱΛͨ͠

    View Slide

  35. ํ๏

    View Slide

  36. w ςετ͕ίέͨͱ͖ʹɺ3FTVMU#VOEMFΛղੳͯ͠Τϥʔͷ಺༰Λ
    நग़ͯ͠ɺͦΕΛ4MBDLʹ௨஌͢Δ
    ํ๏

    View Slide

  37. w ςετ͕ίέͨͱ͖ʹɺ3FTVMU#VOEMFΛղੳͯ͠Τϥʔͷ಺༰Λ
    நग़ͯ͠ɺͦΕΛ4MBDLʹ௨஌͢Δ
    w ΋ͬͱ͍͍ํ๏͕͋Δͷ͔΋͠Εͳ͍͕ɺ3FTVMU#VOEMFΛ৮ͬ
    ͯΈ͔ͨͬͨͱ͍͏Ϟνϕʔγϣϯ
    ํ๏

    View Slide

  38. 3FTVMU#VOEMF

    View Slide

  39. w 88%$l5FTUJOHJO9DPEF
    w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
    3FTVMU#VOEMF

    View Slide

  40. View Slide

  41. w 88%$l5FTUJOHJO9DPEF
    w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
    w ৽͍͠ ςετΛؚΉ
    ϨϙʔτϑΝΠϧ
    w )JHIMZPQUJNJ[FE TQBDFF⒏DJFOUGPSNBU dYTNBMMFS

    w ϑΝΠϧαΠζ͕খ͍͞
    w 7JFXBCMFJO9DPEF
    w 9DPEFͰ։͚Δ
    w 1SPHSBNNBUJDBMMZBDDFTTJCMFDPOUFOUT
    w ࠓճͷϢʔεέʔεͰ͋ΔʮղੳͰ͖Δʯ
    3FTVMU#VOEMF

    View Slide

  42. w த਎Λ+TPOͱͯ֬͠ೝ͍ͨ͠
    • $ xcrun xcresulttool get --format json --path ./some.xcresult
    3FTVMU#VOEMF

    View Slide

  43. View Slide

  44. w εΩʔϚΛ֬ೝ͍ͨ͠
    • $ xcrun xcresulttool formatDescription get
    3FTVMU#VOEMF

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. w த਎Λ۷ΓԼ͛ͯ֬ೝ͢ΔʢJEΛࢦఆ͢Δʣ
    • $ xcrun xcresulttool get --format json --path ./some.xcresult --id
    0~hTaRjqdvEmgO42cMIm-
    tHOIAo1dtH2SPEhVbmvXIMbI_1TyA8AUMnjJsBZfNhWT05xb-
    MooUTwJ3j1z7hm5oNA==
    3FTVMU#VOEMF

    View Slide

  49. View Slide

  50. ςετ͕ίέͨͱ͖ʹ4MBDLʹ௨஌͢Δ

    View Slide

  51. w 4DBOpMFͷઃఆ
    w 'BTUpMFͷઃఆ
    w 3FTVMU#VOEMFͷղੳ
    ςετ͕ίέͨͱ͖ʹ4MBDLʹ௨஌͢Δ

    View Slide

  52. 4DBOpMFͷઃఆ

    View Slide

  53. ϨϙʔτϑΝΠϧͷอଘઌΛࢦఆ͢Δ

    View Slide

  54. 3FTVMU#VOEMFΛੜ੒͢Δ

    View Slide

  55. ςετࣦഊޙʹʮ3FTVMU#VOEMFͷղੳɺ4MBDL௨஌ʯΛߦ͍͍ͨͷͰ

    View Slide

  56. 'BTUpMFͷઃఆ

    View Slide

  57. 3FTVMU#VOEMFͷ৘ใΛKTPOͱͯ͠औಘ͢Δ

    View Slide

  58. ίέͨςετ৘ใΛղੳɾ੔ܗ͢Δ

    View Slide

  59. 4MBDL௨஌͢Δ

    View Slide

  60. 'BTUMBOFͷϏϧυΛετοϓ͢Δ

    View Slide

  61. ͋͞ɺςετΛ͚ͤͯ͜͞ΈΑ͏

    View Slide

  62. View Slide

  63. ಛఆͷςετ͚ͩΛ૸ΒͤΔํ๏

    View Slide

  64. ͳͥʁ

    View Slide

  65. w ͋Δςετ"ͱ͋Δςετ#ͷΈ࣮ߦ͍ͤͨ͞
    ͳͥʁ

    View Slide

  66. w ͋Δςετ"ͱ͋Δςετ#ͷΈ࣮ߦ͍ͤͨ͞
    w ͱ͍͏ͷ΋ɺઌड़ͨ͠ʮผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςε
    τέʔε͕ίέΔʯ͜ͱΛಛఆ͔ͨͬͨͨ͠Ί
    ͳͥʁ

    View Slide

  67. w ͋Δςετ"ͱ͋Δςετ#ͷΈ࣮ߦ͍ͤͨ͞
    w ͱ͍͏ͷ΋ɺઌड़ͨ͠ʮผͷςετέʔεͷ෭࡞༻Ͱɺ͋Δςε
    τέʔε͕ίέΔʯ͜ͱΛಛఆ͔ͨͬͨͨ͠Ί
    w ͱ͍͏͜ͱͰ͜ΕΛ࣮ݱ͢ΔͨΊʹ5FTU1MBOTΛ࢖ͬͨ
    ͳͥʁ

    View Slide

  68. w 88%$l5FTUJOHJO9DPEF
    w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
    w ʢˢ3FTVMU#VOEMFͷͱಉ͡ηογϣϯʣ
    5FTU1MBOT

    View Slide

  69. View Slide

  70. w 88%$l5FTUJOHJO9DPEF
    w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
    w ʢˢ3FTVMU#VOEMFͷͱ͜Ζͱಉ͡ηογϣϯʣ
    w ςετͷઃఆʢݴޠͳͲʣΛ؅ཧ͢Δػೳ
    5FTU1MBOT

    View Slide

  71. w 88%$l5FTUJOHJO9DPEF
    w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
    w ʢˢ3FTVMU#VOEMFͷͱ͜Ζͱಉ͡ηογϣϯʣ
    w ςετͷઃఆʢݴޠͳͲʣΛ؅ཧ͢Δػೳ
    w ΈͯͶͰ΋ଟݴޠରԠઈࢍਐΊ͍ͯΔͱ͜ΖͳͷͰʢݱࡏ͸೔ɺ
    ӳɺؖɺൟͷݴޠରԠʣ͍ͣΕ࢖͓͏ͱ໛ࡧத
    5FTU1MBOT

    View Slide

  72. 5FTU1MBOͰ͸࣮ߦ͢Δςετ΋બ୒Ͱ͖Δ

    View Slide

  73. ʢࠩ͠ࠐΈʣ
    w ͜Ε·Ͱͷʮ4DIFNFͰςετͷઃఆΛ؅ཧ͢Δํ๏ʯͰ΋ಉ͡
    ͜ͱͰ͖·ͨ͠
    w ൃද೔લʹؾ͖ͮ·ͨ͠
    w ͍ͯ͠ݴ͏ͳΒ
    w 4DIFNFϑΝΠϧͷ6*ૢ࡞͸ͪΐͬͱѻ͍ͮΒ͍
    w ࠩ෼΋5FTU1MBOTͷ΄͏͕ݟ΍͍͢

    View Slide

  74. ʢϓν5*14ʣ͢΂ͯͷςετΛEJTBCMFʹ͢Δʹ͸ɺશબ୒ޙʹ
    ӈΫϦοΫͰz%JTBCMF5FTU4VJUFTzΛԡԼɻνΣοΫϘοΫεԡԼ͸ಈ͔ͳ͍ʣ

    View Slide

  75. 5FTU1MBOT΁ͷҠߦ͸؆୯ͳͷͰ
    ʮͱΓ͋͑ͣʯ΍͓ͬͯ͘ͷ΋ྑͦ͞͏ʁ

    View Slide

  76. 9DPEF͕উखʹDPOWFSUͯ͘͠ΕΔ

    View Slide

  77. 9DPEF͕উखʹDPOWFSUͯ͘͠ΕΔ

    View Slide

  78. $POpHVSBUJPO͸֬ೝ͢Δ͜ͱʢࣗ෼ͷ৔߹ςετ࣮ߦॱ͸ʮΞϧϑΝϕοτॱʯʹͳͬͨʣ

    View Slide

  79. ϥϯμϜॱͰ࣮ߦ͞Εͨςετͷ
    ॱ൪Λ࠶ݱͰ͖ͳ͍͔

    View Slide

  80. ଞͷଟ͘ͷςεςΟϯάϑϨʔϜϫʔΫʹ͸
    ʮϥϯμϜͰ࣮ߦͨ͠ςετΛ࠶ݱ͢Δ࢓૊Έʯ
    ͕͋ΔΒ͍͠ɻ9DPEFʹ͸·ͩͳ͍

    View Slide

  81. w ΞϧϑΝϕοτॱ
    w 9$5FTU
    w ςετΫϥε໊ΛΞϧϑΝϕοτॱ
    w ςετϝιου໊ΛΞϧϑΝϕοτॱ
    w 2VJDL
    w ςετΫϥε໊ΛΞϧϑΝϕοτॱ
    w ςετϝιου͸ఆٛॱ
    w ϥϯμϜ
    w ͢΂ͯϥϯμϜ
    9DPEFʹ͓͚Δςετͷ࣮ߦॱΛ੔ཧ
    ˞ʮςετϑΝΠϧʯ໊Ͱ͸ͳ͘ʮςετΫϥεʯ໊

    View Slide

  82. ΋͠΍ΔͳΒ
    ʮ3FTVMU#VOEMFͳͲͷςετϨϙʔτ͔Β
    ࣮ߦ͞Εͨςετ৘ใΛऔΓग़͠ɺ
    ͦΕʹԊͬͯςετͷΫϥεɾϝιου໊Λ
    ڧҾʹॻ͖׵͑ΔεΫϦϓτΈ͍ͨͳͷΛॻ͘ʯ
    ͱ͍͏͜ͱΛ͠ͳͯ͘͸͍͚ͳ͍ʁʁ

    View Slide

  83. ఘΊͨ

    View Slide

  84. ʢෛ͚ݘͷԕ๸͑ʣ

    View Slide

  85. w ΈͯͶͰ͸0CKD4XJGU 9$5FTU2VJDL͕ࠞࡏ͍ͯͯͪ͠ΐͬͱਏ
    ͦ͏ͱײͨͨ͡Ί
    ʢෛ͚ݘͷԕ๸͑ʣ

    View Slide

  86. w ΈͯͶͰ͸0CKD4XJGU 9$5FTU2VJDL͕ࠞࡏ͍ͯͯͪ͠ΐͬͱਏ
    ͦ͏ͱײͨͨ͡Ί
    w 9DPEFͷࠓޙʹظ଴ʜ
    ʢෛ͚ݘͷԕ๸͑ʣ

    View Slide

  87. ૬ੑͷѱ͍ςετΛ෼͚࣮ͯߦ͢Δ

    View Slide

  88. ͳͥʁ

    View Slide

  89. w 5FTU1MBOΛ༻͍ͯɺ͋Δςετ܈ͱͦΕҎ֎ͷςετ܈ͱͰ෼͚
    ࣮ͯߦ͢Δͱ͍͏͜ͱΛ΍ͬͯΈͨ
    ͳͥʁ

    View Slide

  90. w 5FTU1MBOΛ༻͍ͯɺ͋Δςετ܈ͱͦΕҎ֎ͷςετ܈ͱͰ෼͚
    ࣮ͯߦ͢Δͱ͍͏͜ͱΛ΍ͬͯΈͨ
    w Ͳ͏΋ϥϯμϜͰςετ͕ίέΔݱ৅ͷͭʹɺʮ૬ੑͷѱ͍
    ςετʯͱ͍͏΋ͷ͕͋ͬͨͨΊ
    ͳͥʁ

    View Slide

  91. w 5FTU1MBOΛ༻͍ͯɺ͋Δςετ܈ͱͦΕҎ֎ͷςετ܈ͱͰ෼͚
    ࣮ͯߦ͢Δͱ͍͏͜ͱΛ΍ͬͯΈͨ
    w Ͳ͏΋ϥϯμϜͰςετ͕ίέΔݱ৅ͷͭʹɺʮ૬ੑͷѱ͍
    ςετʯͱ͍͏΋ͷ͕͋ͬͨͨΊ
    w ํ๏ͱͯ͠͸
    w [email protected]@UFTUJOHςετ༻ʹϏϧυͯ͠
    w [email protected]@CVJMEJOHϏϧυͳ͠ͰςετͷΈߦ͏
    w Λ༻͍ΔʢYDPEFCVJMEίϚϯυͷΦϓγϣϯʣ
    ͳͥʁ

    View Slide

  92. w 5FTU1MBOΛ༻͍ͯɺ͋Δςετ܈ͱͦΕҎ֎ͷςετ܈ͱͰ෼͚
    ࣮ͯߦ͢Δͱ͍͏͜ͱΛ΍ͬͯΈͨ
    w Ͳ͏΋ϥϯμϜͰςετ͕ίέΔݱ৅ͷͭʹɺʮ૬ੑͷѱ͍
    ςετʯͱ͍͏΋ͷ͕͋ͬͨͨΊ
    w ํ๏ͱͯ͠͸
    w [email protected]@UFTUJOHςετ༻ʹϏϧυͯ͠
    w [email protected]@CVJMEJOHϏϧυͳ͠ͰςετͷΈߦ͏
    w Λ༻͍ΔʢYDPEFCVJMEίϚϯυͷΦϓγϣϯʣ
    w ࣮ߦ࣌ؒʹ΋΄ͱΜͲӨڹͳ͔ͬͨ
    ͳͥʁ

    View Slide

  93. ݁Ռ

    View Slide

  94. w ࠓޙςετΛ௥Ճ͢Δͱ͖ʹͲ͏͢Ε͹ྑ͍ͷ͔ͱ͍ͬͨӡ༻͕
    ൥ࡶʹͳΔɺͱνʔϜ͔ΒSFKFDU
    ݁Ռ

    View Slide

  95. w ࠓޙςετΛ௥Ճ͢Δͱ͖ʹͲ͏͢Ε͹ྑ͍ͷ͔ͱ͍ͬͨӡ༻͕
    ൥ࡶʹͳΔɺͱνʔϜ͔ΒSFKFDU
    w ͦ΋ͦ΋ݱ࣮ಀආ
    ݁Ռ

    View Slide

  96. w ࠓޙςετΛ௥Ճ͢Δͱ͖ʹͲ͏͢Ε͹ྑ͍ͷ͔ͱ͍ͬͨӡ༻͕
    ൥ࡶʹͳΔɺͱνʔϜ͔ΒSFKFDU
    w ͦ΋ͦ΋ݱ࣮ಀආ
    w Ͱ΋ɺɺɺ
    w ઌड़ͨ͠ʮ5FTU1MBOTΛ࢖ͬͯଟݴޠͷςετΛࠓޙ͍͖ͯ͠
    ͍ͨʯͱ͍͏ࢥ͍͕͋ΔͷͰɺͦͷલ४උʹ͸ͳͬͨ
    w ͦͷ৔߹[email protected]@UFTUJOHz΍[email protected]@CVJMEJOHzΛ
    ࢖͏͸ͣ
    ݁Ռ

    View Slide

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

    View Slide