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
540
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
190
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.3k
20200109サポーターズ勉強会
canon1ky
0
290
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
440
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
74
Other Decks in Programming
See All in Programming
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
720
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
150
AI時代のプログラミング教育 / programming education in ai era
kishida
22
20k
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
120
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
240
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.2k
JavaOne 2025: Advancing Java Profiling
jbachorik
1
310
Going Structural with Named Tuples
bishabosha
0
170
requirements with math
moony
0
520
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
520
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1k
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
960
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
75
9.3k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Side Projects
sachag
452
42k
BBQ
matthewcrist
88
9.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
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