Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アジャイル開発とE2Eテストの話
Search
SHIFT EVOLVE
PRO
July 01, 2021
Business
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジャイル開発とE2Eテストの話
SHIFT EVOLVE
PRO
July 01, 2021
More Decks by SHIFT EVOLVE
See All by SHIFT EVOLVE
価値実現重視へとシフトした時代を生き抜くには / 20260713 Takeshi Watarai
shift_evolve
PRO
1
63
SHIFTのコミュニティ活動 / 20260828 Yumiko Ohata
shift_evolve
PRO
2
73
AI活用によるレガシーモダナイゼーションとプロジェクトマネジメント / 20260827 Tsukasa Takemura & Takashi Maekawa
shift_evolve
PRO
0
80
兼務の事務局から、組織へ SHIFTのAWSアライアンス立ち上げ記 / 20260807 Satoshi Torano
shift_evolve
PRO
1
74
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
1.3k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
300
”そのまま移行”からの脱却へ ― AI解析で実現するSAP S/4HANA導入成功メソッド / 20260729 Akio Hane
shift_evolve
PRO
1
78
区民の問い合わせ、AIにどこまで任せる? 品川区×SHIFTが挑む自治体音声AI実証の現在地 / 20260626 Taku Nishizawa and Satoshi Torano
shift_evolve
PRO
1
250
コミュニティを、仕事にした。‐ 学びの場が会社の価値になるまで / 20260724 Ayana Chandler
shift_evolve
PRO
0
140
Other Decks in Business
See All in Business
会社説明資料
caitechhr
0
1.2k
パーソルビジネスプロセスデザイン株式会社 会社説明資料
persolcareer
0
170
FABRIC TOKYO会社紹介資料 / We are hiring(2026年9月3日更新)
yuichirom
39
420k
5 quotes that sum up recent trading in the travel sector - August 2026
marketingttc
0
140
LW_brochure_engineer
lincwellhr
1
45k
事業領域
daisan123
0
650
freeeの福利厚生と働き方
freee
PRO
1
110k
Clarity for Product People
arnekittler
0
750
LW_brochure_business
lincwellhr
1
91k
【全資料公開】AIとアイデアソン:思考の盲点を突く「人機共想」のプロセスと実践手法
ishiirikie
1
380
【DearOne】Dear Newest Member
hrm
3
20k
FY2026.6 Impact Report EN
mercari_inc
0
2.7k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
540
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Docker and Python
trallard
47
4.2k
Site-Speed That Sticks
csswizardry
13
1.5k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Amusing Abliteration
ianozsvald
1
310
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
Facilitating Awesome Meetings
lara
57
7.1k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Transcript
ΞδϟΠϧ։ൃͱ E2Eςετͷ 2021/06/25 DevOps & QAΤϯδχΞLTେձ Vol.1 Yyoshitomi
ࣗݾհ • גࣜձࣾτϦΫτϥοΫ • QA୲ • ৽ଔࡾ • ٢ඦ߹ࡊ
ฐࣾͷ։ൃମ੍ • ΞδϟΠϧ։ൃΛ࠾༻ • εϓϦϯτ2िؒ͝ͱ • CircleCIͳͲͷܧଓతσϓϩΠ • ຖ3ճͷE2Eςετͷఆظ࣮ߦ
• ࢄாʢϒϩοΫνΣʔϯʣܕαʔϏε • औҾࢀՃاۀɹ1ࣾ͝ͱʹ1ϊʔυʢαʔόʔʣཱ͕ͭ • औҾ͝ͱʹೝఆೝূہͷλΠϜελϯϓΛԡ͢ • ϑϨʔϜϫʔΫɿCordaɺSpringɺRails • ϑϩϯτΤϯυɿReact
ݱϓϩδΣΫτʹ͍ͭͯ
ςελʔ͔ΒݟͨݱϓϩδΣΫτͷݫ͍͠ • औҾʹؔ͢Δૢ࡞͕·͍ͣ • ຖिಥવػೳՃ͕ੜ͑ͯ͘Δ • ը໘ϝʔϧͷจݴ͕ߴසͰมΘΔ • UIߴසͰมߋ͕ೖΔͷͰɺSPAͷߏෳࡶ •
ॏ͍ ͱʹ͔͘ςετ͕͍͔ͭͳ͍
E2EςετΛؤுΖ͏ͱࢥͬͨ • ܾ·ͬͨखॱͰςετͰ͖Δ • จݴͷมߋͷͨͼʹςετ͕མͪΔ͔Βݟམͱ͕͠ൃੜ͠ͳ͍ • ςελʔҎ֎ͷࢹͰςετͰ͖Δ
͜͏ͨ͠Λ ղফͰ͖Δʂ ୯ମςετRequest specͰΧόʔ Ͱ͖ͳ͍෦Λܾ·ͬͨखॱͰςετͰ͖Δ • ޡೖྗͳͲɺखಈͩͱੜ͡Δೖྗ༰ૢ࡞ͷΒ͖͕ͭൃੜ͠ͳ͍ • ͍͜͠ૢ࡞Λཏతʹ࣮ߦͰ͖Δ ೖྗཝʹʮ༗͏ʯͬͯ
ೖྗ͢ΔͭΓ͕ ʮٜࠈʯͬͯೖྗͯ͠ ͠·ͬͨʂ ͏͔Ε͜Ε4ճ͘Β͍ ҧ͏ϘλϯΛΫϦοΫͯ͠ ςετΓͯ͠Δʂ
ςετΛ ϝϯςφϯε͠ͳ͕Β ϦϑΝΫλϦϯά Ͱ͖Δʂ จݴͷมߋͷͨͼʹςετ͕མͪΔ͔Β ݟམͱ͕͠ൃੜ͠ͳ͍ • 1ͭͷ༻ޠ͕มߋʹͳΔͱը໘શମͷจݴ͕มߋʹͳΔ͜ͱ͠͠ ͕ͩɺe2eͳΒࣗಈతʹը໘্ͷจݴΛ֬ೝͯ͘͠ΕΔ ͜͜Α͘จݴ͕
มΘΔ͔Βe2eͰ ֬ೝ͠Α͏ʂ
ςελʔҎ֎ͷࢹͰςετͰ͖Δ • ςετγφϦΦΛQAҎ֎ͷϓϩάϥϚʹϨϏϡʔͯ͠Β͑ΔͷͰ ςελʔҎ֎ͷࢹͰςετͰ͖Δ ͜ͷςετ ୯ମςετͰ͚ෛͬͯ ͬ͜͜ͱ ςετέʔεΛ૿͠ ·͠ΐ͏ʂ ͳΔ΄Ͳʂ
E2Eςετͷߏ • Cucumber • Capybara • Selenium Chrome • CIͰͷςετheadlessϞʔυ
• CircleCI
• γφϦΦ • ࣗવݴޠͰॻ͚Δ • ຊޠͰ લఏɾ͠ɾ͔ͭɾͳΒ • Step •
rubyͰ࣮ Cucumber
ςετγφϦΦ γφϦΦ: ϢʔβʔϝʔϧΞυϨεͱύεϫʔυ ͰγεςϜʹϩάΠϯͰ͖Δ લఏ ϩάΠϯը໘Λද͍ࣔͯ͠Δ ͠ ϝʔϧΞυϨεೖྗཝʹ"
[email protected]
"ͱೖྗ͢Δ ͔ͭ ύεϫʔυೖྗཝʹ"password"ͱೖྗ͢Δ
͔ͭ "ϩάΠϯ"ΛΫϦοΫ͢Δ ͳΒ μογϡϘʔυΛද͍ࣔͯ͠Δ ͔ͭ ϔομʔࢯ໊ʹ"ࢁా Ֆࢠ"ͱදࣔ͞ΕΔ
γφϦΦͷॻ͖ํ • ̍γφϦΦͰςετ͢Δ͜ͱγϯϓϧʹ • ಉ͜͡ͱΛԿճςετ͠ͳ͍ • എܠલఏͳͲΛ͏·͔ͭ͘͏ ͍ͱ୭ ಡΜͰ͘Εͳ͍ʂ
γφϦΦͷ ॻ͖ํ γφϦΦΞτϥΠϯ: ޡͬͨύεϫʔυϝʔϧΞυ ϨεͰϩάΠϯͰ͖ͳ͍ લఏ ϩάΠϯը໘Λද͍ࣔͯ͠Δ ͠ ϝʔϧΞυϨεೖྗཝʹ"<ϝʔϧΞυϨε>"ͱೖྗ͢Δ ͔ͭ
ύεϫʔυೖྗཝʹ"<ύεϫʔυ>"ͱೖྗ͢Δ ͔ͭ "ϩάΠϯ"ΛΫϦοΫ͢Δ ͳΒ "ϝʔϧΞυϨε·ͨύεϫʔυʹޡΓ͕͋Γ·͢ɻ࠶͝ೖྗ ͍ͩ͘͞ɻ"ͱදࣔ͞ΕΔ ྫ: | ϝʔϧΞυϨε | ύεϫʔυ | |
[email protected]
| passpass | |
[email protected]
| password | • ExampleʢྫʣΛ͏·͔ͭ͘͏ • ͨͩ͠ςʔϒϧ͕ڊେʹͳΓ ͗͢ͳ͍Α͏ʹ͢Δ • Scenario OutlineͰςετͨ͠ ͍͜ͱ̍γφϦΦͰͻͱͭʹ ߜΔ
γφϦΦͷ ॻ͖ํ γφϦΦΞτϥΠϯ: Ϣʔβʔඞਢ߲Λೖྗͯ͠هͷ৽ن࡞͕Ͱ͖Δ લఏ Ϣʔβʔ”<Ϣʔβʔ>"ͰϩάΠϯ͍ͯ͠Δ ͔ͭ هͷ࡞ը໘Λද͍ࣔͯ͠Δ ͔ͭ ໊݅ʹ"<໊݅>"ͱೖྗ͢Δ
͔ͭ ຊจʹ"<ຊจ>"ͱೖྗ͢Δ ͔ͭ ը૾ʹ”<ϑΝΠϧ>"ΛΞοϓϩʔυ͢Δ ͠ "ৄࡉ߲ʢҙʣ"ͱදࣔ͞ΕΔ ͔ͭ ߦͬͨॴʹ”<ॴ>”ͱೖྗ͢Δ ͔ͭ ༻ֹۚʹ”<ֹۚ>"ͱೖྗ͢Δ ͔ͭ "࡞"ΛΫϦοΫ͢Δ ͔ͭ "<ϝοηʔδ>"ͱදࣔ͞ΕΔ ͔ͭ ϝχϡʔ͔Β"<ϖʔδ>"ΛΫϦοΫ͢Δ ͳΒ “<ϖʔδ>”ʹ”<໊݅>”ͱ”<දࣔ݁Ռ>" ྫ: ɹ | Ϣʔβʔ | ໊݅ | ຊจ | ϑΝΠϧ | ॴ | ֹۚ | ϝοηʔδ | ϖʔδ | දࣔ݁Ռ | | Ϣʔβʔ1 | ɹ| | | | | ೖྗͯ͠Լ͍͞ | μογϡϘʔυ | දࣔ͞Εͳ͍ | | Ϣʔβʔ1 | ɹ| | | | | ೖྗͯ͠Լ͍͞ | هҰཡ | දࣔ͞Εͳ͍ | | Ϣʔβʔ1 | ͍͋͏ | | | | | ೖྗͯ͠Լ͍͞ | μογϡϘʔυ | දࣔ͞Εͳ͍ | | Ϣʔβʔ2 | ɹ| | | | | ೖྗͯ͠Լ͍͞ | μογϡϘʔυ | දࣔ͞Εͳ͍ | | Ϣʔβʔ2 | ɹ| | | | | ೖྗͯ͠Լ͍͞ | هҰཡ | දࣔ͞Εͳ͍ | | Ϣʔβʔ1 | ͍͋͏ | ͔͖͘ | | | | ೖྗͯ͠Լ͍͞ | μογϡϘʔυ | දࣔ͞Εͳ͍ | | Ϣʔβʔ1 | ͍͋͏ | ͔͖͘ | test.png | | | هΛ࡞͠·ͨ͠ | μογϡϘʔυ | දࣔ͞ΕΔ | | Ϣʔβʔ1 | ͍͋͏ | ͔͖͘ | test.png | | | هΛ࡞͠·ͨ͠ | هҰཡ | දࣔ͞ΕΔ | | Ϣʔβʔ1 | ͍͋͏ | ͔͖͘ | test.jpeg | | | هΛ࡞͠·ͨ͠ | μογϡϘʔυ | දࣔ͞ΕΔ | | Ϣʔβʔ1 | ͍͋͏ | ͔͖͘ | test.jpeg | | | هΛ࡞͠·ͨ͠ | هҰཡ | දࣔ͞ΕΔ | • γφϦΦλΠτϧͱ༰߹͍ͬͯΔ͔ʁ • ಉ͡ૢ࡞Λϖϧιφͷ͚ͩ֬ೝ͢Δҙຯ͋ Δͷ͔? • γφϦΦΞτϥΠϯʹཔΓ͗ͯ͢҉߸ͷΑ͏ ͳγφϦΦʹͳ͍ͬͯͳ͍͔? • ͦͷςετຖճࣗಈͰ࣮ߦ͢Δඞཁ͋Δͷ ͔? • ςετέʔεͷਫ਼ࠪΛͤͣɺطଘͷγφϦΦΛ ίϐϖͯ͠গ͠ม͚͑ͨͩʹͳ͍ͬͯͳ͍͔ʁ • ςετ͕ಈ͚ྑ͍ͱࢥ͍ͬͯͳ͍͔ʁ • ԿͷͨΊͷςετͳͷ͔ʁ
Stepͷॻ͖ํ • ؾΛ͚ͭΔ͜ͱ • ΫϥεXPathͳΔ͘Θͳ͍ E2Eςετʹϝϯςφϯε͖ͭͷ͕ͩɺ ɹ ΫϥεͳͲSPAͷมߋʹΑͬͯมΘͬͯ͠·͏͜ͱ͋ΔͷͰɺ ϝϯςφϯεසΛ͑ΔͨΊʹ༻͢Δlocatorߟྀ͢Δ
Stepͷॻ͖ํ • ςετ͍ͨ͠จݴϕλॻ͖͢Δ • i18nͳͲͰߏԽ͠ͳ͍ when ‘ OKϘλϯΛΫϦοΫ͢Δ’ find(‘<“data-test=“submit-button”>’).click end
t(‘test_string’) ͳͲආ͚Δ
Stepͷॻ͖ํ MPDBUPSͱςΩετΛࢦఆͯ͠จݴΛ֬ೝ͢Δ when ‘ OKϘλϯΛΫϦοΫ͢Δ’ find(‘<“data-test=“submit-button”>’, text: “OK”).click end
Stepͷॻ͖ํ ςετͷత ʮػೳUI͕༷௨Γʹͳ͍ͬͯΔ͜ͱΛ อূ͢ΔͨΊʯͰ͋Δ͜ͱΛΕͳ͍Α͏ʹ͍ͨ͠ ςετͷత͕ʮϝϯςφϯεΛ͠ͳ͍Α͏ʹςετΛճ͢͜ͱʯʹ ͳͬͯ͠·͏ͱҙຯ͕ແ͍
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ