$30 off During Our Annual Pro Sale. View Details »

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ͷํ๏
    ϒϩοίϦʔ

    View Slide

  2. Agenda
    • Agile։ൃͱQAͷؔΘΓํ


    • Ϟϒϓϩͷ୊ࡐͱਐΊํ


    • ࢲͷࢦఠ఺


    • ͓ΘΓʹ

    View Slide

  3. ࠓ೔ͷ໨త
    • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔

    ஌ͬͯ΋Β͏


    • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸

    ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔

    ஌ͬͯ΋Β͏

    View Slide

  4. Agile։ൃͱ

    QAͷؔΘΓํ

    View Slide

  5. QAͷؔΘΓํͦͷ1
    • εϓϦϯτ಺͸։ൃͷΈ


    • ਺εϓϦϯτͷޙɺςετظؒΛઃ͚ͯ

    QA͕ςετΛ࣮ࢪ͢Δ
    4QSJOU 4QSJOU 4QSJOU
    ։ൃ
    QA 2"5FTU

    View Slide

  6. QAͷؔΘΓํͦͷ2
    • εϓϦϯτ಺͸։ൃͷΈ


    • ࣍εϓϦϯτͷظؒதʹɺ

    QA͕લεϓϦϯτͷςετΛ࣮ࢪ͢Δ
    4QSJOU 4QSJOU 4QSJOU
    ։ൃ
    QA 4QSJOU
    5FTU
    4QSJOU
    5FTU
    4QSJOU
    5FTU
    4QSJOU

    View Slide

  7. QAͷؔΘΓํͦͷ3
    • εϓϦϯτ಺͸։ൃͱQA͕ೖΔ


    • εϓϦϯτͷޙ൒ʹQA͕ςετΛ࣮ࢪ͢Δ
    4QSJOU 4QSJOU 4QSJOU
    ։ൃ
    QA 5FTU 5FTU 5FTU
    4QSJOU
    5FTU

    View Slide

  8. QAͷؔΘΓํͦͷ4
    • εϓϦϯτ಺͸։ൃͱQA͕ೖΔ


    • εϓϦϯτͷ࠷ॳ͔ΒQA͕ೖ͍ͬͯΔ


    • ϞϒϓϩࢀՃऀͷҰһͱͯ͠ೖΔ
    4QSJOU 4QSJOU 4QSJOU
    ։ൃ
    QA 5FTU 5FTU 5FTU
    4QSJOU
    5FTU

    View Slide

  9. Ϟϒϓϩͷ୊ࡐͱਐΊํ

    View Slide

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

    View Slide

  11. Ϟϒϓϩͷ୊ࡐͳͲ
    • ୊ࡐ͸ࣗಈൢചػ


    • Cucumber+JUnit


    • PO໾ͬΆ͍͜ͱΛࢲ͕࣮ࢪ


    • ࢀՃऀ͸΄ͱΜͲ͕Ϟϒϓϩະܦݧ


    • 1ਓ͚ͩϞϒϓϩܦݧ͋Γ

    View Slide

  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
    ;

    }

    }

    View Slide

  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ʮ͓ۚΛԁೖΕͨޙʹɺԁΛೖΕͨΒɺ

    ͪΌΜͱԁʹͳΔΑ͏ʹͯ͠΄͍͠ͳʯ

    View Slide

  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
    ;

    }

    }

    View Slide

  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
    ;

    }

    }

    View Slide

  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ʮ̍ԁߗ՟͸ରԠͨ͘͠ͳ͍ͳʯ

    View Slide

  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
    ;

    }

    }

    View Slide

  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
    ;

    }

    }

    View Slide

  19. ࢲͷࢦఠ఺

    View Slide

  20. ࢲͷࢦఠ఺
    ࢦఠՕॴͷղઆ͚ͩͰͳ͘ɺ

    ͲͷΑ͏ͳձ࿩Ͱ಺༰Λվળ͍ͯͬͨ͠ͷ͔

    ঺հ͢Δɻ

    View Slide

  21. ։ൃऀͱͷձ࿩(1)
    Scenario: ೖֹۚ֬ೝ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ೖֹۚ֬ೝ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ೖֹۚ֬ೝ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ
    ͢΂ͯγφϦΦ໊͕

    ʰೖֹۚ֬ೝʱʹͳͬͯ·͢ΑͶɻ

    ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ
    ͳΔ΄Ͳɻ

    ͦͨ͠Β͜Μͳײ͡Ͱ͔͢Ͷɻ

    ʢςετγφϦΦΛฤू͢Δʣ

    ։ൃऀ

    View Slide

  22. Scenario: 1ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: 2ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ
    ͢΂ͯγφϦΦ໊͕

    ʰೖֹۚ֬ೝʱʹͳͬͯ·͢ΑͶɻ

    ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ
    ͳΔ΄Ͳɻ

    ͦͨ͠Β͜Μͳײ͡Ͱ͔͢Ͷɻ

    ʢςετγφϦΦΛฤू͢Δʣ
    ։ൃऀͱͷձ࿩(1)

    ։ൃऀ

    View Slide

  23. ։ൃऀͱͷձ࿩(2)
    ͳΔ΄Ͳɻ

    ͪͳΈʹɺͭ໨ͷςετͷҙਤͬͯ

    ͳΜͰ͔͢Ͷʁ
    ίΠϯΛճ͚ͩͰ͸ͳ͘ɺ

    ճ౤ೖͨ࣌͠ʹ΋ͪΌΜͱಈ͔͘

    ֬ೝ͍ͨ͠ͱ͍͏ҙਤͰ͢ɻ
    Scenario: 1ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: 2ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ

    ։ൃऀ

    View Slide

  24. ։ൃऀͱͷձ࿩(3)
    ͳΔ΄Ͳʔɻ

    ͦͨ͠ΒʰճͷίΠϯ౤ೖʱͱ

    ॻ͍͍ͯ·͕͢ɺ

    ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ
    ճ໨͸ճ໨ͱಉ͘͡ɺ

    Ճࢉ͞Ε͍ͯ͘࢓૊ΈͳͷͰɺ

    ϩδοΫ্͸େৎ෉Ͱ͢ɻ
    Scenario: 1ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: 2ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ

    ։ൃऀ

    View Slide

  25. ։ൃऀͱͷձ࿩(4)
    ͱ͍͏͜ͱ͸ɺؾʹ͍ͯ͠Δͷ͸

    ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ͋ʔɺ͔֬ʹͦ͏Ͱ͢Ͷɻ

    ʢςετγφϦΦΛฤू͢Δʣ
    Scenario: 1ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: 2ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ

    ։ൃऀ

    View Slide

  26. ։ൃऀͱͷձ࿩(4)
    ͱ͍͏͜ͱ͸ɺؾʹ͍ͯ͠Δͷ͸

    ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ͋ʔɺ͔֬ʹͦ͏Ͱ͢Ͷɻ

    ʢςετγφϦΦΛฤू͢Δʣ
    Scenario: 1ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    Then 100ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ෳ਺ճͷίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 100ԁΛೖۚ
    And 50ԁΛೖۚ
    Then 150ԁ͕ೖۚ͞Ε͍ͯΔ
    Scenario: ࢖͍ͨ͘ͳ͍ίΠϯ౤ೖ
    Given ࣗಈൢചػ͕͋Δ
    When 1ԁΛೖۚ
    Then 0ԁ͕ೖۚ͞Ε͍ͯΔ

    ։ൃऀ

    View Slide

  27. ςετΤϯδχΞ͸

    ࢦఠࣄ߲ΛͲͷΑ͏ʹ఻͑Δ͔
    • ࢦఠࣄ߲Λݴ͍੾ΓͷܗͰ఻͑ͳ͍ɻ


    • ίʔυͷओମ͸։ൃऀ


    • ఏҊ͸ͭͭ͠΋։ൃऀʹ൑அΛ೚ͤΔ


    • ࢦఠࣄ߲͸༏ઌ౓Λ͚ͭͯ࿩͢ͷͰ͸ͳ͘ɺ

    ൃݴ࣌ʹڧऑΛ͚ͭͯ࿩͢ɻ

    View Slide

  28. ൃݴͷڧऑͷҧ͍
    • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ


    • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ


    • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ


    • ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ڧ



    View Slide

  29. ൃݴͷڧऑͷҧ͍
    • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ


    • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ


    • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ


    • ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ڧ



    ௚͢΂͖ͳͷ͸ࣗ໌ͱײͨͨ͡Ί

    View Slide


  30. • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ


    • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ


    • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ


    • ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ൃݴͷڧऑͷҧ͍
    ڧ


    ։ൃऀͷߟ͑ํΛҾ͖ग़͍ͨͨ͠Ί

    View Slide

  31. ൃݴͷڧऑͷҧ͍
    • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ


    • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ


    • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ


    • ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ڧ



    ݸਓతओு͕গ͚ͩ͋͠ΔఏҊ

    View Slide

  32. ൃݴͷڧऑͷҧ͍
    • ಉ໊͡લ͸Ͳ͏͔ͱࢥ͏ͷͰ

    ɹม͑ͨ΄͏͕ྑ͍ؾ͕ͯ͠·͢ɻ


    • ςετͷҙਤͬͯͳΜͰ͔͢Ͷʁ


    • 3ճ໨͸Ͳ͏ͳΔͷͰ͠ΐ͏͔ʁ


    • ؾʹ͍ͯ͠Δͷ͸2ճͷίΠϯ౤ೖͰ͸ͳ͘ɺ

    ɹෳ਺ճͷίΠϯ౤ೖͳΜͰ͢Ͷɻ
    ڧ



    View Slide

  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ԁ͕ೖۚ͞Ε͍ͯΔ
    ਺೥ޙɺݟ௚ͨ࣌͠ʹ


    ςετͷҙਤ͕ΑΓ఻ΘΔͷ͸ͲΕʁ

    View Slide

  34. https://speakerdeck.com/twada/jasst-18-kansai-from-tdd-to-qa?slide=20

    View Slide

  35. ऴΘΓʹ

    View Slide

  36. ࠓ೔ͷ໨తʢ࠶ܝʣ
    • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔

    ஌ͬͯ΋Β͏


    • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸

    ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔

    ஌ͬͯ΋Β͏

    View Slide

  37. ࠓ೔ͷ໨తʢ࠶ܝʣ
    • QA͕ͲͷΑ͏ʹ։ൃͱίϥϘͰ͖Δͷ͔

    ஌ͬͯ΋Β͏


    • ίϥϘͷ࢓ํ͸4ύλʔϯʹ෼͔ΕΔ


    • ϞϒϓϩͷதͰࢲʢςετΤϯδχΞʣ͸

    ͲͷΑ͏ͳࢥߟɾձ࿩Λ͍ͯ͠Δͷ͔

    ஌ͬͯ΋Β͏


    • ͲͷΑ͏ʹ࣭໰ͯ͠ਂ۷Γ͍ͯ͠Δ͔఻͑ͨ

    View Slide

  38. ࢀߟจݙ
    • ςετΤϯδχΞ͸ͲͷΑ͏ͳࢥߟͰ

    ϖΞϓϩɾϞϒϓϩʹࢀՃ͍ͯ͠Δͷ͔ #WACATE


    • ςετΤϯδχΞͷ؍఺Λ࣋ͬͯςετॻ͍͍ͯͧ͘ͳ࿩

    View Slide