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

Agile開発に入り込むQAの方法 #D3QA / Agile QA Night

nihonbuson
March 14, 2019

Agile開発に入り込むQAの方法 #D3QA / Agile QA Night

2019年3月14日開催のD3QAイベント「Agile QA Night」での発表資料です。
https://d-cube.connpass.com/event/121450/

スライド内で紹介した参考資料
◆P34
テスト駆動開発から品質保証へと橋を架ける
https://speakerdeck.com/twada/jasst-18-kansai-from-tdd-to-qa?slide=20

◆P38
テストエンジニアはどのような思考でペアプロ・モブプロに参加しているのか #WACATE
http://nihonbuson.hatenadiary.jp/entry/2018/12/24/000000

テストエンジニアの観点を持ってテスト書いていくぞな話
https://kariaduu.hatenablog.com/entry/2018/12/18/232511

nihonbuson

March 14, 2019
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. Agile։ൃʹೖΓࠐΉ QAͷํ๏ ϒϩοίϦʔ

  2. Agenda • Agile։ൃͱQAͷؔΘΓํ • Ϟϒϓϩͷ୊ࡐͱਐΊํ • ࢲͷࢦఠ఺ • ͓ΘΓʹ

  3. ࠓ೔ͷ໨త • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔ 
 ஌ͬͯ΋Β͏ • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸ 
 ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔ 


    ஌ͬͯ΋Β͏
  4. Agile։ൃͱ 
 QAͷؔΘΓํ

  5. QAͷؔΘΓํͦͷ1 • εϓϦϯτ಺͸։ൃͷΈ • ਺εϓϦϯτͷޙɺςετظؒΛઃ͚ͯ 
 QA͕ςετΛ࣮ࢪ͢Δ 4QSJOU 4QSJOU 4QSJOU

    ։ൃ QA 2"5FTU
  6. QAͷؔΘΓํͦͷ2 • εϓϦϯτ಺͸։ൃͷΈ • ࣍εϓϦϯτͷظؒதʹɺ 
 QA͕લεϓϦϯτͷςετΛ࣮ࢪ͢Δ 4QSJOU 4QSJOU 4QSJOU

    ։ൃ QA 4QSJOU 5FTU 4QSJOU 5FTU 4QSJOU 5FTU 4QSJOU
  7. QAͷؔΘΓํͦͷ3 • εϓϦϯτ಺͸։ൃͱQA͕ೖΔ • εϓϦϯτͷޙ൒ʹQA͕ςετΛ࣮ࢪ͢Δ 4QSJOU 4QSJOU 4QSJOU ։ൃ QA

    5FTU 5FTU 5FTU 4QSJOU 5FTU
  8. QAͷؔΘΓํͦͷ4 • εϓϦϯτ಺͸։ൃͱQA͕ೖΔ • εϓϦϯτͷ࠷ॳ͔ΒQA͕ೖ͍ͬͯΔ • ϞϒϓϩࢀՃऀͷҰһͱͯ͠ೖΔ 4QSJOU 4QSJOU 4QSJOU

    ։ൃ QA 5FTU 5FTU 5FTU 4QSJOU 5FTU
  9. Ϟϒϓϩͷ୊ࡐͱਐΊํ

  10. Ϟϒϓϩͷ୊ࡐͳͲ WACATEͰͷϞϒϓϩମݧձͷޫܠ

  11. Ϟϒϓϩͷ୊ࡐͳͲ • ୊ࡐ͸ࣗಈൢചػ • Cucumber+JUnit • PO໾ͬΆ͍͜ͱΛࢲ͕࣮ࢪ • ࢀՃऀ͸΄ͱΜͲ͕Ϟϒϓϩະܦݧ •

    1ਓ͚ͩϞϒϓϩܦݧ͋Γ
  12. 1ͭ໨ͷςετγφϦΦ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ public

    class VendingMachine { int currentMoney ; public void insertCoin(int money) { currentMoney = money ; } public int getCurrentMoney() { return currentMoney ; } }
  13. 2ͭ໨ͷςετγφϦΦ PO͔Βͷཁ๬ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    public class VendingMachine { int currentMoney ; public void insertCoin(int money) { currentMoney = money ; } public int getCurrentMoney() { return currentMoney ; } } 10ʮ͓ۚΛԁೖΕͨޙʹɺԁΛೖΕͨΒɺ 
 ͪΌΜͱԁʹͳΔΑ͏ʹͯ͠΄͍͠ͳʯ
  14. 2ͭ໨ͷςετγφϦΦ ςετγφϦΦͷ࡞੒ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ public class VendingMachine { int currentMoney ; public void insertCoin(int money) { currentMoney = money ; } public int getCurrentMoney() { return currentMoney ; } }
  15. 2ͭ໨ͷςετγφϦΦ ࣮૷ίʔυͷमਖ਼ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ public class VendingMachine { int currentMoney = 0 ; public void insertCoin(int money) { currentMoney += money ; } public int getCurrentMoney() { return currentMoney ; } }
  16. 3ͭ໨ͷςετγφϦΦ PO͔Βͷཁ๬ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ public class VendingMachine { int currentMoney = 0 ; public void insertCoin(int money) { currentMoney += money ; } public int getCurrentMoney() { return currentMoney ; } } 10ʮ̍ԁߗ՟͸ରԠͨ͘͠ͳ͍ͳʯ
  17. 3ͭ໨ͷςετγφϦΦ ςετγφϦΦͷ࡞੒ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario:ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ public class VendingMachine { int currentMoney = 0 ; public void insertCoin(int money) { currentMoney += money ; } public int getCurrentMoney() { return currentMoney ; } }
  18. 3ͭ໨ͷςετγφϦΦ ࣮૷ίʔυͷमਖ਼ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ

    Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ public class VendingMachine { int currentMoney = 0 ; public void insertCoin(int money) { if (money == 50 || money==100) { currentMoney += money ; } } public int getCurrentMoney() { return currentMoney ; } }
  19. ࢲͷࢦఠ఺

  20. ࢲͷࢦఠ఺ ࢦఠՕॴͷղઆ͚ͩͰͳ͘ɺ 
 ͲͷΑ͏ͳձ࿩Ͱ಺༰Λվળ͍ͯͬͨ͠ͷ͔ 
 ঺հ͢Δɻ

  21. ։ൃऀͱͷձ࿩(1) Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario:

    ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ͢΂ͯγφϦΦ໊͕ 
 ʰೖֹۚ֬ೝʱʹͳͬͯ·͢ΑͶɻ 
 ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ ͳΔ΄Ͳɻ 
 ͦͨ͠Β͜Μͳײ͡Ͱ͔͢Ͷɻ 
 ʢςετγφϦΦΛฤू͢Δʣ ࢲ ։ൃऀ
  22. Scenario: 1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 2ճͷίΠϯ౤ೖ

    Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ͢΂ͯγφϦΦ໊͕ 
 ʰೖֹۚ֬ೝʱʹͳͬͯ·͢ΑͶɻ 
 ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ ͳΔ΄Ͳɻ 
 ͦͨ͠Β͜Μͳײ͡Ͱ͔͢Ͷɻ 
 ʢςετγφϦΦΛฤू͢Δʣ ։ൃऀͱͷձ࿩(1) ࢲ ։ൃऀ
  23. ։ൃऀͱͷձ࿩(2) ͳΔ΄Ͳɻ 
 ͪͳΈʹɺͭ໨ͷςετͷҙਤͬͯ 
 ͳΜͰ͔͢Ͷʁ ίΠϯΛճ͚ͩͰ͸ͳ͘ɺ 
 ճ౤ೖͨ࣌͠ʹ΋ͪΌΜͱಈ͔͘ 


    ֬ೝ͍ͨ͠ͱ͍͏ҙਤͰ͢ɻ Scenario: 1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 2ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ࢲ ։ൃऀ
  24. ։ൃऀͱͷձ࿩(3) ͳΔ΄Ͳʔɻ 
 ͦͨ͠ΒʰճͷίΠϯ౤ೖʱͱ 
 ॻ͍͍ͯ·͕͢ɺ 
 ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ ճ໨͸ճ໨ͱಉ͘͡ɺ 


    Ճࢉ͞Ε͍ͯ͘࢓૊ΈͳͷͰɺ 
 ϩδοΫ্͸େৎ෉Ͱ͢ɻ Scenario: 1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 2ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ࢲ ։ൃऀ
  25. ։ൃऀͱͷձ࿩(4) ͱ͍͏͜ͱ͸ɺؾʹ͍ͯ͠Δͷ͸ 
 ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ͋ʔɺ͔֬ʹͦ͏Ͱ͢Ͷɻ 
 ʢςετγφϦΦΛฤू͢Δʣ Scenario:

    1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 2ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ࢲ ։ൃऀ
  26. ։ൃऀͱͷձ࿩(4) ͱ͍͏͜ͱ͸ɺؾʹ͍ͯ͠Δͷ͸ 
 ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ͋ʔɺ͔֬ʹͦ͏Ͱ͢Ͷɻ 
 ʢςετγφϦΦΛฤू͢Δʣ Scenario:

    1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ෳ਺ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ࢲ ։ൃऀ
  27. ςετΤϯδχΞ͸ 
 ࢦఠࣄ߲ΛͲͷΑ͏ʹ఻͑Δ͔ • ࢦఠࣄ߲Λݴ͍੾ΓͷܗͰ఻͑ͳ͍ɻ • ίʔυͷओମ͸։ൃऀ • ఏҊ͸ͭͭ͠΋։ൃऀʹ൑அΛ೚ͤΔ •

    ࢦఠࣄ߲͸༏ઌ౓Λ͚ͭͯ࿩͢ͷͰ͸ͳ͘ɺ 
 ൃݴ࣌ʹڧऑΛ͚ͭͯ࿩͢ɻ
  28. ൃݴͷڧऑͷҧ͍ • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ •

    ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ڧ ऑ ऑ த
  29. ൃݴͷڧऑͷҧ͍ • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ •

    ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ڧ ऑ ऑ த ௚͢΂͖ͳͷ͸ࣗ໌ͱײͨͨ͡Ί
  30. த • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ •

    ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ൃݴͷڧऑͷҧ͍ ڧ ऑ ऑ ։ൃऀͷߟ͑ํΛҾ͖ग़͍ͨͨ͠Ί
  31. ൃݴͷڧऑͷҧ͍ • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ •

    ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ڧ ऑ ऑ த ݸਓతओு͕গ͚ͩ͋͠ΔఏҊ
  32. ൃݴͷڧऑͷҧ͍ • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ 
 ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ •

    ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ 
 ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ ڧ ऑ ऑ த
  33. ձ࿩ͷ݁Ռ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario:

    ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ೖֹۚ֬ೝ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 2ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: 1ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ Then 100ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ෳ਺ճͷίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 100ԁΛೖۚ And 50ԁΛೖۚ Then 150ԁ͕ೖۚ͞Ε͍ͯΔ Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ Given ࣗಈൢചػ͕͋Δ When 1ԁΛೖۚ Then 0ԁ͕ೖۚ͞Ε͍ͯΔ ਺೥ޙɺݟ௚ͨ࣌͠ʹ ςετͷҙਤ͕ΑΓ఻ΘΔͷ͸ͲΕʁ
  34. https://speakerdeck.com/twada/jasst-18-kansai-from-tdd-to-qa?slide=20

  35. ऴΘΓʹ

  36. ࠓ೔ͷ໨తʢ࠶ܝʣ • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔ 
 ஌ͬͯ΋Β͏ • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸ 
 ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔ 


    ஌ͬͯ΋Β͏
  37. ࠓ೔ͷ໨తʢ࠶ܝʣ • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔ 
 ஌ͬͯ΋Β͏ • ίϥϘͷ࢓ํ͸4ύλʔϯʹ෼͔ΕΔ • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸ 


    ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔ 
 ஌ͬͯ΋Β͏ • ͲͷΑ͏ʹ࣭໰ͯ͠ਂ۷Γ͍ͯ͠Δ͔఻͑ͨ
  38. ࢀߟจݙ • ςετΤϯδχΞ͸ͲͷΑ͏ͳࢥߟͰ 
 ϖΞϓϩɾϞϒϓϩʹࢀՃ͍ͯ͠Δͷ͔ #WACATE • ςετΤϯδχΞͷ؍఺Λ࣋ͬͯςετॻ͍͍ͯͧ͘ͳ࿩