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
Selenium による E2E テスト再入門 / Introduction to E2E T...
Search
Yu Kawanami
May 20, 2015
Technology
0
52
Selenium による E2E テスト再入門 / Introduction to E2E Testing with Selenium
社内ビアバッシュの発表資料
Yu Kawanami
May 20, 2015
Tweet
Share
More Decks by Yu Kawanami
See All by Yu Kawanami
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編②〜 / practice of estimate part2
kawanamiyuu
0
110
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 / practice of estimate part1
kawanamiyuu
0
130
開発チームの自走力を育む「イテレーションマネージャー」という取り組み / iteration manager
kawanamiyuu
1
1.5k
スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 / re-startup team
kawanamiyuu
2
920
PHP でもアーキテクチャテストしたい! / #phperkaigi / PHPerKaigi 2021
kawanamiyuu
6
4.9k
3 つの “はじめて” から始まった OSS 活動。のその先で / OSS LT会 #osscontributelt / turning point of joy as a developer
kawanamiyuu
0
770
腕力と瞬発力(新年の抱負 超LT会- vol.2 #ultral)/ New Year’s Resolution 2021
kawanamiyuu
2
420
ArchUnit で始める Java アプリケーションアーキテクチャの自動テスト / 自動化大好きエンジニアLT会 / LT for Engineers who love Automation
kawanamiyuu
0
890
マイクロサービスアーキテクチャをあきらめないための、モノリスで始めるアーキテクチャテスト / #jjug_ccc_b #ccc_b8 / JJUG CCC 2020 Fall
kawanamiyuu
5
3.7k
Other Decks in Technology
See All in Technology
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
580
Uncle Bobの「プロフェッショナリズムへの期待」から学ぶプロの覚悟
nakasho
2
100
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
500
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
360
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
110
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
450
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
490
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
300
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
1
160
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
240
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
450
Featured
See All Featured
Side Projects
sachag
455
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.7k
Balancing Empowerment & Direction
lara
4
680
Raft: Consensus for Rubyists
vanstee
139
7.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Navigating Team Friction
lara
189
15k
It's Worth the Effort
3n
187
28k
Transcript
Seleniumによる E2Eテスト再入門 第7回ビアバッシュLT in なにわ at 2015.05.20 2015年5月度もくもく勉強会 at 2015.05.28
Yuu Kawanami RAKUS Co., Ltd.
目次 1. E2Eテスト とは 2. Selenium とは ◦ Selenium WebDriver
◦ Selenium IDE ◦ Selenium Grid 3. テスト作成(デモ) 4. テスト作成時の実践テクニックその1(デモ) ◦ Selenium IDEでの要素取得の優先順位 5. テスト作成時の実践テクニックその2(デモ) ◦ Page Object パターン
E2Eテスト とは End-to-End テスト = ユーザ視点でシステムが正しく動いていることを確認するテスト もう少し説明すると...
E2Eテスト とは リクエストがクライアント、たとえばブラウザから始まって、サーバ内で処理され、制御 が再度クライアントのほうに返ってくるという構成のときに、リクエストを投げてレスポ ンスが返ってくるまでの処理をブラックボックスとして捉え、大きく機能の入り口から出 口までの範囲のブラックボックステストを行うこと。 Webアプリケーション開発におけるE2Eテストとは、ブラウザへのユーザ操 作(入力)に対する、アプリケーションの振る舞いをテストすること。 (引用)第8回 テスト駆動開発の「サイクル」
―まず受け入れテストで土台を作る http://gihyo.jp/dev/serial/01/tdd/0008
E2Eテスト とは E2Eテストのコード化の目的、効果 • 人手では手間がかかり過ぎるバリエーションテストの自動化 ◦ テスト工数の削減 • 結合レベルの再帰テストの自動化 ◦
テスト工数の削減 ◦ デグレの早期発見 ◦ ユーザのメインシナリオに関わる機能の継続的テスト • 目先の品質向上というよりは、長い目で見たサービス品質の改善
参考:アジャイルテストの4象限 E2Eテストの範囲 http://quesqa.com/test_automation_selenium-grid/
Selenium とは Selenium WebDriver • Web Driver(=ブラウザのネイティブ API。W3Cで標準化が検討されている) を通して、プログ ラムからブラウザ操作をシュミレートする仕組み
• クロスブラウザ、クロスプラットフォーム Selenium IDE • Firefoxアドオン • ブラウザ操作を記録し、Seleniumのテストコードを自動生成してくれる
Selenium とは Selenium Grid • 複数のリモートマシン対して テストを自動で分散(並列) 実行させる仕組み http://quesqa.com/test_automation_selenium-grid/
Selenium とは Selenium WebDriverを利用した E2Eテストフレームワーク • selenium-java(Java) • capybara(Ruby) •
behat(PHP) • nightwatch.js(Javascript)
テスト作成 (Demo) 楽楽精算へのログイン
Selenium IDEでの要素取得の優先順位 テスト作成時の実践テクニックその1 参考:Selenium IDEの属性取得の優先順位変更方法 http://qiita.com/oh_rusty_nail/items/7fcc2d54d1abc5febe86
XPathを優先 CSSセレクタを優先
XPathを優先 CSSセレクタを優先 生成されたコード 生成されたコード
テスト作成時の実践テクニックその2 (Demo) Page Object パターン
最後に いつやるか? 今でしょ!!