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 Testing with Selenium
Search
Yu Kawanami
May 20, 2015
Technology
0
38
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
開発チームの自走力を育む「イテレーションマネージャー」という取り組み / iteration manager
kawanamiyuu
1
1.1k
スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 / re-startup team
kawanamiyuu
2
730
PHP でもアーキテクチャテストしたい! / #phperkaigi / PHPerKaigi 2021
kawanamiyuu
6
3.7k
3 つの “はじめて” から始まった OSS 活動。のその先で / OSS LT会 #osscontributelt / turning point of joy as a developer
kawanamiyuu
0
700
腕力と瞬発力(新年の抱負 超LT会- vol.2 #ultral)/ New Year’s Resolution 2021
kawanamiyuu
2
350
ArchUnit で始める Java アプリケーションアーキテクチャの自動テスト / 自動化大好きエンジニアLT会 / LT for Engineers who love Automation
kawanamiyuu
0
770
マイクロサービスアーキテクチャをあきらめないための、モノリスで始めるアーキテクチャテスト / #jjug_ccc_b #ccc_b8 / JJUG CCC 2020 Fall
kawanamiyuu
5
3.2k
Contribution to OSS
kawanamiyuu
0
85
Introduction to OSS
kawanamiyuu
1
140
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2024年4月度サービス・アップデート
oracle4engineer
PRO
1
110
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.2k
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
690
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
630
TransitGatewayの基礎
toru_kubota
0
230
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
キャラクター制御のためのプロンプト術 for LINE Bot
uezo
0
520
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
680
Four keys改善の取り組み事例紹介
sansantech
PRO
3
230
インシデントレスポンスのライフサイクルを廻すポイントってなに / Pinpoints of Incidentresponse Lifecycle for Operation
sakaitakeshi
1
300
小さな開発会社がWebサービスを作る理由
polidog
PRO
1
150
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
43
9.7k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
658
120k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
Designing for humans not robots
tammielis
247
25k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Statistics for Hackers
jakevdp
789
220k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
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 パターン
最後に いつやるか? 今でしょ!!