BDDフレームワークで始める、E2Eテストのススメ

 BDDフレームワークで始める、E2Eテストのススメ

2020年8月27日 MCOpenLabでのLTのスライドです

51ae114c2809ff0d2945c751efa7cffc?s=128

kazuma.murata

August 27, 2020
Tweet

Transcript

  1. BDDϑϨʔϜϫʔΫͰ࢝ΊΔ E2Eςετͷεεϝ ଜాओຏ

  2. ࣗݾ঺հ • ଜాओຏ (ΉΒͬͯ͌) • גࣜձࣾShowcase GigʢγϣʔέʔεɾΪάʣ όοΫΤϯυΤϯδχΞ • ࠷ۙ࢖͍ͬͯΔٕज़:

    Go / PHP / Redis Stream • ڵຯ: ιϑτ΢ΣΞઃܭ / ࣗಈςετ / etc… • ম೑ͱεΠʔπ͕޷͖Ͱ͢
  3. E2Eςετͱ͸

  4. ୯ମςετͱE2Eςετ • ୯ମςετ • ؔ਺΍Ϋϥεͷ୯Ґ • ։ൃऀࢹ఺Ͱͷখ͍͞ςετ • E2Eςετ •

    ΤϯυϢʔβʔ͕ḷΔγφϦΦͷ୯Ґ • ΤϯυϢʔβʔࢹ఺Ͱͷςετ
  5. E2Eςετͷύλʔϯ • ϒϩάαʔϏεͷ৔߹ • (લఏ৚݅) ϢʔβʔA͕λΠτϧͱຊจΛೖྗ͠ɺ (ૢ࡞) ౤ߘϘλϯΛԡ͢ͱɺ (ظ଴͢Δ݁Ռ) هࣄҰཡը໘ʹભҠ͠ɺ

    ౤ߘͨ͠λΠτϧͷهࣄ͕ଘࡏ͢Δ
  6. E2EςετΛ༻ҙ͢Δํ๏ • ςετγφϦΦͱͳΔؔ਺ΛࣗલͰ༻ҙ͢Δ • ʮهࣄొ࿥APIΛୟ͍ͯɺهࣄऔಘAPIΛୟ͍ͯ…ʯͱ͍͏ஞ࣍ॲཧΛࣗલͰ ༻ҙ͢Δ • APIΛୟ͘౷߹؀ڥΛ࢖͏ • Postman

    ͳͲ • BDDπʔϧ / ϑϨʔϜϫʔΫΛ࢖͏
  7. BDDϑϨʔϜϫʔΫͱ͸

  8. BDDϑϨʔϜϫʔΫͱ͸ • BDD = Behavior Driven Development (ৼΔ෣͍ۦಈ։ൃ) • ΤϯυϢʔβʔͷৼΔ෣͍ΛεϖοΫ(ཁٻ)ͱͯࣗ͠વݴޠͰهड़͢Δ

    • εϖοΫͱඥ͍ͮͨςετ͕࣮ߦ͞ΕΔ • ςετέʔε͕ཁٻ࢓༷ͱͳΔ
  9. cucumber • BDDϑϨʔϜϫʔΫͷҰͭ • Given (લఏ৚݅) / When (ߦΘΕΔૢ࡞) /

    Then (ظ଴͢Δ݁Ռ) ͷܗࣜ • cucumberͷܗࣜͰγφϦΦΛॻ͘ → ςετ࣮ߦऀͱͳΔؔ਺ʹ۩ମతͳධՁॲཧΛ࣮૷͢Δ • cucumberͷγφϦΦΛ࣮ߦ͢ΔͨΊͷϥΠϒϥϦ͕ɺ ֤ݴޠͰ༻ҙ͞Ε͍ͯΔ
  10. γφϦΦͱ࣮ߦؔ਺ͷྫ ςετ࣮ߦ ݁Ռग़ྗ

  11. σϞ https://github.com/kmurata08/cucumber-e2e-test-example