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

E2E自動テストの前に 手動テストを効率化するための自動化を行った話/stac2020

A6005d14224831116d088d2240df1990?s=47 yoshitake_1201
December 05, 2020

E2E自動テストの前に 手動テストを効率化するための自動化を行った話/stac2020

2020/12/05に行われたソフトウェアテスト自動化カンファレンス2020で使用したスライドです。
講演後変更予定。
https://testautomationresearch.connpass.com/event/191996/

A6005d14224831116d088d2240df1990?s=128

yoshitake_1201

December 05, 2020
Tweet

Transcript

  1. &&ࣗಈςετͷલʹ खಈςετΛޮ཰Խ͢ΔͨΊͷࣗಈԽΛߦͬͨ࿩ !ZPTIJUBLF@

  2. ࣗݾ঺հ ✦ ໊લ ٢෢৳ହ Α͚ͨ͠ͷͿͻΖ  ✦ *% 5XJUUFS!ZPTIJUBLF@ ✦

    8PSLBU גࣜձࣾ'VTJD ϑϡʔδοΫ  ٕज़։ൃຊ෦ٕज़։ൃਪਐ෦໳ ɹςελʔ ✦ ࣾ֎׆ಈ ςετϥδΦग़ԋத !IJSPZVLJHPV 2
  3. ✦εΫγϣπΠʔτ0,Ͱ͢ ✦ࢿྉ͸ޙ೔ެ։͠·͢ ✦ಈը഑৴͸͋Γ·ͤΜ ✦࣭໰͸$IBU"TLUIF4QFBLFSͰ͓଴ͪͯ͠·͢ ✦ײ૝ͳͲEJTDPSEͰ൓Ԡ͍͚ͨͩΔͱخ͍͠Ͱ͢ ൃදʹࡍͯ͠ 3

  4. ͜ͷൃදΛҰݴͰ͍͏ͱ

  5. #PPLNBSLMFU࡞ͬͯ ࣗಈొ࿥Ͱ͖ΔΑ͏ʹͨ͠Α

  6. എܠઆ໌

  7. ✦8FCܥͷ։ൃձࣾ ɾࣗࣾαʔϏεͱडୗ։ൃΛ΍͍ͬͯΔ ɾݱࡏ໊ॴଐ ಺ΤϯδχΞ໊ ಺ςελʔ໊  ✦ςελʔͷ໾ׂςετ ɾγεςϜΛ࣮ࡍʹ͞Θͬͯςετ͢Δ ɾςετର৅ͷϓϩάϥϛϯά͸͠ͳ͍ 'VTJD

    7
  8. ✦ ্ޱ ݱ࣮త ✦ TBF ݱ࣮త , ✦ Α͚ͨ͠ ເ૝త

    νʔϜϝϯόʔ 8
  9. ςετνʔϜͱςετର৅ 9 ϓϩδΣΫτᶆ ϓϩδΣΫτᶅ ϓϩδΣΫτᶄ ϓϩδΣΫτᶃ

  10. ࠔΓ͝ͱ ࠓ೥݄࣌఺

  11. ᶃ ϢχοτςετϨϕϧͷόά͕ଟ͘ͰΔ΋ͷ΋͋Δ ᶄ σάϨ σάϨʔυΤϯόά ͕ා͍ ɾͨ·ͨ·͜ͷ࣌ා͍σάϨʹૺ۰ ᶅ ෳ਺ͷखॱ͕ඞཁͳςετͷ࣌ɺͦͷ్தͰόάΛҾ͘ ɾྫ͑͹ϖʔδωʔγϣϯͷ֬ೝΛ͍ͨ࣌͠ɺ

    ɹσʔλͷొ࿥ը໘Ͱ৽͘͠όάΛҾ͘ ࠔΓ͝ͱ ݄࣌఺ 11
  12. ᶃ ϢχοτςετϨϕϧͷόά͕ଟ͘ͰΔ΋ͷ΋͋Δ ˠΤϯδχΞ૬ஊࣗಈςετ࡞Δ ᶄ σάϨ σάϨʔυΤϯόά ͕ා͍ ˠࣗಈςετ࡞Δ ᶅ ෳ਺ͷखॱ͕ඞཁͳςετͷ࣌ɺͦͷ్தͰόάΛҾ͘

    ˠΤϯδχΞ૬ஊࣗಈొ࿥πʔϧ࡞Δ ରࡦݕ౼ ݄࣌఺ 12
  13. ✦ ্ޱ ݱ࣮త ✦ TBF ݱ࣮త , ✦ Α͚ͨ͠ ເ૝త

    νʔϜϝϯόʔ 13
  14. , ݕ౼தͷҰນ 14 ࣗಈςετʂ

  15. , ݕ౼தͷҰນ 15 ࣗಈςετʂ ϗϯτʹͰ͖Δʁ ϗϯτʹͰ͖Δʁ

  16. , ݕ౼தͷҰນ 16 ͝ΊΜͳ͍͞ʂ ϗϯτʹͰ͖Δʁ ϗϯτʹͰ͖Δʁ

  17. ✦νʔϜͷεΩϧηοτ ɹˠਓͱ΋ϓϩάϥϜ͸ॻ͍ͨ͜ͱ͸͋Δ όϦόϦ͸ॻ͚ͳ͍  ✦νʔϜͷϦιʔε ɹˠఆৗۀ຿͸ͳ͘ͳΒͳ͍ ɹˠখ͞ͳ࣌ؒͰޮՌ͕ظ଴Ͱ͖Δ΋ͷ͕΄͍͠ ✦ΤϯδχΞ૬ஊ ɹˠղܾͰ͖Δ͔Θ͔Βͳ͍ ɹˠࣗ෼ͨͪ͝ͱͱͯ͠ରࡦ͓͖͍ͯͨ͠

    ؾʹͨ͠఺ 17
  18. ᶃ ϢχοτςετϨϕϧͷόά͕ଟ͘ͰΔ΋ͷ΋͋Δ ˠΤϯδχΞ૬ஊࣗಈςετ࡞Δ ᶄ σάϨ σάϨʔυΤϯόά ͕ා͍ ˠࣗಈςετ࡞Δ ᶅ ෳ਺ͷखॱ͕ඞཁͳςετͷ࣌ɺͦͷ్தͰόάΛҾ͘

    ˠΤϯδχΞ૬ஊࣗಈొ࿥πʔϧ࡞Δ ରࡦݕ౼ ݄࣌఺ 18
  19. ࣗಈొ࿥πʔϧΛ࡞Δ

  20. ✦ෳ਺ͷखॱ͕ඞཁͳςετͷ࣌ɺͦͷ్தͰόάΛҾ͘ ɾྫ͑͹ϖʔδωʔγϣϯͷ֬ೝΛ͍ͨ࣌͠ɺ ɹσʔλͷొ࿥ը໘Ͱ৽͘͠όάΛҾ͘ ɾొ࿥ը໘ͷςετ͸΍ͬͯΔલఏ ɾόά͕ݟ͔ͭΓخ͍͠ɻͦͷ೔ͷλεΫ͸ਐΜͰͳ͍ ɾ୯७ʹొ࿥ʹྗΛ࢖ͬͯർΕΔ ✦ͦΕΒ͍͠σʔλΛࣗಈͰొ࿥Ͱ͖ͨΒ޾ͤʂ ରԠ͢ΔࠔΓ͝ͱ 20

  21. ✦Ϣʔβʔ͕΢Σϒϒϥ΢βͷϒοΫϚʔΫͳͲ͔Βىಈ ͠ɺͳΜΒ͔ͷॲཧΛߦ͏؆қతͳϓϩάϥϜͷ͜ͱ 8JLJQFEJBΑΓҾ༻ ✦Α͚ͨ͠΋࡞ͬͨܦݧ͕͋Δ ۀ຿Ͱ࢖͍ͬͯΔ΋ͷ΋͋Δ #PPLNBSLMFU 21 ϒοΫϚʔΫϨοτ 8JLJQFEJB IUUQTKBXJLJQFEJBPSHXJLJϒοΫϚʔΫϨοτ

  22. ✦ͦ΋ͦ΋γʔυσʔλ΍ͬͯΔϓϩδΣΫτ΋શવ͋Δ ✦࡞ΔલఏͰϓϩδΣΫτ͕ਐߦͯ͠ͳ͍ͱ λεΫ͕૿͑Δ͜ͱʹͳΔ ✦෺ʹΑͬͯ͸࡞Γʹ͍͘ ✦γʔυσʔλ͕όάͬͨͱ͖ʹରԠʹ͕࣌ؒऔΒΕΔ ✦มߋ͍ͨ͠ͱ͖ґཔ͕͠ʹ͍͘ͱ͖ࠔΔ ଞͷબ୒ࢶγʔυσʔλΛ༻ҙ͢Δ 22

  23. ✦d݄ͱΓ͍͔͋͑ͣͭ͘ͷϓϩδΣΫτͰ࡞ͬͨ ✦d݄ςϯϓϨʔτԽͨ͠ͷͰͦΕΛӡ༻͢Δ ✦݄dςετσʔλΛॻ͘ͷ͕ΊΜͲ͘͘͞ͳͬͨ ✦ݱࡏྑ͍ײ͡ͷπʔϧʹͳͬͯΔ औΓ૊Μͩ݁Ռ 23

  24. 24

  25. ✦ొ࿥ϖʔδͷ*%Λௐ΂ɺ۪௚ʹίʔυΛॻ͍ͨ d݄ͱΓ͍͔͋͑ͣͭ͘ͷϓϩδΣΫτͰ࡞ͬͨ 25

  26. ✦ೖྗ͢ΔσʔλΛฤू͢Δ෦෼ͱొ࿥෦෼Λ෼͚ͨ ˠฤू͢Δ৔ॴ͕গͳ͘ͳΔ ✦ςελʔ͝ͱʹσϑΥϧτͷσʔλΛ༻ҙͨ͠ ˠڞ༗ͨ࣌͠มߋ͢Δ෦෼Λগͳ͔ͨͬͨ͘͠ ✦ͦͷଞؔ਺Λ௥Ճͨ͠Γͨ͠ ˠϝʔϧΞυϨε΍ϩάΠϯ*%ͷॏෳόϦσʔγϣϯʹରԠ d݄ςϯϓϨʔτԽͨ͠ͷͰͦΕΛӡ༻͢Δ 26

  27. ✦ೖྗ͢ΔσʔλΛฤू͢Δ෦෼ͱొ࿥෦෼Λ෼͚ͨ d݄ςϯϓϨʔτԽͨ͠ͷͰͦΕΛӡ༻͢Δ 27

  28. ✦*%ΛίϯιʔϧʹදࣔίʔυΛฤूͯͨ͠ ˞ΊΜͲ͍͕͘͞ൃੜͨ࣌͠ܥྻ ᶃ*%ΛखͰฤू͢Δ ɹˠίʔυͷܗࣜͰग़ྗ͢ΔΑ͏ʹͨ͠ ᶄςετσʔλΛશ෦ʹॻ͘ ɹˠςετσʔλΛηοτ͢ΔΑ͏ʹͨ͠ ᶅίʔυΛ෦෼తʹίϐʔ͢Δ ɹˠίʔυશ෦ग़ྗͨ͠Β͍͍͡ΌΜ ᶆίʔυΛΧελϚΠζ͢Δ ɹˠͲͷαΠτͰ΋൚༻తʹ࢖͑Δͷ͕͋Ε͹͍͍͡ΌΜʂ

    ݄dςετσʔλΛॻ͘ͷ͕ΊΜͲ͘͘͞ͳͬͨ 28
  29. ✦*%ΛίϯιʔϧʹදࣔίʔυΛฤूͯͨ͠ ˞ΊΜͲ͍͕͘͞ൃੜͨ࣌͠ܥྻ ᶃ*%ΛखͰฤू͢Δ ɹˠίʔυͷܗࣜͰग़ྗ͢ΔΑ͏ʹͨ͠ ᶄςετσʔλΛશ෦ʹॻ͘ ɹˠςετσʔλΛηοτ͢ΔΑ͏ʹͨ͠ ᶅίʔυΛ෦෼తʹίϐʔ͢Δ ɹˠίʔυશ෦ग़ྗͨ͠Β͍͍͡ΌΜ ᶆίʔυΛΧελϚΠζ͢Δ ɹˠͲͷαΠτͰ΋൚༻తʹ࢖͑Δͷ͕͋Ε͹͍͍͡ΌΜʂ

    ݄dςετσʔλΛॻ͘ͷ͕ΊΜͲ͘͘͞ͳͬͨ 29
  30. ✦ͲͷϖʔδͰ΋ͦΕΒ͍͠σʔλΛొ࿥͠Α͏ͱ͢Δ ✦ΧελϚΠζ͍ͨ࣌͠Τϥʔʹͳͬͨ࣌ ˠίϯιʔϧʹग़ྗ͞Ε͍ͯΔͷΛίϐϖฤू ✦ࠓޙ΋ରԠͨ͠΄͏͕Αͦ͞͏ͳ*%ͷ৔߹ ˠςϯϓϨΛߋ৽ ݱࡏ 30

  31. ᶃ ϢχοτςετϨϕϧͷόά͕ଟ͘ͰΔ΋ͷ΋͋Δ ˠΤϯδχΞ૬ஊࣗಈςετ࡞ΔͰରԠத ᶄ σάϨ σάϨʔυΤϯόά ͕ා͍ ˠࣗಈςετ࡞Δςετͷׂ࣌ؒ खಈ ͰରԠத

    ᶅ ෳ਺ͷखॱ͕ඞཁͳςετͷ࣌ɺͦͷ్தͰόάΛҾ͘ ˠղܾ ଞͷࠔΓ͝ͱ 31
  32. ✦#PPLNBSLMFUͰखಈςετΛޮ཰Խ͢ΔΞϓϩʔν ✦&&Λબ͹ͳ͔ͬͨཧ༝ ˠνʔϜͷঢ়گతʹ೉͔ͬͨ͠ ˠνʔϜঢ়گʹ߹ΘͤͨऔΓ૊ΈΛબ୒ͨ͠ ✦ίϝϯτ࣭໰ͳͲ͋Γ·ͨ͠ΒEJTPDSEͰ͓ئ͍͠·͢ ·ͱΊ 32

  33. ✦ଈ࣌ؔ਺Ͱ࣮ߦ͢Δ ɾίϯιʔϧ࣮ߦͰ͸໰୊ͳ͍͚Ͳʜ ✦ίϝϯτΞ΢τ͸Ͱ͸ͳ͘ Ͱʂ ✦NJOJGZ͠ͳͯ͘΋ొ࿥Ͱ͖Δ ίϯιʔϧ࣮ߦͰ͖Δ ✦JGSBNFͷૢ࡞΋ίϯιʔϧ࣮ߦ࣌Ͱ͸ಈ࡞͕มΘΔ #PPLNBSLMFU5JQT 33