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
56
0
Share
Selenium による E2E テスト再入門 / Introduction to E2E Testing with Selenium
社内ビアバッシュの発表資料
Yu Kawanami
May 20, 2015
More Decks by Yu Kawanami
See All by Yu Kawanami
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編③〜 / practice of estimate part3
kawanamiyuu
0
14
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編②〜 / practice of estimate part2
kawanamiyuu
0
150
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 / practice of estimate part1
kawanamiyuu
0
170
開発チームの自走力を育む「イテレーションマネージャー」という取り組み / iteration manager
kawanamiyuu
1
1.5k
スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 / re-startup team
kawanamiyuu
2
970
PHP でもアーキテクチャテストしたい! / #phperkaigi / PHPerKaigi 2021
kawanamiyuu
6
5.4k
3 つの “はじめて” から始まった OSS 活動。のその先で / OSS LT会 #osscontributelt / turning point of joy as a developer
kawanamiyuu
0
800
腕力と瞬発力(新年の抱負 超LT会- vol.2 #ultral)/ New Year’s Resolution 2021
kawanamiyuu
2
450
ArchUnit で始める Java アプリケーションアーキテクチャの自動テスト / 自動化大好きエンジニアLT会 / LT for Engineers who love Automation
kawanamiyuu
0
930
Other Decks in Technology
See All in Technology
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
1
200
Cursor Subagentsはいいぞ
yug1224
2
130
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
520
OpenClaw初心者向けセミナー / OpenClaw Beginner Seminar
cmhiranofumio
0
140
AI時代のIssue駆動開発のススメ
moongift
PRO
0
330
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
130
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
270
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
4
680
脳が溶けた話 / Melted Brain
keisuke69
1
1.2k
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
100
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
マルチモーダル非構造データとの闘い
shibuiwilliam
1
120
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The SEO identity crisis: Don't let AI make you average
varn
0
430
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
BBQ
matthewcrist
89
10k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Automating Front-end Workflow
addyosmani
1370
200k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
How to build a perfect <img>
jonoalderson
1
5.3k
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 パターン
最後に いつやるか? 今でしょ!!