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を目指して/Aim for readable E2E
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Culvert
October 16, 2024
Technology
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
動作する読みやすいE2Eを目指して/Aim for readable E2E
XP祭り2024の発表資料です。
Culvert
October 16, 2024
More Decks by Culvert
See All by Culvert
受け入れテスト駆動開発で不確実性に段階的に対処する/Addressing Uncertainty Incrementally with Acceptance Test-Driven-Development
culvert
5
1.8k
ソフトウェアの設計を学び、メンテナンスしやすいテストを作ろう / Learn software design, Create tests that are easy to maintain
culvert
3
2.8k
私が経験したアジャイルテスト
culvert
4
1.5k
NaITE__32_First_ML.pdf
culvert
0
440
naite31_jstqb_tm
culvert
0
590
地域の子どもを地域で育てる
culvert
0
260
モヤモヤと向き合う
culvert
0
620
デブサミに行ってきた話
culvert
0
160
Other Decks in Technology
See All in Technology
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
1
820
Strands Decider 2BでAWSアップデートの目利きをしてみた
sato4mi
1
100
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
380
2026 Apache Flink Community Checkpoint
rmetzger
0
150
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
8
5.4k
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
170
企画からFlutter実装まで、1つの機能を一貫して開発したプロセスと成果物
khiroyuki1003
1
150
新卒エンジニア、 介護士になる
ryu1013
1
680
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
120
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
310
生成AI時代のIAMのマニアックな話
takuros
1
280
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
120
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
500
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
920
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Agile that works and the tools we love
rasmusluckow
331
22k
Leo the Paperboy
mayatellez
10
2.4k
Paper Plane
katiecoart
PRO
5
54k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
Transcript
動作する読みやすい E2Eを目指して 2024/9/28 XP祭り
2 藤原 考功(Takanori Fujiwara) ・株式会社ユーザベースの社員(テストエンジニア) ・XP祭り実行委員 ・JSTQB(Japan Software Testing Qualification
Board)技術委員 自己紹介 https://www.shoeisha.co.jp/book/detail/9784798186061
3 E2Eテスト(以下、E2E)に対する改善活動 今日お話しすること
4 • 画面やAPIなどの仕様を、 利用者の立場で記述する • 上記に、動作を確認するための手順が 自動テストとして紐付いている 本セッションにおける「E2E」
5 • 動作するドキュメント ◦ 利用者の立場から見た仕様が書かれている ◦ 自動テストとして動かすことができる 本セッションにおける「E2E」 特に、最新の仕様がタイムリーに反映されていることが重要だと思っています
6 • 仕様を理解できる記述になっている ◦ 利用者の立場から見た仕様が書かれている • 安定して動作する ◦ 自動テストとして動かすことができる 「E2E」が備えていてほしい要素
発表の都合上、後者の「安定して動作する」の方を先に話します
7 • GaugeとSelenideを採用 • 自然言語で記述し、テストコードと紐付ける 私たちのチームの場合
8 紐付けの例
動作するE2E | 01 | 9
10 ・まずは最低限動作するコードを書く ・テストがGreenな状態を保ったまま コードを綺麗にする テスト駆動開発の考え方
11 ・まず安定して動作することが大事 ・動作しない(特に不安定な)テストコードは 余計なストレスを生む ・安定して動くから安心して試行錯誤できる E2Eにも同じことが言えるはず
12 ・安定しない原因を愚直に調べる ・安易なリトライもなるべくやめる どうしたら安定するのか
13 ・画面を開く ・画面の描画が終わるまで待つ ・画面内の要素を検証する 例えば、「待ち」を改善する
14 ・画面を開く ・画面の描画が終わるまで待つ←ここが抜けがち ・画面内の要素を検証する 例えば、「待ち」を改善する
読みやすいE2E | 02 | 15
16 テストコードは常に具体的な手順として 細かく書く必要があるので、 記述量が多くなりがち E2Eが読みづらくなってしまう理由 その1
17 ・ログイン画面を開く ・ログイン画面が表示されるまで待つ ・ユーザー名に「username」を入力する ・パスワードに「password」を入力する ・「ログイン」ボタンを押下する 記述量(手数)が多い例
18 対策:1行に置き換えて隠す
19 ・記述しない...は無理なので、 何らかの形で構造化する ・インデントする、色を分ける、 ファイルを分ける etc… 記述量への対策
20 ・具体的な事実しか書かれておらず、 仕様そのものや、なぜその仕様になったか といった情報が欠落している E2Eが読みづらくなってしまう理由 その2
21 ・上映開始時刻が21:30である場合、 料金として1,500円を表示する 具体的な事実しか書かれていない例 仕様が読み取れない!!
22 対策:仕様がわかる記述に置き換える
まとめに替えて | 03 | 23
・安定して動作するE2Eを手に入れるために、 安定しない原因を少しずつ潰す ・綺麗で読みやすいE2Eを手に入れるために、 具体的(すぎる)記述に少しずつ手を入れる 24 動作する読みやすいE2Eを目指して 結局、こまめな片付けが大事ってことなんだと思います