Submit Search
Upload
Robotium を使った UI テスト
•
Download as PPTX, PDF
•
1 like
•
1,025 views
健一 辰濱
Follow
DroidKaigi 2016 Reject Conf 発表資料 http://connpass.com/event/24264/
Read less
Read more
Software
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 63
Download now
Recommended
アプリの不具合を少なくするために
アプリの不具合を少なくするために
健一 辰濱
Sansan×SONYアプリ勉強会 http://connpass.com/event/25411/
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
JAWS DAYS 2016 発表資料
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
2016/03/23 Android Testing Bootcamp #1 発表資料 http://connpass.com/event/26911/
スマホアプリ自動テストサービス
スマホアプリ自動テストサービス
Koh Uehara
スマホアプリの自動検証サービスとして、Amazon Device Farmを利用してみました。うまく使えば、アプリ開発時に複数機種で評価する工数を大幅に短縮できるかもしれません。
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
JAWS Festa−中四国2017− 2017.11.4@愛媛大学
Robotium を使った UI テストとレイアウト確認の効率化
Robotium を使った UI テストとレイアウト確認の効率化
健一 辰濱
2015/02/28 最新事例から学ぶ!モバイル向けテスト手法勉強会Sansan株式会社 辰濱健一 form 徳島サテライト会場(リモート発表)
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
2016/07/02 オープンセミナー2016@香川 発表資料
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
Recommended
アプリの不具合を少なくするために
アプリの不具合を少なくするために
健一 辰濱
Sansan×SONYアプリ勉強会 http://connpass.com/event/25411/
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
JAWS DAYS 2016 発表資料
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
2016/03/23 Android Testing Bootcamp #1 発表資料 http://connpass.com/event/26911/
スマホアプリ自動テストサービス
スマホアプリ自動テストサービス
Koh Uehara
スマホアプリの自動検証サービスとして、Amazon Device Farmを利用してみました。うまく使えば、アプリ開発時に複数機種で評価する工数を大幅に短縮できるかもしれません。
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
JAWS Festa−中四国2017− 2017.11.4@愛媛大学
Robotium を使った UI テストとレイアウト確認の効率化
Robotium を使った UI テストとレイアウト確認の効率化
健一 辰濱
2015/02/28 最新事例から学ぶ!モバイル向けテスト手法勉強会Sansan株式会社 辰濱健一 form 徳島サテライト会場(リモート発表)
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
2016/07/02 オープンセミナー2016@香川 発表資料
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
Win7 * appium * androidで実機自動テストやってみた。 2013.4.23 社内共有会にて
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
Shingo Tamaki
社内LT会で作ったAppiumの簡単な説明資料
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
https://sansan.connpass.com/event/211951/ 発表資料
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
Appium を使って iOS / Android の UI テストを共通化してみました。 @Kamiyama.rb#2
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
Koji Hasegawa
http://meisters.doorkeeper.jp/events/11134
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
mirer
2016年3月8日、9日に開催された JaSST'16 Tokyo のモバイルセッションで使用した発表用資料です。
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
「第3回 日本Seleniumユーザーコミュニティ勉強会」の発表資料です。 書籍「Selenium実践入門」の執筆時点の課題(の一部)を解決した話です。 実際の発表時にはデモ動画がありましたが、本資料ではありません。
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
第2回日本Seleniumユーザーコミュニティ勉強会(http://seleniumjp.connpass.com/event/9222/)の発表資料です。
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
2015/3/19のtestips.io ( http://connpass.com/event/6022/ )で発表した内容です。
fastlane触ってみた
fastlane触ってみた
Shingo Tamaki
fastlaneを触ってみたのでその感想をまとめてみた。
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVR
Koji Hasegawa
日本Androidの会 VR部 #JAGVR 第1回勉強会 発表資料 https://atnd.org/events/58583
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
SQiP2014で発表したスライドです。 GUI以外のインターフェイスを使うことによって、削減できるコスト、得ることのできる利益について説明しています。GUI以外のインターフェイスを使う方法にはWindowsではFriendlyがあります。
初めての単体テスト
初めての単体テスト
Basuke Suzuki
Xcode4での単体テストとその意味を語ってます
Lt 20150711
Lt 20150711
Tomoyuki Obi
2015/07/11 に開催された Microsoft Azureで描く未来 !CLR/H &Windows女子部(http://kokucheese.com/event/index/308411/) で行った LT のスライド
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
Koji Hasegawa
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
Tatsuya Ishikawa
システムテスト自動化カンファレンス2017-2での発表です。
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
「iOSDC Reject Conference days2」の発表資料です。
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
景子 西岡
Mackerel Day #mackerelio 「アプリケーションエンジニアがMackerelで楽しく監視構成している事例」 - Speaker DMM.comラボ 西岡景子(id:heleeen) 太田浩一(id:koudenpa) - Description 先日、DMMのサービスの一角である.makeをオンプレミス環境からクラウド環境に移行しました。 その際、サービス担当のアプリケーションエンジニアの責務範囲は大きく拡大しました。 Webサービスの健全な運用にはその状態の監視は欠かせない要素です。 アプリケーションエンジニアがクラウド環境下での監視にどのように取り組んだのか? Mackerel導入に至るまでの経緯、実際の監視構成、そして得られた価値を紹介します。 - connpass https://mackerelio.connpass.com/event/67292/
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
オープンソースのブラウザテストツール「Selenium WebDriver」の使い方と、テストスクリプトを効率よくメンテナンスする方法について、実際にプログラムを書きながら学べるチュートリアル形式教材です。
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
Asiyan Automation Alliance 2015 ~JI・DO・U・KAッ! (2015/06/27) にて発表した資料です。(約45分) 申し込みサイト : http://kokucheese.com/event/index/285177/ …当日本番大失敗の自戒を込めて…
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
健一 辰濱
Android Studio の Java to Kotlin をしたあとにやりたいことのラインナップ 2016/11/26 Kansai.kt LT #kansaikt @株式会社はてな 京都オフィス Sansan株式会社 辰濱健一
More Related Content
What's hot
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
Win7 * appium * androidで実機自動テストやってみた。 2013.4.23 社内共有会にて
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
Shingo Tamaki
社内LT会で作ったAppiumの簡単な説明資料
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
https://sansan.connpass.com/event/211951/ 発表資料
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
Appium を使って iOS / Android の UI テストを共通化してみました。 @Kamiyama.rb#2
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
Koji Hasegawa
http://meisters.doorkeeper.jp/events/11134
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
mirer
2016年3月8日、9日に開催された JaSST'16 Tokyo のモバイルセッションで使用した発表用資料です。
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
「第3回 日本Seleniumユーザーコミュニティ勉強会」の発表資料です。 書籍「Selenium実践入門」の執筆時点の課題(の一部)を解決した話です。 実際の発表時にはデモ動画がありましたが、本資料ではありません。
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
第2回日本Seleniumユーザーコミュニティ勉強会(http://seleniumjp.connpass.com/event/9222/)の発表資料です。
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
2015/3/19のtestips.io ( http://connpass.com/event/6022/ )で発表した内容です。
fastlane触ってみた
fastlane触ってみた
Shingo Tamaki
fastlaneを触ってみたのでその感想をまとめてみた。
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVR
Koji Hasegawa
日本Androidの会 VR部 #JAGVR 第1回勉強会 発表資料 https://atnd.org/events/58583
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
SQiP2014で発表したスライドです。 GUI以外のインターフェイスを使うことによって、削減できるコスト、得ることのできる利益について説明しています。GUI以外のインターフェイスを使う方法にはWindowsではFriendlyがあります。
初めての単体テスト
初めての単体テスト
Basuke Suzuki
Xcode4での単体テストとその意味を語ってます
Lt 20150711
Lt 20150711
Tomoyuki Obi
2015/07/11 に開催された Microsoft Azureで描く未来 !CLR/H &Windows女子部(http://kokucheese.com/event/index/308411/) で行った LT のスライド
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
Koji Hasegawa
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
Tatsuya Ishikawa
システムテスト自動化カンファレンス2017-2での発表です。
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
「iOSDC Reject Conference days2」の発表資料です。
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
景子 西岡
Mackerel Day #mackerelio 「アプリケーションエンジニアがMackerelで楽しく監視構成している事例」 - Speaker DMM.comラボ 西岡景子(id:heleeen) 太田浩一(id:koudenpa) - Description 先日、DMMのサービスの一角である.makeをオンプレミス環境からクラウド環境に移行しました。 その際、サービス担当のアプリケーションエンジニアの責務範囲は大きく拡大しました。 Webサービスの健全な運用にはその状態の監視は欠かせない要素です。 アプリケーションエンジニアがクラウド環境下での監視にどのように取り組んだのか? Mackerel導入に至るまでの経緯、実際の監視構成、そして得られた価値を紹介します。 - connpass https://mackerelio.connpass.com/event/67292/
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
オープンソースのブラウザテストツール「Selenium WebDriver」の使い方と、テストスクリプトを効率よくメンテナンスする方法について、実際にプログラムを書きながら学べるチュートリアル形式教材です。
What's hot
(20)
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
fastlane触ってみた
fastlane触ってみた
VRの入力デバイス #JAGVR
VRの入力デバイス #JAGVR
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
初めての単体テスト
初めての単体テスト
Lt 20150711
Lt 20150711
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
スマートフォンアプリ開発と自動化 〜なじむ。実に!なじむぞ!〜 #AsianAA
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Viewers also liked
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
Asiyan Automation Alliance 2015 ~JI・DO・U・KAッ! (2015/06/27) にて発表した資料です。(約45分) 申し込みサイト : http://kokucheese.com/event/index/285177/ …当日本番大失敗の自戒を込めて…
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
健一 辰濱
Android Studio の Java to Kotlin をしたあとにやりたいことのラインナップ 2016/11/26 Kansai.kt LT #kansaikt @株式会社はてな 京都オフィス Sansan株式会社 辰濱健一
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
2014/08/23 わんくま横浜勉強会の資料
AAA2015 関西風と欧米風 2つのTest Automation Patterns
AAA2015 関西風と欧米風 2つのTest Automation Patterns
Noriyuki Mizuno
AsianAA2015での紹介内容です。
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
yoshihikoozaki5
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
Asian Automation Alliance ~自動化を語り合おう!(2014/06/28) にて発表した資料です。(約50分) 申し込みサイト : http://kokucheese.com/event/index/160374/
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
Takao Sumitomo
開発途中からテストを導入する話です。
Unity testtool
Unity testtool
大介 束田
UnityTestToolを使用する時の単体テストパターンになります。
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
TATSUYA HAYAMIZU
わんくま同盟大阪勉強会#57 セッション資料
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
テストの種類とBDD #33testing
テストの種類とBDD #33testing
Koji Hasegawa
【iOS/Android】最新事例から学ぶ!モバイル向けテスト手法勉強会 発表資料
User Scenario based UI testing with KIF
User Scenario based UI testing with KIF
Yusuke Kita
@sansan
Viewers also liked
(12)
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Java → Kotlin 変換 そのあとに。
Java → Kotlin 変換 そのあとに。
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
AAA2015 関西風と欧米風 2つのTest Automation Patterns
AAA2015 関西風と欧米風 2つのTest Automation Patterns
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
Unity testtool
Unity testtool
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
テストの種類とBDD #33testing
テストの種類とBDD #33testing
User Scenario based UI testing with KIF
User Scenario based UI testing with KIF
Similar to Robotium を使った UI テスト
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Voicepic Slides presented at Fukui Mashup Seminar 2013
Sharoid Service Menu
Sharoid Service Menu
sharoid
20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
API エコノミー友の会 v2 でのセッション資料
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
スタートアップに勝手にオススメなインフラをまとめてみました。 https://www.facebook.com/actcatinc ↑ぜひFBページいいねおねがいします!w。定期的に情報シェアさせて頂きます。
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
健一 辰濱
Firebase Test Lab の Instrumentation テストを Espresso で書いて、Firebase コンソールで実行&確認する話 2016/11/27 DevFest Kansai 2016 LT Sansan株式会社 辰濱健一
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
kumo2010
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
特定のプロジェクトがあり、要件定義をし概要設計をする。 それがアーキテクトの仕事だと思われがちですが、大きな視点を持ち様々な課題を自らリードして解決していく立場としても絶好のポジションです。 このセッションでは、Mobage オープンプラットフォームの立ち上げから、 グローバルプラットフォーム展開、さらには mixi 社との共同プラットフォーム構築、 JavaScript SDK と認証技術の組み合わせによる新しい HTML5 プラットフォーム構築をアーキテクトという立場でリードし続けた立場から、技術選択のみならず実現したい事に対する俯瞰的な捉え方を、これまでの実例と共に紹介し、アーキテクトという役割について、お話します。
Sparkにプルリク投げてみた
Sparkにプルリク投げてみた
Noritaka Sekiyama
2020/07/31 開催の Spark Meetup Toktyo #3 の LT 発表資料です。 https://spark-meetup-tokyo.connpass.com/event/181422/
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
DroidKaigi 2018 「Androidで利用できるデバイスファームのメリット・デメリットの紹介」
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ
de:code 2017
セキュリティにおいて事故前提社会というのはかなり定着してきました。どの会社でも起こりえる「もしも」のインシデント。その際にいち早く異常を検知し、対応を行うことでセキュリティを守ることができます。このセッションでは、Azure のセキュリティ監視手法ついて徹底解説します。 受講対象: データセンターの運用管理に関わる方。特に Azure をご利用されており、運用監視にご興味をお持ちの方はぜひご参加ください。 製品/テクノロジ: セキュリティ/運用/事業継続/Microsoft Azure 山本 美穂 日本マイクロソフト株式会社 デベロッパー エバンジェリズム統括本部 テクニカル エバンジェリスト
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
年間40万件以上発生している交通事故。DRIVE CHARTはAIドラレコで交通事故ゼロ社会を目指すサービスです。 DRIVE CHARTを実現する上では、AIの組み込みやIoT機器によるセンシング、膨大なデータ処理といったチャレンジがありました。 このセッションではその裏側を支えるサーバサイドおよびIoT機器の事例についてご紹介します。 サーバサイドにおいては、セキュアでスケーラブルなアーキテクチャの設計、多言語・多数のコンポーネント間のマイクロサービス化、IoT機器やAIシステムとの膨大な動画・データ処理連携における工夫、OpenAPIDocumentを利用したAPI自動テストの効率化をご紹介したいと思います。 IoT機器においては、リアルタイムでのAI活用で発生した課題とその対策・検証、IoT機器の移動体通信の仕組みと通信量削減の手法について具体的な事例をご紹介したいと思います。
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
2015/06/22 にJSUGのイベントでの発表に使用した資料です.
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
日本マイクロソフト株式会社
Azure Bot Services を使って、Microsoft Teams で動く bot を開発してみる、入門セッションです
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
テスト自動化研究会主催「テスト自動化カンファレンス2014」発表資料 質疑応答やTweetいただいた内容について補足を加えたエントリを書きました http://nowsprinting.hatenablog.com/entry/2014/12/15/080000
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
2012年4月28日に開催された「第2回 Androidテスト祭り」での「リモート・スマホ・レンタル」のプレゼン資料です。 発表の際に用いた動画は「http://www.youtube.com/watch?v=peeTNJfmq2Y」です。 まとめについては「http://togetter.com/li/294592」をご覧ください。
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
HTML5 Conference 2012 の講演資料 WebIntentsとRaw Socket APIのコンビネーションにより、WebからTVが直接操作できること。そして、シームレスなデバイス連携に関わる最新標準化動向 I strongly believe that People become to access cloud service and local devices in seamless way.
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
【大阪開催】【サバソニSP】『サーバーレス』の巻 https://serverworks.doorkeeper.jp/events/53980 の発表スライドです。
20090328
20090328
小野 修司
Lightning componentとlightning design system
Lightning componentとlightning design system
Noriko Iwai
Lightning もくもく会 #5のLTスライドです。 Lightning Component と Lightning Design System を使った簡単なアプリ開発をしてみた雑感と AuraJS の機能について軽く説明しています。
Similar to Robotium を使った UI テスト
(20)
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Sharoid Service Menu
Sharoid Service Menu
20170705 apiをつくろう
20170705 apiをつくろう
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
Espresso と Firebase Test Lab で Android アプリのテストを自動化する
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Sparkにプルリク投げてみた
Sparkにプルリク投げてみた
DroidKaigi_devicefarm
DroidKaigi_devicefarm
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Spring I/O 2015 報告
Spring I/O 2015 報告
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
20090328
20090328
Lightning componentとlightning design system
Lightning componentとlightning design system
More from 健一 辰濱
地方創生ワカモノ会合
地方創生ワカモノ会合
健一 辰濱
地方創生ワカモノ会合 in 松山(2019/08/04)資料
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
健一 辰濱
DevFest Shikoku 2021 ハンズオン資料 https://gdgshikoku.connpass.com/event/228198/
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
健一 辰濱
2020/11/21Android Bazaar and Conference Diverse 2020 Autumn https://sites.google.com/view/abcd2020a/ GDG Shikoku / Sansan, Inc. Kenichi Tatsuhama
Android 開発の昔と今
Android 開発の昔と今
健一 辰濱
2020/10/24(土) オープンソースカンファレンス2020 Online/Fall セミナープログラム https://event.ospn.jp/osc2020-online-fall/session/205633
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
健一 辰濱
GDG DevFest 2020 2019 年に発表された Firebase Extensions を使うことで、Firebase で実装しているアプリやサービスに様々な機能を従来よりもはるかに簡単に追加できるようになりました。 どんな機能が用意されているかや、導入方法などを紹介します。
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
健一 辰濱
2020/05/30(土) Android Bazaar and Conference 2020 Spring https://japan-android-group.connpass.com/event/163706/
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
健一 辰濱
GDG DevFest Tokyo 2019 Day2 Special Hands-on https://tokyo.gdgjapan.org/devfest2019 https://codelabs.developers.google.com/codelabs/growfirebase-android/index.html#0 を進めたときの Firebase console のスクショです。 Codelab の補助資料として活用下さい。
Firebase Summit 2019 Recap
Firebase Summit 2019 Recap
健一 辰濱
2019/11/23(Sat) GDG 四国10周年記念 DevFest
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
健一 辰濱
Cloud Firestore を使って、Polling をやめたい話 2019/10/29 Firebase Meetup in Osaka #6 https://fjug-osaka.connpass.com/event/143545/
Firebase hands on in Matsuyama
Firebase hands on in Matsuyama
健一 辰濱
Firebase hands on in Matsuyama https://gdgshikoku.connpass.com/event/124264/
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
健一 辰濱
iOSDC 2018 LT 資料
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
健一 辰濱
Mobile Act OSAKA #5 発表資料 https://mobileact.connpass.com/event/86668/
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
企業スポンサー
企業スポンサー
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
参加したセッションのピックアップ
参加したセッションのピックアップ
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
CFP(Call For Paper)を出す話
CFP(Call For Paper)を出す話
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
健一 辰濱
「GDG Shikoku - DroidKaigi 2018 参加報告会」 https://gdgshikoku.connpass.com/event/78616/ 発表資料
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
健一 辰濱
2018/02/03 Android Bazaar&Conference, Diverse 2018 UDON県 @e-とぴあ香川
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド
健一 辰濱
エンジニアの移住相談会~移住するならどんな町? 地方都市 VS 里山 VS 離島のトークバトル https://connpass.com/event/70962/ 自己紹介スライド
More from 健一 辰濱
(20)
地方創生ワカモノ会合
地方創生ワカモノ会合
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
Android 開発の昔と今
Android 開発の昔と今
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
Firebase Summit 2019 Recap
Firebase Summit 2019 Recap
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
Firebase hands on in Matsuyama
Firebase hands on in Matsuyama
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
企業スポンサー
企業スポンサー
参加したセッションのピックアップ
参加したセッションのピックアップ
CFP(Call For Paper)を出す話
CFP(Call For Paper)を出す話
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド
Robotium を使った UI テスト
1.
Robotium を使った UI
テスト 2016/02/20 DroidKaigi 2016 Reject Conf Sansan 株式会社 辰濱健一
2.
Copyright © 2014
Sansan, Inc. All rights reserved. > Agenda 1 • 自己紹介 • なぜ Robotium? • テスト記述のポリシー • 実行環境 • デモ • 自動テストを導入してみて • UI テストで他にもできること • これから
3.
Copyright © 2014
Sansan, Inc. All rights reserved. 自己紹介 2
4.
Copyright © 2014
Sansan, Inc. All rights reserved. > 自己紹介 3 • 辰濱健一 • https://www.facebook.com/kenichi.tatsuhama • http://www.slideshare.net/kenichitatsuhama • 徳島県生まれ、徳島県勤務 • Tokushima.app というスマホアプリ勉強会を主催 • 趣味は音楽&旅行
5.
Copyright © 2014
Sansan, Inc. All rights reserved. > 自己紹介 4 • 業務経歴 • 1社目@徳島市 • Java, C++, MFC • UWSC を使った Windows アプリの UI 自動テストの導入 • 性能改善チームにて、自動性能計測ツールを作成 • 2社目@徳島市 • iOS(Objective-C), Android(Java), Windows(C#)の スマホ&タブレット向けアプリ開発 • 機能担当制、iOS で作った機能は作った人が他 OS に移植 • 3社目@徳島県神山町 • スマホアプリの自動テスト • リモートワーク 開発& 品質担保と自動テスト モバイル開発 モバイル開発での 品質担保と 自動テスト
6.
Copyright © 2014
Sansan, Inc. All rights reserved. > Sansan株式会社 5 モバイルアプリエンジニアは、2つの事業部で8人のメンバー ・Sansan … 4名(iOS x2 / Android x2) ・Eight … 4名(iOS x2 / Android x2)
7.
Copyright © 2014
Sansan, Inc. All rights reserved. > Sansan神山ラボ 6 • 築70年の木造古民家(3棟) • 略歴 • 2010年設置 • 〜2013/11:合宿所 • 2013/11〜:常駐メンバーのいる開発拠点に • 家具家電、畑付き、風呂トイレセパレート • 家賃:数万円 / 月 • インターネット接続:光回線 • 最寄り駅まで徒歩15分 • 改装OK物件
8.
Copyright © 2014
Sansan, Inc. All rights reserved. > Sansan神山ラボ 7
9.
Copyright © 2014
Sansan, Inc. All rights reserved. > 昨日もパンフレット入れさせて頂きました! 8
10.
Copyright © 2014
Sansan, Inc. All rights reserved. > 余談 9
11.
Copyright © 2014
Sansan, Inc. All rights reserved. > 余談 10 ちゃんと徳島に 帰ることができるのか!?
12.
Copyright © 2014
Sansan, Inc. All rights reserved. > 余談 11 ちゃんと徳島に 帰ることができるのか!? 徳島空港から家まで車なので呑めない… 飛ばないとわかっていれば呑める。。。
13.
Copyright © 2014
Sansan, Inc. All rights reserved. なぜ Robotium? 18
14.
Copyright © 2014
Sansan, Inc. All rights reserved. > スマホアプリの自動テストライブラリ 19 - Android 専用 - Robotium - monkeyrunner - Espresso - UI Automater など… - iOS 専用 - KIF - Kiwi - など… - ハイブリッド - Appium - Calabash - MonkeyTALK - など…
15.
Copyright © 2014
Sansan, Inc. All rights reserved. > Robotium にした理由 20 • Android 実装と同じ Java 言語で記述 • アプリケーション内部のオブジェクトを参照できる • UI に見えない内部の値、Activity の getter を呼べる SharedPreference の値 • DB にもアクセスできるので期待値を動的生成できる → サーバ DB 状態の変更にも強い • ただし、リリースビルドでは使えない • リリースバイナリでも使いたい&iOS / Android のテストコード共通化のため、 Appium によるテストコード記述も実践中 ※Appium は、アプリ内部のオブジェクトは参照できない • 導入当時(2014/05)、最終局面で Espresso とどっちにす るか悩んだ。 •
16.
Copyright © 2014
Sansan, Inc. All rights reserved. > Robotium にした理由 21 • Android 実装と同じ Java 言語で記述 • アプリケーション内部のオブジェクトを参照できる • UI に見えない内部の値、Activity の getter を呼べる SharedPreference の値 • DB にもアクセスできるので期待値を動的生成できる → サーバ DB 状態の変更にも強い • ただし、リリースビルドでは使えない • リリースバイナリでも使いたい&iOS / Android のテストコード共通化のため、 Appium によるテストコード記述も実践中 ※Appium は、アプリ内部のオブジェクトは参照できない • 導入当時(2014/05)、最終局面で Espresso とどっちにす るか悩んだ。 • 今となっては、Espresso にしておけば良かったと思う…。
17.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー 22
18.
Copyright © 2014
Sansan, Inc. All rights reserved. > テスト記述のポリシー 23 • ライブラリとテストコードの結合度を下げる • まずは、浅く・広く記述する • あきらめも大事 • 待ち方のコツ • どの環境でも動くように
19.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー ライブラリとテストコードの結合度を下げる 24
20.
Copyright © 2014
Sansan, Inc. All rights reserved. > ライブラリとテストコードの結合度を下げる 25 • 目的 • テストコードの可読性を上げる • ライブラリに依存しないテストコードにする • ライブラリにない機能追加ができる • 実行ログの記録 • エラー時にスクリーンショットを残すようにする • 理由 • ライブラリの API 変更, ライブラリの置き換えでテスト コードの修正が伴わない • 失敗時の原因調査がしやすい
21.
Copyright © 2014
Sansan, Inc. All rights reserved. > Robotium Getting Started は密結合 26 • https://github.com/RobotiumTech/robotium/wiki/Getting-Started • あくまでも API の使い方と思っておきましょう。 • 【対応】テストの基底クラスなどを作って clickOnText(String)を作り、 テストコードではそちらを呼び出す テストコードと ライブラリが密結合
22.
Copyright © 2014
Sansan, Inc. All rights reserved. > ライブラリの依存性排除 27 • ライブラリの隠蔽 Robotium 版
23.
Copyright © 2014
Sansan, Inc. All rights reserved. > ライブラリを置き換えるとしても… 28 • テストコードを修正することなく、対応可能 Robotium 版 Espresso 版 ※Robotium と Espresso は同じ InstrumentationTest なので、共存可能!!
24.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー まずは、広く・浅く記述する 29
25.
Copyright © 2014
Sansan, Inc. All rights reserved. > まずは、広く・浅く記述する 30 • 背景 • スマホアプリの UI や機能は比較的すぐ見直しが入る • 使えないと致命的な機能と、そうでない機能がある • 対策 • まずは、費用対効果の高い、主要機能のワンパスを通す • ログイン → 検索・閲覧・編集 → ログアウト あたり • ログイン時のバリデートチェックよりも、ログインできる かの方が重要 • 慣れてきたら、各画面の詳細テストへ
26.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー あきらめも大事 31
27.
Copyright © 2014
Sansan, Inc. All rights reserved. > あきらめも大事 32 • 別アプリと連携するものなどは手動で確認へ • 例) • カメラのピントが合っていること • 住所文字列をタップすると地図アプリが起動し、その場所 にピンが立っていること • URL をタップするとブラウザが起動し、ページが正しく表 示されること • 場合によってはアプリ選択画面が出る • 起動後の状態判定は目視の方が容易 • こういう所の自動化を頑張るのは費用対効果的に微妙…
28.
Copyright © 2014
Sansan, Inc. All rights reserved. > あきらめも大事 33 • 例)URL をタップするとブラウザが開く アプリ ブラウザ
29.
Copyright © 2014
Sansan, Inc. All rights reserved. > あきらめも大事(だけど、知見共有) 34 • 例)URL をタップするとブラウザが開く • Robotium や Espresso は UI 操作により別アプリが開 くと、その後どうしようもなくなる… • 理由 • アプリケーションの操作であって、端末の操作ではない • 対応策 • UI Automaterと 併用する • ※但し、minSdkVersion に注意 • Espresso の Intent チェックを使う
30.
Copyright © 2014
Sansan, Inc. All rights reserved. > あきらめも大事:メールチェック編 35 • 別アプリ…とはいえ、送られてきたメールをチェックする なら、MailCatcher & MailCatcher API で実現可能 • MailCatcher • SMTPサーバを経由したメールをブラウザから 確認できる。開発中の誤送信防止にも役立つ。 • http://mailcatcher.me/ • MailCatcher API • /messages • /messages/:id.json • /messages/:id.html • /messages/:id.plain など
31.
Copyright © 2014
Sansan, Inc. All rights reserved. > あきらめも大事:メールチェック編 36 • Retrofit & RxAndroid を使えば容易 • 指定したタイトルのメールが届いているか? • 特定のメールを開いて本文の URL をタップ (メール本文から URL を抽出して、OkHttpClient など で post する) ※Message モデルのプロパティは 一部しか宣言していない
32.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー 待ち方のコツ 37
33.
Copyright © 2014
Sansan, Inc. All rights reserved. > 待ち方のコツ 38 • テストコードでは SLEEP 関数は使わない • 自作関数やライブラリのラッパー関数内で使うのはアリ • 端末、実行環境、サーバの状態によって待ち時間は違 う! • どうするか? → wait* 関数を使う • ライブラリ関数の例 • waitForActivity • waitForFragmentByTag • waitForCondition
34.
Copyright © 2014
Sansan, Inc. All rights reserved. テスト記述のポリシー どの環境でも動くように 39
35.
Copyright © 2014
Sansan, Inc. All rights reserved. > どの環境でも動くように 40 • 期待値の動的生成 • エミュレータ判定 • 多言語対応
36.
Copyright © 2014
Sansan, Inc. All rights reserved. > どの環境でも動くように 41 • 期待値の動的生成 • エミュレータ判定 • 多言語対応
37.
Copyright © 2014
Sansan, Inc. All rights reserved. > 期待値の動的生成 42 • 弊社の開発事情によるところかも知れないですが… 「開発用」「ステージング」「本番」でデータセット が異なります。 • 検索結果などが保証されるためにも • ローカル DB を参照して期待値を動的生成する • ログイン後にテストコードでデータを作る操作を行う • このデータに対し、検索・編集・削除などのテストを行う • ノイズにならないためにログアウト前に作ったデータを 削除する操作を行う • これにより、データ非依存なテストケースになります
38.
Copyright © 2014
Sansan, Inc. All rights reserved. > 期待値の動的生成 43 実際のテストコード myName : ”山田賢治” users : {Uesr(阿部拓真), User(浅野緋美) , User(葉加瀬万太郎), …} ※ログインユーザを変えると、myName は違う値 ※ログイン企業を変えると、users も違うデータセットが返る
39.
Copyright © 2014
Sansan, Inc. All rights reserved. > どの環境でも動くように 44 • 期待値の動的生成 • エミュレータ判定 • 多言語対応
40.
Copyright © 2014
Sansan, Inc. All rights reserved. > どの環境でも動くように 45 • エミュレータかどうかの判定 • 実機じゃないと確認できない項目(カメラなど)は このフラグを見てスキップさせる
41.
Copyright © 2014
Sansan, Inc. All rights reserved. > どの環境でも動くように 46 • 期待値の動的生成 • エミュレータ判定 • 多言語対応
42.
Copyright © 2014
Sansan, Inc. All rights reserved. > 多言語対応 47 • https://github.com/RobotiumTech/robotium/wiki/Getting-Started • ↑あくまでも API の使い方と思っておきましょう。 • 【対応】 • Robotium なら、clickOnText(@StringRes int) を作って、 getString(…) • Espresso なら、withText に @StringRes int を渡す 日本語の時文言が違えば、 このコードはエラーになる
43.
実行環境
44.
Copyright © 2014
Sansan, Inc. All rights reserved. > 実行環境 49 • 基本的に実機で実行 • 昔は Jenkins & エミュレータでやっていた • テストが増え、CI 環境を長時間(2h 以上)占有する& エミュレータが不安定なためやめた • jacoco でカバレッジ計測 • どこのテストが足りてないかわかる • 開発環境 DB で実施 • 固定のデータセット、特定のデータを使いたい場合は Docker にて特定のデータセットを持つ DB を用意
45.
Copyright © 2014
Sansan, Inc. All rights reserved. > Jacoco のカバレッジレポート 50 • html で出力される(抜粋) • • 2016/02時点で 59% をカバーできている
46.
Copyright © 2014
Sansan, Inc. All rights reserved. > Jacoco のカバレッジレポート 51 • html で出力される • 通っていないパスがよくわかる
47.
Copyright © 2014
Sansan, Inc. All rights reserved. > Docker を使った固定データ環境 52 • 開発環境(データや件数が他者によって書き換えられる可能性があ る)でもテストが行えるようにしているが、以下のニーズ がある • パフォーマンス計測がしたい(ので、件数固定じゃないとダメ) • テスト用に特定のユーザセットが欲しい • 例)アカウント停止ユーザのエラーチェック • アプリからは設定できないデータを持つ名刺が欲しい • 例)名刺交換日未設定 • ローカル DB をアテにしない期待値を書きたい • 例)山田賢治さんは○○枚名刺を持っている • Docker で環境(API&DB)のイメージを持っておき、テス トコードから環境準備&片付けを行う
48.
Copyright © 2014
Sansan, Inc. All rights reserved. > Docker を使った固定データ環境 53 • 事前準備 • Jenkins に環境起動用のジョブ / 環境破棄用のを作成 • テスト実行時 • setup() で 環境起動用の Jenkins ジョブを Jenkins WebAPI を用いて実行 • アプリの API の向き先を差し替える • テスト実行中 • 起動した環境に接続してテストを実施 • テスト終了時 • tearDown() で環境破棄用の Jenkins ジョブを Jenkins WebAPI を用いて実行 • API の向き先を戻す
49.
デモ
50.
Copyright © 2014
Sansan, Inc. All rights reserved. > デモ動画 55 • 2014/11 時点の動画です • http://youtu.be/scY_RPgfxeY • 4分ぐらいありますが、発表時間の都合上ちょっとだ け…
51.
自動テストを導入してみて
52.
Copyright © 2014
Sansan, Inc. All rights reserved. > 自動テスト導入してみて 57 • デグレードがないことを容易に確認できる • メンテは思ったほど大変じゃない • コツ:1行で書ける画面操作も clickSendButton() など の関数にして共通利用するとよい • テストでしっかりカバーしていれば、大規模なリファ クタリングも安心! • これから、通信ライブラリ・カメラ API・デザインパーツの差し替 え・DB の置き換え?などが控えている • モックを使わないので、サーバの動作確認にもなる
53.
UI テストで他にもできそうなこと (ちょっとだけ着手して、本格導入できていない件)
54.
Copyright © 2014
Sansan, Inc. All rights reserved. > 推移時間(イメージ) 59 • パフォーマンス改善の結果確認、性能デグレの検出が できる(かも?) • 通信状態やサーバ状態に大きく左右される気がする… 0 2 4 6 8 10 12 2015/2/27 2015/2/28 2015/3/1 2015/3/2 2015/3/3 2015/3/4 2015/3/5 2015/3/6 ログイン処理 初回同期 名刺画像送信 詳細データ取得 高画質画像データ取得 手動同期処理
55.
Copyright © 2014
Sansan, Inc. All rights reserved. > 通信回数の分析 60 - 呼び出し毎に API名と実行時間を csv ファイルに出力 - Excel のピボットテーブルで集計 - iOS / Android で同じ仕組みを入れれば、 同じ操作で API 呼び出しの違いがわかる! そんなに呼び 出す必要ある の…? サーバ負荷削減のためのボトルネック分析が容易になる Excelマクロ
56.
Copyright © 2014
Sansan, Inc. All rights reserved. > 通信回数の分析(推移) 61 - さっきのデータを実行毎に集計する 呼び出し回数削減施策導入
57.
Copyright © 2014
Sansan, Inc. All rights reserved. > スクショ一覧 62 画面名→ 画面名→ 画面名→ Nexus4 Nexus5 デザイン指示画像(期待値) ※元サイズが違うけど、 今は同じサイズで 表示されている 目で比較する! デザイナのチェックや 意図しないレイアウト崩れの 確認が楽になりました
58.
これから
59.
Copyright © 2014
Sansan, Inc. All rights reserved. > これから 64 • Espresso も併用して、Robotium ではテストしづら かった部分のテスト(Intent のチェックなど)を行う • UI Automater も併用して、 • アクティビティを保持しない設定にする • 最小化&復帰後の画面状態のテスト • AWS Device Farm を使って、所有していない端末 でのテストも行う
60.
Copyright © 2014
Sansan, Inc. All rights reserved. > DroidKaigi 2016 落ちたけど… 65 • JAWS DAYS 2016 出ます! http://jawsdays2016.jaws-ug.jp/speaker/409 http://jawsdays2016.jaws-ug.jp/
61.
Copyright © 2014
Sansan, Inc. All rights reserved. > Device Farm を使ったスマホアプリの自動テスト 66 http://jawsdays2016.jaws-ug.jp/speaker/409
62.
質疑応答
63.
ステッカー欲しい方は お声がけ下さい!!
Download now