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
600
1
Share
BDDフレームワークで始める、E2Eテストのススメ
2020年8月27日 MCOpenLabでのLTのスライドです
kazuma.murata
August 27, 2020
More Decks by kazuma.murata
See All by kazuma.murata
ROSCAFE_2社に聞く_DevOpsの最新事例__SocialDog発表スライド_.pdf
canon1ky
1
280
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.4k
20200109サポーターズ勉強会
canon1ky
0
300
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
480
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
87
Other Decks in Programming
See All in Programming
PHPで TLSのプロトコルを実装してみる
higaki_program
0
730
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
490
Coding as Prompting Since 2025
ragingwind
0
680
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.8k
へんな働き方
yusukebe
6
2.9k
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.5k
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
2
380
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
240
AI活用のコスパを最大化する方法
ochtum
0
370
Feature Toggle は捨てやすく使おう
gennei
0
410
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
410
Testing 201, or: Great Expectations
jmmastey
46
8.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Building the Perfect Custom Keyboard
takai
2
720
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
Believing is Seeing
oripsolob
1
100
My Coaching Mixtape
mlcsv
0
92
Six Lessons from altMBA
skipperchong
29
4.2k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
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