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

How to improve maintainability and readability ...

How to improve maintainability and readability of your automated tests? ( #scrumniigata )

ScrumFestNiigata2024での「保守性や可読性の向上に向けた、シナリオベースのWEBサービスの自動テストシナリオのライブリファクタリング」における講演資料です。

講演プロポーザルは以下のものです
https://confengine.com/conferences/scrum-fest-niigata-2024/proposal/19654/web

Avatar for teyamagu

teyamagu

May 02, 2024
Tweet

More Decks by teyamagu

Other Decks in Programming

Transcript

  1. ࣗݾ঺հ ▸ גࣜձࣾLayerX ݉ ݸਓࣄۀओ ▸ ΞδϟΠϧ։ൃ͓Αͼͦͷதͷ඼࣭ΛςʔϚʹۀ຿Λ͓͜ͳ͍ͬͯΔ ϓϩάϥϚʔɺίϯαϧλϯτɺίʔνɺςελʔͰ͢ ▸ LayerXͰ͸ɺϓϩμΫτνʔϜͷςελʔΛ୲͍ͭͭɺࣄۀ෦શମͷ

    ࣗಈςετ؀ڥ΍඼࣭ՄࢹԽͷߏஙɾ੔උΛ͓͜ͳ͍ͬͯ·͢ ▸ աڈɺϠϑʔͰશࣾ΁ͷࣗಈςετͷීٴɺfreeeͰࣗಈςετ؀ڥͷߏங΍ҡ࣋Λ͓͜ͳ͖ͬͯ·ͨ͠ ▸ ݸਓࣄۀओͱͯ͠ɺࣗಈςετ΍ΞδϟΠϧ։ൃʹؔ͢ΔίϯαϧςΟϯάΛఏڙ͍ͯ͠·͢ ▸ ʰιϑτ΢ΣΞςετΛΧΠθϯ͢Δ50ͷΞΠσΞʱͱ͍͏຋༁ॻΛग़൛͍ͯ͠·͢
  2. Մಡੑ͕ߴ͍ࣗಈςετγφϦΦͱ͸ ▸ ద੾ʹදݱ͕ந৅Խ͞Ε͍ͯΔ ▸ ςετઃܭ΍νʔϜ಺Ͱͷٞ࿦ͷࡍʹग़ͯ͘Δݴ༿Λར༻͢Δ ▸ γφϦΦͷҙຯΛ༰қʹཧղͰ͖ΔΑ͏ʹͳΔͱͱ΋ʹɺγφϦΦͷهड़͕γϯϓϧʹͳΔ ▸ લॲཧͱ֬ೝ͍ͨ͠खॱ͕෼཭ͯ͠هड़͞Ε͍ͯΔ ▸

    දݱ͍ͯ͠Δޠ۟ʢૢ࡞΍໋໊ͳͲʣ͕ἧͬͯهड़͞Ε͍ͯΔ ▸ ςετͱͯ͠ͷखॱʹෆ໌ͳ΋ͷ͕ଘࡏ͠ͳ͍ ▸ ෆཁͳίʔυ͕ଘࡏ͠ͳ͍ อकੑ΍Մಡੑͷ޲্ʹ޲͚ͨɺγφϦΦϕʔεͷWEBαʔϏεͷࣗಈςετγφϦΦͷϥΠϒϦϑΝΫλϦϯά @ScrumFestNiigata2024
  3. อकੑ͕ߴ͍ࣗಈςετγφϦΦͱ͸ ▸ มߋ఺͕·ͱ·͍ͬͯΔ ▸ WEBαʔϏεʹ͓͍ͯɺϒϥ΢β͔Β೺ѲͰ͖ΔൣғͰ͸ɺҎԼͷมߋ͕ଟ͘ൃੜ͢Δɻ͜Εʹ߹Θͤͯมߋ఺͕· ͱ·͍ͬͯΔ͜ͱ͕๬·͍͠ ▸ ը໘σβΠϯͷมߋ ▸ ہॴతͳૢ࡞खॱͷมߋ

    ▸ Ұ࿈ͷૢ࡞खॱͷมߋ ▸ ςετͦͷ΋ͷ΍ఆٛɺॲཧͷҙਤ͕໌֬ ▸ มߋ͕ى͖ͨͱ͖ʹɺมߋʹ߹ΘͤͯԿΛมߋͯ͠ྑ͍͔൱͔ͷ೺Ѳ͕༰қͱͳΔ ▸ ෆཁͳίʔυ͕ଘࡏ͠ͳ͍ ▸ Մಡੑ͕ߴ͍ อकੑ΍Մಡੑͷ޲্ʹ޲͚ͨɺγφϦΦϕʔεͷWEBαʔϏεͷࣗಈςετγφϦΦͷϥΠϒϦϑΝΫλϦϯά @ScrumFestNiigata2024
  4. ࣗಈςετγφϦΦͷอकੑ΍ՄಡੑΛߴΊ͍ͯͨ͘Ίʹʢ·ͱΊʣ ▸ ςετର৅ͷมߋʹ͋Θͤͨมߋ఺Λ·ͱΊΔͨΊʹϖʔδΦ ϒδΣΫτύλʔϯΛద༻͢Δ ▸ ը໘σβΠϯͷมߋˠཁૉఆٛͰہॴԽ͢Δ ▸ ہॴతͳૢ࡞खॱͷมߋˠϖʔδ͓Αͼ൚Խͨ͠ϝιου ఆٛͰہॴԽ͢Δ ▸

    Ұ࿈ͷૢ࡞खॱͷมߋˠγφϦΦϑΝΠϧͰہॴԽ͢Δ ▸ ֬ೝ͍ͨ͜͠ͱʹରͯ͠աෆ଍ͷͳ͍ςετγφϦΦʹ͢Δ ▸ աෆ଍͕͋Δͱɺͦ͜ʹର͢Δٙ໰ʹΑΓՄಡੑ΍อकੑ ͷ௿Լ͢Δ ▸ beforeϒϩοΫͳͲΛར༻͠ɺલॲཧͱ֬ೝ͍ͨ͠खॱ͕෼཭ ͯ͠هड़͢Δ ▸ લॲཧ΍લఏঢ়ଶͷߏங͸ɺΑΓ҆ఆͯ͠ߴ଎ʹ͓͜ͳ͑ Δํ๏͕͋Ε͹ஔ͖׵͑Δ ▸ ޠ۟ʢૢ࡞΍໋໊ͳͲʣΛἧ͑Δ ▸ ϖʔδͰͷϝιουఆٛͳͲΛར༻ͯ͠ɺςετର৅υϝ ΠϯͰ࢖ΘΕΔݴ༿ʹந৅Խ͢Δ ▸ ςετίʔυ্ͷཁૉ΍ϝιουͲͷ໊শΛἧ͑Δ ▸ ςετ໊শ΍ςετϑΝΠϧͷ্෦ͳͲͰɺςετͷҙਤΛ໌ ֬ʹهड़͢Δ ▸ ͳͥͦͷॲཧΛߦ͏ͷ͔ෆ໌ͳखॱʹίϝϯτΛ෇͚Δ ▸ ࢖͏෼͚࣮ͩ૷͢Δ อकੑ΍Մಡੑͷ޲্ʹ޲͚ͨɺγφϦΦϕʔεͷWEBαʔϏεͷࣗಈςετγφϦΦͷϥΠϒϦϑΝΫλϦϯά @ScrumFestNiigata2024
  5. ϥΠϒϦϑΝΫλϦϯά ▸ ࠓճͷ͓୊ ▸ ༧໿αʔϏεʹ͓͚ΔʮϓϨϛΞϜձһͰϩάΠϯͯ͠ɺϓϨϛΞϜϓϥϯΛ ༧໿Ͱ͖Δ͜ͱʯͷςετγφϦΦΛϦϑΝΫλϦϯά͢Δ ▸ ςετର৅ͷ༧໿αʔϏεͱͯ͠ɺ https://hotel.testplanisphere.dev/ja/ Λར༻͍͖ͤͯͨͩ͞·͠

    ͨɻ͋Γ͕ͱ͏͍͟͝·͢ʂ ▸ ॳظςετγφϦΦ͸playwrightͷϨίʔσΟϯάػೳͰه࿥ͨ͠΋ͷͱ͠· ͢ อकੑ΍Մಡੑͷ޲্ʹ޲͚ͨɺγφϦΦϕʔεͷWEBαʔϏεͷࣗಈςετγφϦΦͷϥΠϒϦϑΝΫλϦϯά @ScrumFestNiigata2024