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
46
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
49
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 / practice of estimate part1
kawanamiyuu
0
80
開発チームの自走力を育む「イテレーションマネージャー」という取り組み / iteration manager
kawanamiyuu
1
1.3k
スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 / re-startup team
kawanamiyuu
2
860
PHP でもアーキテクチャテストしたい! / #phperkaigi / PHPerKaigi 2021
kawanamiyuu
6
4.4k
3 つの “はじめて” から始まった OSS 活動。のその先で / OSS LT会 #osscontributelt / turning point of joy as a developer
kawanamiyuu
0
730
腕力と瞬発力(新年の抱負 超LT会- vol.2 #ultral)/ New Year’s Resolution 2021
kawanamiyuu
2
390
ArchUnit で始める Java アプリケーションアーキテクチャの自動テスト / 自動化大好きエンジニアLT会 / LT for Engineers who love Automation
kawanamiyuu
0
840
マイクロサービスアーキテクチャをあきらめないための、モノリスで始めるアーキテクチャテスト / #jjug_ccc_b #ccc_b8 / JJUG CCC 2020 Fall
kawanamiyuu
5
3.5k
Other Decks in Technology
See All in Technology
デスクトップだけじゃないUbuntu
mtyshibata
0
560
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
偏光画像処理ライブラリを作った話
elerac
1
120
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
130
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.7k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
100
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
160
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
150
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
260
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
15
4.1k
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
67k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimizing for Happiness
mojombo
376
70k
Thoughts on Productivity
jonyablonski
69
4.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Typedesign – Prime Four
hannesfritz
40
2.5k
Practical Orchestrator
shlominoach
186
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Fireside Chat
paigeccino
34
3.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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 パターン
最後に いつやるか? 今でしょ!!