組織にテストを書く文化を根付かせる戦略と戦術(2020秋版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2020 Autumn Edition

9f3a83db74bee75a64b5e6ed106a775c?s=47 Takuto Wada
September 28, 2020

組織にテストを書く文化を根付かせる戦略と戦術(2020秋版) / Strategy and Tactics of Building Automated Testing Culture into Organization 2020 Autumn Edition

ソフトウェアテストシンポジウム 2020 新潟 JaSST'20 Niigata 基調講演
2020年9月28日(月)
http://www.jasst.jp/symposium/jasst20niigata.html

9f3a83db74bee75a64b5e6ed106a775c?s=128

Takuto Wada

September 28, 2020
Tweet

Transcript

  1. ૊৫ʹςετΛॻ͘จԽΛ ࠜ෇͔ͤΔઓུͱઓज़ ʢळόʔδϣϯʣ ࿨ా୎ਓ !U@XBEB 4FQ !+B445/JJHBUBجௐߨԋ

  2. t-wada t_wada twada #jasst #jasstniigata ࣗݾ঺հ

  3. ٕज़ॻͷग़൛ʹؔΘ͍ͬͯ·͢

  4. #jasst #jasstniigata ΑΖ͓͘͠ئ͍͠·͢

  5. ઓུฤ ૊৫ʹςετΛॻ͘ จԽΛࠜ෇͔ͤΔ

  6. IUUQTXXXFWBOHFMJTNKQSFTPVSDFTCVTJOFTTXJUIJU લఏ*5͸ࣄۀͷίΞʹͳͬͨ

  7. มΘΔੈքͭͷΩʔϝτϦΫε wϦʔυλΠϜ wσϓϩΠස౓ w.553 ฏۉम෮࣌ؒ  wมߋࣦഊ཰ IUUQTXXXBNB[PODPKQEQ

  8. ϦʔυλΠϜͱσϓϩΠස౓ԾઆݕূϓϩηεΛਝ଎ʹճ͢ IUUQJLFZIBUFCMPKQFOUSZ

  9. MTTR .553.FBOUJNFUP3FDPWFSZ3FQBJS IUUQTXXXTMJEFTIBSFOFUEFDPEFEPTSFTJUFSFMJBCJMJUZFOHJOFFSJOHJOB[VSFPOB[VSF Ұ෦վม

  10. .5#'ΛࣺͯΔͷͰ͸ͳ͘඼࣭ΛϓϩηεͰ࡞ΓࠐΉ IUUQTXXXSZV[FFDPNDPOUFOUTCMPH

  11. ΤϦʔτ ϋΠύϑΥʔϚʔ ϛσΟΞϜ ύϑΥʔϚʔ ϩʔύϑΥʔϚʔ ϦʔυλΠϜ ೔ະຬ ೔͔Βिؒ ि͔ؒΒϱ݄ ϱ݄͔Βϱ݄

    σϓϩΠස౓ ΦϯσϚϯυ ೔ෳ਺ճ ೔ճ͔Βिճ िճ͔Β݄ճ ϱ݄͔Βϱ݄ .553 ࣌ؒະຬ ೔ະຬ ೔ະຬ ि͔ؒΒϱ݄ มߋࣦഊ཰     ͭͷΩʔϝτϦΫε೥ͷௐࠪ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO w։ൃ଎౓ͱ඼࣭͸τϨʔυΦϑͷؔ܎Ͱ͸ͳ͍ w૊৫ؒͷࠩ͸͔ͳΓେ͖͘ɺ͞Βʹ։͍͍ͯΔʢʣ wѹ౗తͳࠩ͸ܧଓతσϦόϦ΍%FW0QT΁ͷ૊৫తͳ౤ࢿͷࠩ
  12. ೥ʹ͓͚ΔΤϦʔτͱϩʔύϑΥʔϚʔͷࠩ wϦʔυλΠϜഒ wσϓϩΠස౓ഒ w.553ഒ wมߋࣦഊ཰ഒ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO

  13. w ϩʔύϑΥʔϚʔͱͳΔ܏޲͕ڧ͍ͷ͸ɺ࣍ͷΑ͏ʹ ճ౴ͨ͠νʔϜͰ͋ͬͨ w ʮߏஙதͷιϑτ΢ΣΞ ͋Δ͍͸ར༻͢Δඞཁ ͷ͋ΔҰ܈ͷαʔϏε ͸ɺଞࣾ ֎஫ઌͳͲ ͕։

    ൃͨ͠ΧελϜιϑτ΢ΣΞͰ͋Δʯ ͭͷΩʔϝτϦΫεݫ͍͠ݱ࣮ IUUQTXXXBNB[PODPKQEQ ʰ-FBOͱ%FW0QTͷՊֶʱQ
  14. ͳͥςετࣗಈԽͳͷ͔ ίετΛ࡟ݮ͍͔ͨ͠Β *5͕ࣄۀͷίΞͰ͋Γɺ ΞδϦςΟ͕ڝ૪ྗ͔ͩΒ

  15. Ͱ΋ʜʜ ݱ৔͔ΒͷதܧͰ͢

  16. ർฐ͖ͬͨ͠ݱ৔

  17. IUUQTXXXqJDLSDPNQIPUPTPLJOBXBTPCB ߥΈ͖ͬͨίʔυ

  18. ര஄ॲཧͷΑ͏ͳϦϦʔε

  19. lςετ͕ͳ͍ίʔυ͸ϨΨγʔίʔυͩʂz

  20. ͭͷlͳΒΘ͠z

  21. IUUQTXXXqJDLSDPNQIPUPTELBMP lςετΛॻ࣌ؒ͘͸ͳ͍z

  22. ετϨε ςετ ॻ੶ʰςετۦಈ։ൃʱΑΓ നؙ෇͖໼ҹෛͷ઀ଓࠜݩ͕૿͑Ε͹ઌ͸ݮΔɻࠜݩ͕ݮΕ͹ઌ͸૿͑Δ

  23. ࣗಈςετ ετϨε ॻ੶ʰςετۦಈ։ൃʱΑΓ നؙ෇͖໼ҹෛͷ઀ଓࠜݩ͕૿͑Ε͹ઌ͸ݮΔɻࠜݩ͕ݮΕ͹ઌ͸૿͑Δ

  24. ςετΛॻ͕࣌ؒ͘ͳ͍ͷͰ͸ͳ͘ɺ ςετΛॻ͔ͳ͍͔Β͕࣌ؒͳ͘ͳΔ ͷͰ͢

  25. lಈ͘ίʔυʹ৮ΕΔͳz IUUQTXXXqJDLSDPNQIPUPT!/

  26. &EJU1SBZʹ͸ࢮ͕଴͍ͬͯΔ

  27. IUUQTUXJUUFSDPNU@XBEBTUBUVT Կ΋ͯ͠ͳ͍͔ΒյΕΔ

  28. $PWFS.PEJGZ

  29. w จԽͷৢ੒͸೥୯ҐͷࣄۀʹͳΔ w ʮςετΛॻ͕࣌ؒ͘ͳ͍ʯͷͰ͸ͳ͘ʮςετΛ ॻ͔ͳ͍͔Β͕࣌ؒͳ͘ͳΔʯ w ʮಈ͘ίʔυʹ৮ΕΔͳʯͱઓ͏ɻ৮Εͳ͚Ε͹ ڝ૪ྗ͕ऑ·Γɺࣄۀ͸؇΍͔ʹࢮΜͰ͍͘ w ίετ࡟ݮͰ͸ͳ͘ΞδϦςΟΛಘΔͨΊͷࣗಈԽ

    จԽΛม͍͑ͯ͘
  30. w ϨΨγʔίʔυվળʹਖ਼ղ͸ͳ͍ w ςετࣗಈԽ͸ۜͷ஄ؙͰ͸ͳ͍ w ಋೖํ๏ʹ΋ۜͷ஄ؙ͸ͳ͍ w ಋೖΛ໨తʹͯ͠͸ͳΒͳ͍ w ঢ়گ͸ݱ৔ʹΑͬͯશͯҟͳΔ

    ۜͷ஄ؙ͸ͳ͍
  31. w 5P#FͰ͸ͳ͘"T*Tͱ/PU5P#F͔Β͸͡ΊΔ w ਓ͸ࣗ෼ͷ଎౓Ͱ͔͠੒௕Ͱ͖ͳ͍ w ϓϩδΣΫτ΋ϓϩδΣΫτͷ଎౓Ͱ͔͠੒௕Ͱ͖ͳ͍ w ͦΕͰ΋࠲ͯ͠଴ͨͣมԽΛՃ଎͠ͳ͚Ε͹ͳΒͳ͍ ΠϚίί͔Β͸͡ΊΔ

  32. ಈ͖ʹ͍͘૊৫Λ ಈ͔͢ʹ͸

  33. w ΞϝϦΧਓඈͼࠐΊ͹͋ͳͨ͸ӳ༤Ͱ͢ w ΠΪϦεਓඈͼࠐΊ͹͋ͳͨ͸ਈ࢜Ͱ͢ w υΠπਓඈͼࠐΉͷ͕͜ͷધͷنଇͰ͢ w ΠλϦΞਓඈͼࠐΉͱঁੑʹ΋ͯ·͢Α w ϑϥϯεਓඈͼࠐ·ͳ͍Ͱ͍ͩ͘͞

    w ೔ຊਓΈΜͳඈͼࠐΜͰ͍·͢Α ೔ຊਓΛಈ͔͢ݴ༿ʢ༻๏༻ྔΛकͬͯ࢖͏͜ͱʣ IUUQTXXXBNB[PODPKQEQ
  34. IUUQTOFXTUCTDPKQOFXTFZFUCT@OFXTFZFIUN

  35. આ໌੹೚ͷ޲͖Λ൓సͤ͞Δ IUUQTUXJUUFSDPNIJSPLJ@EBJDIJTUBUVT

  36. ཧ࿦෢૷͢Δ

  37. ෆ۩߹ͷൃݟ͕ ஗ΕΕ͹஗ΕΔ΄Ͳ ίετ͕͔͔Δ IUUQTXXXBTURCPSHQSFTTSPPN*452#@$FSUJpDBUJPO@/FXT@@IUNM

  38. ςετࣗಈԽͷଛӹ෼ذ఺͸ʮճʯ IUUQTXXXBNB[PODPKQEQ ͓ΑͦճͰ खಈςετͱࣗಈԽ͞Εͨςετͷ ίετ͕ٯస͢Δ

  39. IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM อकੑͷ௿͕͞΋ͨΒ͢΋ͷ ͻͱͭͻͱͭͷมߋʹ ༨ܭͳ͕͔͔࣌ؒΔ

  40. ಺෦඼࣭΁ͷ౤ࢿͷଛӹ෼ذ఺͸ ೥ޙͱ͔Ͱ͸ͳ͘ ϲ݄Ҏ಺ʹݱΕΔ IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM ಺෦඼࣭΁ͷ౤ࢿͷଛӹ෼ذ఺͸ϲ݄Ҏ಺ʹݱΕΔ

  41. © Towersquest, Inc. 2010. all rights reserved. N. Nagappan, M.

    E. Maximilien, T. Bhat and L. Williams: Realizing quality improvement through test driven development: results and experiences of four industrial teams, Journal of Empirical Software Engineering, vol. 13, pp. 289-302 (2008) 5%%ಋೖޮՌ .4 *#. 41 IBM Driver MS Windows MS MSN MS Visual Studio ιʔείʔυαΠζ (KLOC) 41 6 26 155.2 ςετίʔυαΠζ (KLOC) 28.5 4 23.2 60.3 TDDΛ࠾༻͍ͯ͠ͳ͍ྨࣅϓϩδ ΣΫτͰͷܽؕີ౓Λ̍ͱͨ͠ͱ ͖ͷܽؕີ౓ 0.61 0.38 0.24 0.09 TDD࠾༻ʹΑΓ૿Ճͨ͠ίʔυ࣮ ૷࣌ؒ(؅ཧऀͷݟੵʹΑΔ) 15ʙ20% 25ʙ35% 15% 20ʙ25%
  42. © Towersquest, Inc. 2010. all rights reserved. 5%%ಋೖޮՌ ΤϦΫιϯଞ w

    5%%Λ࣮ࢪͨ͠৔߹ʹใࠂ͞Ε͍ͯΔ஌ݟ ‣ ػೳςετͰͷෆ۩߹ݕग़਺͕࡟ݮ͞Εͨ ‣ ίʔσΟϯά ࣮૷ ͷ͕࣌ؒˋ૿͑ͨ ‣ ςετͷΧόϨοδ͕େ͖͘ͳͬͨ w ඃݧऀΛର৅ͱͨ͠Ξϯέʔτ ‣ ͷඃݧऀ͕σόοάͷ޻਺ΛݮΒ͢ͱײͨ͡ ‣ ͷඃݧऀ͕ཁٻ͕ચ࿅͞ΕΔͱײͨ͡ ‣ ͷඃݧऀ͕ίʔυͷ඼࣭Λ্͛Δͱײͨ͡ ‣ ͷඃݧऀ͕։ൃ޻਺ΛݮΒ͢ͱײͨ͡ 42 Boby George, a and Laurie Williams: A structured experiment of test-driven development, Journal of Information and Software Technology Vol. 46, No. 5, p. 337-342(2004)
  43. IUUQTXXXqJDLSDPNQIPUPTUPNQBHFOFU ςετ͸඼࣭Λ্͛ͳ͍

  44. w ඼࣭͕ʮΘ͔ΔʯΑ͏ʹͳΔ w Θ͔Δ͜ͱͦ͜େࣄ w ςετΛॻ͚ͩ͘Ͱ͸ɺྑ͘͸ͳΒͳ͍ w ମॏܭʹ৐Δ͚ͩͰ͸૫ͤͳ͍ w ඼࣭Λ্͛Δͷ͸ઃܭͱϓϩάϥϛϯά

    w ࠶ઃܭͱϦϑΝΫλϦϯάΛςετͰࢧ͑Δ ςετ͸඼࣭Λ্͛ͳ͍
  45. lςετͰ͸඼࣭͸্͕Βͳ͍Ͱ͢Αɻ ςετ͸͋͘·Ͱ΋඼࣭Λ͋͛Δ͖ͬ ͔͚ɻ඼࣭Λ͋͛Δͷ͸ϓϩάϥϛϯ άͰ͢ɻ͜Ε͸େੲ͔Βͦ͏ɻz

  46. ૊৫ʹςετΛॻ͘ จԽΛࠜ෇͔ͤΔ ઓज़ฤ

  47. ͭͷlಓ͠Δ΂z

  48. w ʮϨΨγʔίʔυͷδϨϯϚʯ w lίʔυΛมߋ͢ΔͨΊʹ͸ςετΛ੔උ͢Δඞཁ͕͋ Δɻଟ͘ͷ৔߹ɺςετΛ੔උ͢ΔͨΊʹ͸ɺίʔυΛ มߋ͢Δඞཁ͕͋Δz w ϨΨγʔίʔυʹ৮ΔͨΊͷ ޠኮͱٕ๏Λ੔ཧͨ͠ຊ w

    TUBDLPWFSqPXDPN͔Βͷ ඃݴٴ਺ୈҐ ϨΨγʔίʔυվળΨΠυ IUUQTXXXBNB[PODPKQEQ
  49. w ϨΨγʔίʔυվળΨΠυΑΓ΍΍ந৅౓͕ߴ͍ w ιϑτ΢ΣΞͷϦΤϯδχΞϦϯάΛߦ͏ͭͷ બ୒ࢶΛ͍ࣔͯ͠Δ w ϦϑΝΫλϦϯά w ϦΞʔΩςΫςΟϯά w

    ϏοάɾϦϥΠτ ϨΨγʔιϑτ΢ΣΞվળΨΠυ IUUQTXXXBNB[PODPKQEQ
  50. Ͳ͜ʹςετΛ ॻ͍͍͔ͯ͘

  51. w ʮԿ͕Ұ൪΍͹͍Ͱ͔͢ʁʯ w ࠷΋ࠔ͍ͬͯΔͱ͜Ζ͔Β w ͓ۚɺݸਓ৘ใɺʜʜ w ৽ػೳ։ൃ͔Β w όάमਖ਼ͷͱ͜Ζ͔Β

    w ੩తղੳͰϐϯϙΠϯτʹ Ͳ͔͜Β΍Δ͔
  52. ʮ௧ΜͩՕॴʯͱʮख͕ಧ͘Ռ࣮ʯ

  53. wϦεΫ wखಈςετͷίετ wࣗಈԽίετ ςετͷτϦΞʔδ IUUQTXXXBNB[PODPKQEQ9

  54. ςετέʔε ϦεΫ खಈςετͷ ίετ ࣗಈԽίετ σβΠϯมߋ ηΩϡϦςΟΞϥʔτ औҾཤྺ ޱ࠲ͷౚ݁ ৽نϢʔβొ࿥

    ݕࡧ݁Ռͷฒͼସ͑ ͓ۚͷೖۚ ৼΓࠐΈͷ֬ೝ ςετέʔεΛҰཡʹ·ͱΊΔ IUUQTXXXBNB[PODPKQEQ9
  55. ςετέʔε ϦεΫ खಈςετͷ ίετ ࣗಈԽίετ σβΠϯมߋ ηΩϡϦςΟΞϥʔτ औҾཤྺ ޱ࠲ͷౚ݁ ৽نϢʔβొ࿥

    ݕࡧ݁Ռͷฒͼସ͑ ͓ۚͷೖۚ ৼΓࠐΈͷ֬ೝ ϦεΫΛݟੵ΋Δʢͬ͘͟Γߴ௿ʣ IUUQTXXXBNB[PODPKQEQ9
  56. ςετέʔε ϦεΫ खಈςετͷ ίετ ࣗಈԽίετ σβΠϯมߋ ηΩϡϦςΟΞϥʔτ औҾཤྺ ޱ࠲ͷౚ݁ ৽نϢʔβొ࿥

    ݕࡧ݁Ռͷฒͼସ͑ ͓ۚͷೖۚ ৼΓࠐΈͷ֬ೝ खಈςετͷίετΛݟੵ΋Δʢͬ͘͟Γߴ௿ʣ IUUQTXXXBNB[PODPKQEQ9
  57. ࣗಈԽίετΛݟੵ΋Δʢͬ͘͟Γߴ௿ʣ ςετέʔε ϦεΫ खಈςετͷ ίετ ࣗಈԽίετ σβΠϯมߋ ηΩϡϦςΟΞϥʔτ औҾཤྺ ޱ࠲ͷౚ݁

    ৽نϢʔβొ࿥ ݕࡧ݁Ռͷฒͼସ͑ ͓ۚͷೖۚ ৼΓࠐΈͷ֬ೝ IUUQTXXXBNB[PODPKQEQ9
  58. ༏ઌॱҐΛ෇͚ͯฒ΂ସ͑Δ ςετέʔε ϦεΫ खಈςετͷ ίετ ࣗಈԽίετ ޱ࠲ͷౚ݁ ৼΓࠐΈͷ֬ೝ औҾཤྺ ݕࡧ݁Ռͷฒͼସ͑

    ͓ۚͷೖۚ ηΩϡϦςΟΞϥʔτ ৽نϢʔβొ࿥ σβΠϯมߋ IUUQTXXXBNB[PODPKQEQ9
  59. Ͳ͏ςετΛ ॻ͍͍͔ͯ͘

  60. w ࣮ߦԁ׈ੑʢ0QFSBCJMJUZʣ w ࣗಈ࣮ߦ͕༰қͰ͔ͭߴ଎ w ؍ଌ༰қੑʢ0CTFSWBCJMJUZʣ w ςετ݁Ռͷऔಘɾظ଴஋ൺֱΛࣗಈԽ͠΍͍͢ w ੍ޚ༰қੑʢ$POUSPMMBCJMJUZʣ

    w ࣄલঢ়ଶΛ੍ޚ͠ɺςετର৅Λࣗಈૢ࡞͠΍͍͢ w ෼ղՄೳੑʢ%FDPNQPTBCJMJUZʣ w ςετର৅ͷ੾Γग़͠ɺςετ؀ڥ΁ͷ෦෼ஔ׵͕༰қ IUUQTTQFBLFSEFDLDPNHPZPLJUFTUBCJMJUZJOFNCFEEFETPGUXBSF ࣗಈςετʹ͓͚ΔςελϏϦςΟ
  61. w ઀߹෦ͷݕ౼ͱۛຯ w ߜΓࠐΈ఺ͷൃݟͱґଘͷ෼཭ w ࠶ݱੑ͋Δςετϋʔωεͷ੔උ w ௒ूதฤू )ZQFSBXBSF&EJUJOH 

    w ίϯύΠϥ*%&·͔ͤ w ࢓༷Խςετ w ࢼߦϦϑΝΫλϦϯά ϨΨγʔίʔυվળͷٕ๏ IUUQTXXXBNB[PODPKQEQ
  62. var createHandler = function (getNextItemIndex) { return function (event, context,

    callback) { var alexa = Alexa.handler(event, context); alexa.registerHandlers(createHandlers(getNextItemIndex)); alexa.execute(); }; }; exports.createHandler = createHandler; exports.handler = function () { var getNextItemIndex = () => Math.floor(Math.random() * questions.length); return createHandler(getNextItemIndex); }(); exports.handler = function (event, context, callback) { var alexa = Alexa.handler(event, context); alexa.registerHandlers(handlers); alexa.execute(); }; ྫϥϯμϜੑΛ൐͏ؔ਺Λ֎͔Βࠩ͠ࠐΊΔΑ͏ʹ͢Δ 変更前 変更後
  63. w ࠷ॳ͔Βશ෦΍Ζ͏ͱ͠ͳ͍ w ςετۦಈʹͩ͜ΘΔͳ w ςετϑΝʔετʹͩ͜ΘΔͳ w ʮϢχοτʯςετʹͩ͜ΘΔͳ w ςετͷ࣮ߦ଎౓ʹͩ͜ΘΔͳ

    w ςετͷ໢ཏੑʹͩ͜ΘΔͳ ͩ͜ΘΔͳ
  64. w ྑ͍Ϣχοτςετͷࢦඪʹ΋༏ઌ౓͕͋Δ w ࠶ݱɺ܁Γฦ͠Մೳ 3FQFBUBCMF  w ಠཱ͍ͯ͠Δ *OEFQFOEFOU 

    w ଞ͸ͦΕ͔ΒͰ͍͍ ͩ͜ΘΖ͏
  65. w ςετ͕ͳ͍ͷ͸طʹઃܭ͕ѱ͍ஹީ w ઃܭ࣮૷Λม͑Δͷ͕લఏ w ࣮૷ͷςετΛॻ͔ͳ͍͜ͱ w ςετ͕Χόʔ͢Δൣғʹ༡ͼΛ࣋ͨͤɺ Χόʔൣғ಺ΛϦϑΝΫλϦϯά w

    ঢ়گʹԠͯ͡&&ςετΛ࢖͍͜ͳ͢ ઃܭͷՄಈҬΛ֬อ͢Δ
  66. ςετࣗಈԽϐϥϛουͱΞϯνύλʔϯ IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF

  67. l5FTU4J[FTzBU(PPHMF IUUQTUFTUJOHHPPHMFCMPHDPNUFTUTJ[FTIUNM

  68. medium small large ࣗ෼ͨͪͰ4.-Λఆٛ͠ɺௐ੔͢Δ

  69. w αϯϓϧͱσϞ͕େࣄ w ਅࣅͯ͠΋Β͏౔୆Λ࡞Δ w ࠷ॳ͸αϯϓϧͷίϐϖͰ΋ྑ͍ w ςετͷ͋Δੜ׆Λମݧͯ͠΋Β͏͜ͱ͕େࣄ w ࣍ʹςετͷϝϯςφϯεΛֶͿ

    എதΛݟͤΔ
  70. ࣄྫ$ZHBNFTࣾ಺ϫʔΫγϣοϓ IUUQTUFDIDZHBNFTDPKQBSDIJWFT

  71. w Ͱ͖Δ͔Β΍ΔͷͰ͸ͳ͍ w ΍Δ͔ΒͰ͖ΔΑ͏ʹͳΔ w ࣗ෼͕ॻ͚ΔΑ͏ʹͳΒͳ͚Ε͹ɺ୭΋ ॻ͚ΔΑ͏ʹ͸ͳΒͳ͍ 4PDJBM$IBOHFTUBSUTXJUI:06

  72. 4PDJBM$IBOHFTUBSUTXJUI:06

  73. ςετ͸ϓϩͷᅂΈ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠