SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Yasufumi Sekine(おれたま@aha-oretama)
AQA POP TALK #3
~海外カンファレンスから見えたテスト自動化の未来~
ハッシュタグ:#aqapop
SeleniumConf Chicago 参加報告
Yasufumi Sekine
おれたま@AHA_oretama
● Automation & QA Group (通称:AQA)
○ 今年の8月からジョイン
○ テスト自動化
■ Appium, WebdriverIO, Espresso
■ CI
● リンク
○ https://twitter.com/AHA_oretama
○ https://github.com/aha-oretama
○ https://www.slideshare.net/aha_oretama
アジェンダ
1. SeleniumConf Chicagoの紹介
2. セッションの一部紹介
3. まとめ
アジェンダ
1. SeleniumConf Chicagoの紹介
2. セッションの一部紹介
3. まとめ
Selenium Conferenceとは?
• Seleniumをメインとしたカンファレンス
• Appium、CI/CDなどテスト自動化に関する幅広い内容
• SeleniumConf Chicago
• 10/18,19にChicagoで開催
• 前日10/17にはワークショップが開催
• 来年はTokyoで開催(後述)
Chicago
会場の雰囲気
全体として
セッション
● Beginner、指定なし、Advancedの3つのレベルのセッションがあり、
個人のレベルに合わせたセッションを選べる
● 英語の同時字幕あり
● Beginnerがあるとはいえ、最低限の知識、経験は必要
ブース
● テスト自動化に関する企業のブースが10程度
● その場でデモをしてくれるため、ツールの良さが理解しやすい
アジェンダ
1. SeleniumConf Chicagoの紹介
2. セッションの一部紹介
3. まとめ
セッションの一部紹介
SeleniumConf Chicagoのスライドは順次公開されています。
ここでは、自分が興味をもったセッションを
自分なりに実務にどう活かすか、という視点を交えて紹介します。
(セッションの内容を紹介したあとに、
実務にどう活かすかという私なりの観点を説明します。
AI for element selection
● test.ai Jason Arbonによる発表
● AppiumでAIによる要素指定
● Appiumの3rd Party Plugin
driver.findElement('-custom', 'ai:cart');
詳しくはさきほどの AI Applications in Automation Testing 参照してください。
実際の使い方はMercari Engineering Blogも参考にしてください。
どう活かすか? ~AI for element selection~
メルカリのトップ画面でAIによる要素指定
→ すべてではなく、アイコンが対象
→ 仕様変更が多い箇所ではないため、
現時点では効果は薄そう
Experimentalではあるため、
現段階では使うことはチャレンジング
→ 今後どう進化してくかは要ウォッチ!
Jump starting your testing with Selenium Grid Docker Containers,
Selene, and pytest
● Docker, Selenium Grid, Selene, pytest を使用して
環境構築→テスト→環境廃棄の一連の処理が3コマンドでできる
$ make test-env-up
$ make test
$ make test-env-down
Jump starting your testing with Selenium Grid Docker Containers,
Selene, and pytest
開発に必要なものをサポートし、1コマンドで実現できる
● ブラウザでの確認
○ node-xx-debug × vncviewer
● Debug
○ pdb.set_trace() × PYTESTOPTS=“-k {testcase}”
● 新規のテストケースの作成
○ make run COMMAND=ipython3
● CI
● 他のSelenium Grids(ex. Sauce Labs)とのインテグレーション
○ Zalenium
どう活かすか? ~Jump starting your testing with Selenium Grid Docker
Containers, Selene, and pytest~
メリット
● すぐに環境を構築、実行できる
● どこでも誰でも同じ環境を使うことができる
⇒ ある程度の人数で開発するときは積極的に採用したい。
Selene, pytest 以外には未対応であるが、
ソースがGitHub上に公開されているため、
自分の言語、フレームワークに変更することは可能。
Sub-second acceptance tests
● Aslak Hellesøy による発表
○ Cucumber作者
システムの応答時間 × 人の感じ方の境界 (Source:Usability Engineering)
受入テストに対して、いかにテストを早くするするかが重要になる。
100ms the limit for having the user feel that the system is reacting instantaneously
1sec the limit for the user's flow of thought to stay uninterrupted
10sec the limit for keeping the user's attention focused on the dialogue
Sub-second acceptance tests
Source:https://speakerdeck.com/aslakhellesoy/sub-second-acceptance-tests-seleniumconf-2018
Unit
Service
どう活かすか? ~Sub-second acceptance tests~
● 個人的な印象としては、UIテスト(〜Servie テスト)の中に
このピラミッドがあるイメージ
● 早くかつ安定 × 信頼性は反比例。
使い分けることが重要になるのではないか?
● ただし、もし右にいけばいくほど、
初期アーキテクチャにテスタビリティを盛り込む必要がある
UI
Mobileのパフォーマンスは非常に重要。
Run the load down your mobile app
Source:Dimensional Research , A MOBILE APP USER SURVERY - Feb 2015
モバイルのパフォーマンスの3つの観点に対して
デモをしてわかりやすく説明
● Server/API Performance → JMeter
● Device Performance
● Network Performance
Run the load down your mobile app
Appium
Run the load down your mobile app
Android by Appium (Link)
List<List<Object>> performanceData
= driver.getPerformanceData("my.app.package", "cpuinfo", 5);
iOS by Appium (Link)
$ appium --relaxed-security
Map<String, Object> args = new HashMap<>();
args.put("timeout", 60 * 1000);
args.put("profileName", "Time Profiler");
driver.executeScript("mobile: startPerfRecord", args);
どう活かすか? ~Run the load down your mobile app~
個人の経験としてモバイルは
● リリース後のモニタリングだけで、
パフォーマンステストを行えないことが多い
● Webとは違い、バージョンのリリースサイクルが長いため、
リリース前にパフォーマンステストを行えたほうがよい
Appiumを使用したパフォーマンステストは、はじめの一歩としては有効
ただし、考慮すべき点(様々なデバイス、ネットワーク環境、etc)が多いため、その
ままの利用ではパフォーマンスを保証できない可能性が高い
Automated Accessibility Testing
Web Contents Accessibility Guidelines (WCAG) 2.1 から
「Following these guidelines will make content more accessible to a wider
range of people with disabilities」
Ex.
<input type="image" id="image" alt="Login" src="/login-button.png">
Automated Accessibility Testing
自動でAccessiblityを指摘してくれるツール群が提供されている
● Chrome/Firefox Extension
● axe-cli
● axe-webdriverjs
● axe-selenium-java
● axe-matchers (Ruby, Cucumber)
● react-axe
● Linting support (is coming)
etc
どう活かすか? ~Automated Accessibility Testing~
状況に合わせたやり方を提供されている
● UIテスト実装済み → axe-webdriverjs, axe-selenium-javaなどを使い、
既存のUIテストとaxeのインテグレーション
● Accessibilityのテストのみ自動化したい → axe-cli で自動化
● まずはAccessibilityを調べてみたい → Chrome/Firefox Extensions
⇒ まずは試してみる。
アジェンダ
1. SeleniumConf Chicagoの紹介
2. セッションの一部紹介
3. まとめ
まとめ
● 紹介したセッション以外にも、自動化を進めるためのマインドセット、自動テスト
の体験談、インフラの話など幅広い内容でした。
● 個人的には初の海外カンファレンス、英語が不安な中にも関わらず
自分の中で持ち帰るものがあったのは良かったです。
● もっとコミュニティとのコミュニケーションを
取れればよかったと後悔してます。
○ 次回は英語力を向上して、議論してみたいです。
SeleniumConf Tokyo Coming soon!
https://conf.selenium.jp/
2018/4/18,19開催!
前日にはワークショップ開催
● 運営側として初参加!
● CFP 募集中
● ぜひご参加を!
ご静聴ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
yumi_chappy
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
 

Was ist angesagt? (20)

Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Serviceメルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
20191029 automation struggle
20191029 automation struggle 20191029 automation struggle
20191029 automation struggle
 
20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel
 
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
Jasst15 webjasst
Jasst15 webjasstJasst15 webjasst
Jasst15 webjasst
 
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したことSI-Toolkitでテスト自動化を実現する現場で遭遇したこと
SI-Toolkitでテスト自動化を実現する現場で遭遇したこと
 
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
 
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LTエンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
 

Ähnlich wie SeleniumConf Chicago 参加報告

Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 spring
kounan13
 

Ähnlich wie SeleniumConf Chicago 参加報告 (20)

ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
Selenium WebDriver,Cypress,TestCafeの違いを調べてみましたSelenium WebDriver,Cypress,TestCafeの違いを調べてみました
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)今後のWeb開発の未来を考えてangular jsにしました(拡大版)
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 spring
 
Cloudflareを活用したWebパフォーマンスチューニング
Cloudflareを活用したWebパフォーマンスチューニングCloudflareを活用したWebパフォーマンスチューニング
Cloudflareを活用したWebパフォーマンスチューニング
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
 

SeleniumConf Chicago 参加報告