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
520
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
170
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.2k
20200109サポーターズ勉強会
canon1ky
0
280
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
430
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
71
Other Decks in Programming
See All in Programming
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
Androidアプリの One Experience リリース
nein37
0
1.2k
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
150
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
선언형 UI에서의 상태관리
l2hyunwoo
0
270
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
A Tale of Four Properties
chriscoyier
157
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
A better future with KSS
kneath
238
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Typedesign – Prime Four
hannesfritz
40
2.5k
It's Worth the Effort
3n
183
28k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
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