Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BDDフレームワークで始める、E2Eテストのススメ
Search
kazuma.murata
August 27, 2020
Programming
1
450
BDDフレームワークで始める、E2Eテストのススメ
2020年8月27日 MCOpenLabでのLTのスライドです
kazuma.murata
August 27, 2020
Tweet
Share
More Decks by kazuma.murata
See All by kazuma.murata
ROSCAFE_2社に聞く_DevOpsの最新事例__SocialDog発表スライド_.pdf
canon1ky
1
140
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.1k
20200109サポーターズ勉強会
canon1ky
0
280
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
400
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
69
Other Decks in Programming
See All in Programming
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
200
私のEbitengineの第一歩
qt_luigi
0
450
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
160
Our Websites Need a Lifestyle Change, Not a Diet
ryantownsend
0
150
2024 컴포즈 정원사
jisungbin
0
150
GraphQL あるいは React における自律的なデータ取得について
quramy
11
3k
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
170
Securify_エンジニア採用資料
3shake
0
100
意外とフォントが大事だった話 / Font Issues on Internationalization
fumi23
0
110
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
Ruby Parser progress report 2024
yui_knk
2
230
Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform
dwursteisen
0
120
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Debugging Ruby Performance
tmm1
72
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.2k
Building Applications with DynamoDB
mza
90
6k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Done Done
chrislema
180
16k
Why Our Code Smells
bkeepers
PRO
334
56k
4 Signs Your Business is Dying
shpigford
179
21k
Navigating Team Friction
lara
183
13k
A Modern Web Designer's Workflow
chriscoyier
691
190k
Transcript
BDDϑϨʔϜϫʔΫͰ࢝ΊΔ E2Eςετͷεεϝ ଜాओຏ
ࣗݾհ • ଜాओຏ (ΉΒͬͯ͌) • גࣜձࣾShowcase GigʢγϣʔέʔεɾΪάʣ όοΫΤϯυΤϯδχΞ • ࠷͍ۙͬͯΔٕज़:
Go / PHP / Redis Stream • ڵຯ: ιϑτΣΞઃܭ / ࣗಈςετ / etc… • মͱεΠʔπ͕͖Ͱ͢
E2Eςετͱ
୯ମςετͱE2Eςετ • ୯ମςετ • ؔΫϥεͷ୯Ґ • ։ൃऀࢹͰͷখ͍͞ςετ • E2Eςετ •
ΤϯυϢʔβʔ͕ḷΔγφϦΦͷ୯Ґ • ΤϯυϢʔβʔࢹͰͷςετ
E2Eςετͷύλʔϯ • ϒϩάαʔϏεͷ߹ • (લఏ݅) ϢʔβʔA͕λΠτϧͱຊจΛೖྗ͠ɺ (ૢ࡞) ߘϘλϯΛԡ͢ͱɺ (ظ͢Δ݁Ռ) هࣄҰཡը໘ʹભҠ͠ɺ
ߘͨ͠λΠτϧͷهࣄ͕ଘࡏ͢Δ
E2EςετΛ༻ҙ͢Δํ๏ • ςετγφϦΦͱͳΔؔΛࣗલͰ༻ҙ͢Δ • ʮهࣄొAPIΛୟ͍ͯɺهࣄऔಘAPIΛୟ͍ͯ…ʯͱ͍͏ஞ࣍ॲཧΛࣗલͰ ༻ҙ͢Δ • APIΛୟ͘౷߹ڥΛ͏ • Postman
ͳͲ • BDDπʔϧ / ϑϨʔϜϫʔΫΛ͏
BDDϑϨʔϜϫʔΫͱ
BDDϑϨʔϜϫʔΫͱ • BDD = Behavior Driven Development (ৼΔ͍ۦಈ։ൃ) • ΤϯυϢʔβʔͷৼΔ͍ΛεϖοΫ(ཁٻ)ͱͯࣗ͠વݴޠͰهड़͢Δ
• εϖοΫͱඥ͍ͮͨςετ͕࣮ߦ͞ΕΔ • ςετέʔε͕ཁٻ༷ͱͳΔ
cucumber • BDDϑϨʔϜϫʔΫͷҰͭ • Given (લఏ݅) / When (ߦΘΕΔૢ࡞) /
Then (ظ͢Δ݁Ռ) ͷܗࣜ • cucumberͷܗࣜͰγφϦΦΛॻ͘ → ςετ࣮ߦऀͱͳΔؔʹ۩ମతͳධՁॲཧΛ࣮͢Δ • cucumberͷγφϦΦΛ࣮ߦ͢ΔͨΊͷϥΠϒϥϦ͕ɺ ֤ݴޠͰ༻ҙ͞Ε͍ͯΔ
γφϦΦͱ࣮ߦؔͷྫ ςετ࣮ߦ ݁Ռग़ྗ
σϞ https://github.com/kmurata08/cucumber-e2e-test-example