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

なぜ人はE2E自動テストの継続に失敗するのか / Why we could not conti...

O3(ozono)
March 26, 2025
1.1k

なぜ人はE2E自動テストの継続に失敗するのか / Why we could not continue the E2E automation testing

JaSST Tokyo 2025での講演スライド

O3(ozono)

March 26, 2025
Tweet

Transcript

  1.  େԂതত 0[POP)JSPBLJ  -*/&'VLVPLBגࣜձࣾೖࣾ  ςετࣗಈԽνʔϜ্ཱͪ͛   -*/&ͱϠϑʔ͕߹ซ

    4&5Λ໊৐Γ࢝ΊΔ -*/&Ϡϑʔגࣜձࣾ 4&5νʔϜ !P[POPIJSPBLJ ˜-:$PSQPSBUJPO
  2. ˜-:$PSQPSBUJPO  ٕज़తͳ՝୊͕ղ͚ͳ͍ Α͘ϋϚΓ͕ٕͪͩͬͨज़తͳ՝୊ ͍ΘΏΔ'MBLZUFTU໰୊΍ɺਓͷखΛհ͢Δೝূɺෳ਺ ͷ୺຤ૢ࡞͕ඞཁͳෳࡶͳςετγφϦΦ΁ͷରԠͳͲ ˣ &&ςετϓϥοτϑΥʔϜɺαʔϏεͷਐԽɺ4NBSU XBJU΍ϨϙʔςΟϯάπʔϧͳͲͷॆ࣮ େྔͷ୺຤ɾԾ૝ϒϥ΢βɾγϛϡ

    Ϩʔλʔͷӡ༻ɺ$*؀ڥͷ੔උͳͲ ˣ %FWJDFGBSNJOHͷ֦ॆɺ &NVMBUPS4JNVMBUPSͷਐԽɺ "84ɺ($1ͳͲͷΫϥ΢υαʔϏ εͷॆ࣮ ϨΠΞ΢τ่Εͷݕ஌ɺVTBCJMJUZɺ BDDFTTJCJMJUZʹؔ͢Δςετ ˣ ੜ੒"*ʹΑΔݕ஌ɺͦ΋ͦ΋&&ςε τͰͦ͜ؤுΒͳͯ͘΋ྑ͘ͳ͍ʁͱ ͍͏ೝ஌ͷ޿·Γ
  3. ˜-:$PSQPSBUJPO  ٕज़తͳ՝୊͕ղ͚ͳ͍ Α͘ϋϚΓ͕ͪʮͩͬͨʯٕज़తͳ՝୊ ͍ΘΏΔ'MBLZUFTU໰୊΍ɺਓͷखΛհ͢Δೝূɺෳ਺ ͷ୺຤ૢ࡞͕ඞཁͳෳࡶͳςετγφϦΦ΁ͷରԠͳͲ ˣ &&ςετϓϥοτϑΥʔϜɺαʔϏεͷਐԽɺ4NBSU XBJU΍ϨϙʔςΟϯάπʔϧͳͲͷॆ࣮ େྔͷ୺຤ɾԾ૝ϒϥ΢βɾγϛϡ

    Ϩʔλʔͷӡ༻ɺ$*؀ڥͷ੔උͳͲ ˣ %FWJDFGBSNJOHͷ֦ॆɺ &NVMBUPS4JNVMBUPSͷਐԽɺ "84ɺ($1ͳͲͷΫϥ΢υαʔϏ εͷॆ࣮ ϨΠΞ΢τ่Εͷݕ஌ɺVTBCJMJUZɺ BDDFTTJCJMJUZʹؔ͢Δςετ ˣ ੜ੒"*ʹΑΔݕ஌ɺͦ΋ͦ΋&&ςε τͰͦ͜ؤுΒͳͯ͘΋ྑ͘ͳ͍ʁͱ ͍͏ೝ஌ͷ޿·Γ
  4. ˜-:$PSQPSBUJPO  ໨ࢦ͢ํ޲ͱखஈ͕Ϛον͍ͯ͠ͳ͍ ͋ΔϓϩδΣΫτͷྫ Ұճ࣮ߦ͋ͨΓͷਓతͳίετͱ࣌ؒతίετ͸͔֬ʹ࡟ݮͰ͖Δ͔΋͠Εͳ͍ɻ͕ɺ ࣌ؒ िؒ 3FMFBTF &&UFTU 1MBOOJOH

    %FWFMPQNFOU %FQMPZUPTUH .BOVBMUFTU &&ςετͷ࣮૷ίετɾϝϯςφϯείετ ݁ہ͜Ε΋ਓతίετ ͕େ͖͔͔͘ΔՄೳੑ͕͋Δɻ Ծʹ࣮ߦʹ͔͔͍࣌ؒͬͯͨͷ͕࣌ؒʹͳͬͨͱͯ͠΋ɺिؒͱ͍͏αΠΫϧͰݟͨ৔߹ͷ࣌ؒతίετ͸ରͯ͠࡟ݮͰ͖͍ͯͳ͍ *NQMFNFOU&&UFTU .BJOUBJO&&UFTU
  5. ˜-:$PSQPSBUJPO  ໨ࢦ͢ํ޲ͱखஈ͕Ϛον͍ͯ͠ͳ͍ ͋ΔϓϩδΣΫτͷྫ ͳʹ͕໰୊ʁʁ ࣌ؒ िؒ 3FMFBTF &&UFTU 1MBOOJOH

    %FWFMPQNFOU %FQMPZUPTUH .BOVBMUFTU ςετ࣮ߦͷίετ͚ͩͰͳ͘ɺ࣮૷ϝϯςφϯε΋ؚΊͨίετΛൺֱͯ͠΋ׂʹ߹͏ʁ ϦϦʔεલ͚ͩͰͳ͘ɺଞͷλΠϛϯάͰ&&UFTUΛ࢖͍·Θͤͳ͍ͩΖ͏͔ʁ *NQMFNFOU&&UFTU .BJOUBJO&&UFTU ͜͜Ͱ͸ςετέʔε಺༰ͷݟ௚͠΍ɺଞͷςετͰΧόʔͰ͖ͳ͍ͷʁΈ͍ͨͳͦ΋ͦ΋࿦͸ͳ͍ͱԾఆ͍ͯ͠·͢
  6. ˜-:$PSQPSBUJPO  &&ςετʹର͢Δʮͳͥʁʯ͕ᐆດ ख๏ɾ؀ڥ ӡ༻ɾϑϩʔ ස౓ɾλΠϛϯά ͜ͷςετ͸ͳͥ&&Ͱ΍͍ͬͯΔͷʁ ΋ͬͱίετ͕௿͍ςετͰͰ͖ͳ͍ͷʁ ͳͥ͜ͷπʔϧɾαʔϏεΛ࢖͍ͬͯΔͷʁ ͳͥςετσʔλͷ࡞੒΋&&ςετͷπʔϧͰʁ

    ͳ࣮ͥػͰςετ͍ͯ͠Δͷʁ ͳͥ͜ͷςετ͸ಉ࣌ʹಈ͔͢ͱࣦഊ͢Δͷʁ ͳͥ͜ͷςετ͸ॱংΛม͑Δͱࣦഊ͢Δͷʁ ͳͥखಈͰ࣮ߦϘλϯΛԡ͍ͯ͠Δͷʁ ͳͥ2"͚ͩͰ΍͍ͬͯΔͷʁ ͳͥ4&5͚ͩͰ΍͍ͬͯΔͷʁ ςετέʔε͸Ͳ͏બఆ͍ͯ͠Δͷʁج४͸ʁ ͳͥͦͷόʔδϣϯ͚ͩͰςετ͍ͯ͠Δͷʁ ͳͥͦͷλΠϛϯάͰ࣮ߦ͍ͯ͠Δͷʁ ΋ͬͱ࣮ߦճ਺Λ૿΍͢͜ͱ͸Ͱ͖ͳ͍ͷʁ ΋ͬͱૣ͘Ͱ͖ͳ͍ͷʁ ΋ͬͱ଎͘Ͱ͖ͳ͍ͷʁ ͜ΕΒͷʮͳͥʯ͕ੵ΋Γɺ΍͕ ͯ'MBLZͳ5FTU͕૿͑ɺ&&ςε τͷ৴པੑ͕ͳ͘ͳ͍͖ͬͯɺςε τ͸୯ʹճ͍ͬͯΔ͚ͩͷঢ়ଶʹ ͳΓɺςετ݁Ռ͸ࣺͯΒΕɺ Ώͬ͘Γͱ෗͍ͬͯ͘͜ͱʹʜ ා
  7. ˜-:$PSQPSBUJPO  &&ςετʹର͢Δʮͳͥʁʯ͕ᐆດ ख๏ɾ؀ڥ ӡ༻ɾϑϩʔ ස౓ɾλΠϛϯά ͜ͷςετ͸ͳͥ&&Ͱ΍͍ͬͯΔͷʁ ΋ͬͱίετ͕௿͍ςετͰͰ͖ͳ͍ͷʁ ͳͥ͜ͷπʔϧɾαʔϏεΛ࢖͍ͬͯΔͷʁ ͳͥςετσʔλͷ࡞੒΋&&ςετͷπʔϧͰʁ

    ͳ࣮ͥػͰςετ͍ͯ͠Δͷʁ ͳͥ͜ͷςετ͸ಉ࣌ʹಈ͔͢ͱࣦഊ͢Δͷʁ ͳͥ͜ͷςετ͸ॱংΛม͑Δͱࣦഊ͢Δͷʁ ͳͥखಈͰ࣮ߦϘλϯΛԡ͍ͯ͠Δͷʁ ͳͥ2"͚ͩͰ΍͍ͬͯΔͷʁ ͳͥ4&5͚ͩͰ΍͍ͬͯΔͷʁ ςετέʔε͸Ͳ͏બఆ͍ͯ͠Δͷʁج४͸ʁ ͳͥͦͷόʔδϣϯ͚ͩͰςετ͍ͯ͠Δͷʁ ͳͥͦͷλΠϛϯάͰ࣮ߦ͍ͯ͠Δͷʁ ΋ͬͱ࣮ߦճ਺Λ૿΍͢͜ͱ͸Ͱ͖ͳ͍ͷʁ ΋ͬͱૣ͘Ͱ͖ͳ͍ͷʁ ΋ͬͱ଎͘Ͱ͖ͳ͍ͷʁ Α͘ݟΔύλʔϯ ʮͦΕ͔͠ํ๏͕ͳ͍ʯʮ͠ΐ͏ ͕ͳ͍ʯͱࢥ͍ࠐΜͰ͍ͨΓ͠· ͤΜ͔ʁ
  8. ˜-:$PSQPSBUJPO  &&ςετઐଐΤϯδχΞϙδγϣϯΛ༻ҙ͢Δ %FWFMPQFS 1SPKFDU5FBN 1E. 2" 4&5 5FTUFS %FWFMPQFS

    ϓϩδΣΫτϝϯόʔ͕ଟ͍ ܻΦʔμʔ  िؒʹճͷϦϦʔεɻϓϩδΣΫτͷੑ࣭ ্ૣΊΑ͏ͱࢥ͍ͬͯͳ͍ ૉૣ͍σϦόϦʔΑΓ΋ɺ๲େʹ͋ΔΫϦςΟ ΧϧͳγφϦΦΛΧόʔ͍ͨ͠ˠ҆શଆ ػೳ։ൃɺमਖ਼ͳͲ͕ଟ਺ͷεϞʔϧνʔϜͰ ಉ࣌ฒߦʹਐΉˠͲ͔͜ͷνʔϜ͕TUBHJOHΛ յ͢ˠ͍Ζ͍ΖͳνʔϜ΁Өڹ͕ग़ͯ͠·͏ˠ ϦάϨογϣϯςετͷॏཁੑ͕ߴ͍ ෳ਺͋ΔEFW؀ڥɺTUBHJOH؀ڥɺQSPEVDUJPO ؀ڥͰಉ͡ςετέʔεΛ࢖͍ճ͍ͯ͠Δˠ࣮ ૷ͨ͠&&ςετ͕ޮ཰Α͘࢖͑Δ &&ςετͰίετΛԼ͍͛ͨͱࢥ͍ͬͯͳ͍ &NCFEEFE
  9. ˜-:$PSQPSBUJPO  &&ςετઐଐΤϯδχΞϙδγϣϯΛ༻ҙ͢Δ %FWFMPQFS 1SPKFDU5FBN 1E. 2" 4&5 5FTUFS %FWFMPQFS

    ͏ͪͷνʔϜ΋ಉ͡Α͏ͳߏ੒ͰؔΘ͍ͬͯΔ ϓϩδΣΫτ͕͋Δɻ ͜ͷϓϩδΣΫτʹ͸͏ͪͷνʔϜ͔ΒͻͱΓ ઐଐͰೖͬͯ΋Β͍ͬͯΔɻͻͱΓͰҎ্ ͷγφϦΦɺ೔ʹ਺ઍճςετ͕ճΔ؀ڥɻ௨ ࢉͰ೥͘Β͍ଓ͚͍ͯΔ ςετέʔεͷ࡞੒ɾӡ༻͚ͩͰͳ͘ɺ࣮ػ &NVMBUPS4JNVMBUPSͳͲͷςετ࣮ߦ؀ڥɺ ϨϙʔςΟϯάγεςϜͷ੔උͳͲ&&ςετʹ ؔ͢Δ͜ͱ͸શͯड͚࣋ͭ ͜Ε·ͰʹԿ౓΋େ͖ͳ໰୊Λ։ൃ؀ڥɺຊ൪ ؀ڥ໰Θͣ৯͍ࢭΊ͖ͯͨ &&ςετʹ͓͚Δ੹຿͸શͯ4&5νʔϜ͕ ͍࣋ͬͯΔͱ͍͏ߏ଄͸ɺ͋Δҙຯγϯϓϧ &NCFEEFE ͏ͪͷνʔϜ
  10. ˜-:$PSQPSBUJPO  &&ςετઐଐΤϯδχΞϙδγϣϯΛ༻ҙ͢Δ %FWFMPQFS 1SPKFDU5FBN 1E. 2" 4&5 5FTUFS %FWFMPQFS

    ౰વɺ͍͍͜ͱ͹͔ΓͰ͸ͳ͍ Θ͔Γ΍͘͢&&ςετ͕4&5΁ґଘ͍ͯ͠Δ ঢ়ଶ ฏ࣌͸ͦΕͰ΋໰୊ͳ͍͕ɺձࣾ૊৫νʔϜ ϓϩδΣΫτ͸ੜ෺Ͱ͋Γɺ࣌ͱڞʹมԽ͢Δ ͷ͕౰વ ґଘ͕ڧ͍ঢ়ଶ͸ɺͦΕ͚ͩมԽʹऑ͍ ࣮ࡍʹ͏ͪͷνʔϜͰ΋ಉ͡Α͏ͳঢ়گʹͳ Γɺ&&ςετͷ੹຿Λଞͷϩʔϧ΁Ҡৡ͢Δ ʹ͸Ͳ͏ͨ͠΋Μ͔ʜͱ͍͏࿩୊͕͋ͬͨ ͜͜Β΁Μ͚ͩͰ΋࿩͢ͱ௕͘ͳΓͦ͏ͳͷ Ͱɺڵຯ͕͋Δํ͸ऴΘ͔ͬͯΒั·͑ͯͩ͘ ͍͞ʂ &NCFEEFE ͏ͪͷνʔϜ
  11. ˜-:$PSQPSBUJPO   ൪֎ฤ ໾ׂΛ্खʹ෼͚͍ͯͨྫ ػೳ։ൃΛ͢Δͱ͖͸ɺ։ൃऀࣗ਎Ͱςετ έʔε ʺ&&ςετ Λ࡞੒ɺ࣮ߦ͢Δͷ͕໾ ׂ

    2"͸ग़དྷ্͕ͬͨςετέʔεΛϨϏϡʔ͢Δ ͱ͍͏໾ׂ ػೳ։ൃͨ͠։ൃऀࣗ਎͕ςετͷ࣮૷ɾ࣮ߦ ʹର͢Δ੹຿Λ໌֬ʹ࣋ͭͱ͍͏ྫ %FWFMPQFSͱ2"&OHJOFFSͷϩʔϧ͕໌֬ʹ෼ ͔Ε͍ͯΔ૊৫Ͱ͜ͷύλʔϯ͸͋·Γݟͨ͜ ͱ͕ͳ͔ͬͨ ҟͳΔϩʔϧؒͰͷ੹຿͕͸͖ͬΓ͢ΔˠϘʔ ϧ͕ු͔ͣվળ׆ಈ͕͠΍͍͢؀ڥ ໨తͱ੹຿͕͸͖ͬΓ͍ͯ͠ΔͷͰखஈ͕બͼ ΍͍͢ .BJO 'FBUVSF %FWFMPQ .BLFUFTUDBTFT %FW 2" %FW 3FWJFXUFTUDBTFT &YFDUFTUDBTFT %FW "--(3&&/
  12. ˜-:$PSQPSBUJPO  ͜Ε͔Β͸ &NCFEEFE͔ΒจԽͷৢ੒΁ 1SPKFDU 5FBN 1SPKFDU 5FBN 1SPKFDU 5FBN

    1SPKFDU 5FBN 1SPKFDU 5FBN 1SPKFDU 5FBN ͏ͪͷνʔϜ &&ςετΛؚΊɺ։ൃऀςετશൠͷ੹຿͸ ։ൃνʔϜ΁ ཁҼੲʹൺ΂ͯɺখ͘͞ૣ͘σϦόϦʔͨ͠ ͍ɺ&&ςετ΍ͦΕʹ͍ۙςετΛࣗ෼ͨͪ ͷ੹຿Ͱ΍Γ͍ͨͱ͍͏νʔϜ͕૿͖͑ͯͨ ڀۃతɾཧ૝తʹ͸4&5͸։ൃऀͷจԽΛ࡞Δ ͜ͱ͕࢓ࣄͰ͸ͳ͍͔ʁˠจԽ͑͞Ͱ͖ͯ͠· ͑͹4&5͕ுΓ෇͍͍ͯΔඞཁ͸ͳ͍ 4&5͸εϖγϟϦετͱͯ͠ɺࣗࣾͷ։ൃऀ͕ ςετ͠΍͍͢ɺςετΛ΋ͬͱޮ཰తʹߦ͑ Δ૊৫తɺٕज़తͳ؀ڥΛ੔͑Δ͜ͱʹ஫ྗ ಛघϩʔϧ͗ͯ͢࠾༻͕ܹϜζˠ͢΂ͯͷ։ൃ νʔϜ΁ೖ͍ͬͯ͘ͷ͸ݱ࣮తͰ͸ͳ͍ ͏ͪͷ ձࣾͷ৔߹
  13. ˜-:$PSQPSBUJPO  ͜Ε͔Β͸ &NCFEEFE͔ΒจԽͷৢ੒΁ ݱ৔ͷ&&ςετ͸։ൃνʔϜʹ೚ͤɺࣗ෼ͨ ͪ͸࠷ઌ୺Λ௥͍ଓ͚ͳ͍ͱ͙͢ʹ௥͍͍͔ͯ ΕΔঢ়ଶʹͳΓͭͭ͋Δ &&ςετͷʮ͋ͨΓ·͑ʯ͸ͲΜͲΜมΘͬ ͖͍ͯͯΔɻͪΐͬͱલ͸$POUBJOFSܥɺࠓ͸ ੜ੒"*

    ·ͩ·࣮ͩફ౤ೖ͢Δʹ͸ݫ͍͠ʜͳΜͯ΋͏ ஗͍͔΋͠Εͳ͍ɻ͙ͦ͢͜·ͰCSFBLJOH DIBOHF͕དྷ͍ͯͦ͏ͳ༧ײ ϐϥϛου΍τϩϑΟʔʹ୅ද͞ΕΔཧ૝తͳ ςετ഑෼ͷܗ΋มΘͬͯ͘Δ͔΋͠Εͳ͍ ˠ&&ςετʹ͔͔Δίετ΍໾ׂ͕͜Ε͔Β ͲΜͲΜมΘΔ͔΋͠Εͳ͍͔Β 3FGIUUQTUFTUJOHHPPHMFCMPHDPNKVTUTBZOPUPNPSFFOEUPFOEUFTUTIUNM )JHI -PX $PTU
  14. ˜-:$PSQPSBUJPO  ·ͱΊ  &&ςετͷٕज़తͳোน͸େ͖͘Լ͕ͬͨ  গͳ͘ͱ΋ɺٕज़తͳཧ༝Ͱ&&ςετͷಋೖΛ᪳᪯͏͜ͱ͸ͳ͘ͳͬͨ  ࠓޙੜ੒"*ͷൃలͳͲ͕ىҼʹͳͬͯɺ&&ςετ͸ͲΜͲΜมΘ͍ͬͯ͘ 

    Ұํɺӡ༻໘Ͱͷ՝୊ɺϋϚΓͲ͜Ζ͸·ͩ·ͩ͋Δ  &&ςετͷಛੑΛཧղ͍ͯ͠ͳ͍ͱɺޮՌΛे෼ʹൃشͰ͖ͳ͍ͱ͍͏ͷ͸ࠓ΋มΘΒͳ͍  &&ςετͷ໨త͕มΘΔ͜ͱʹΑΔมԽ΁ͷରԠ  ͱ͸͍͑ɺ&&ςετΛऔΓר͘؀ڥ͸ιϑτ ӡ༻ ɺϋʔυ ٕज़ ͱ΋ʹ೥ʑྑ͘ͳ͍ͬͯΔ