SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
id:nobuoka (@nobuoka)
株式会社はてな
2014-04-03 android.casual.test #2
はてなにおける
Android アプリのソフトウェアテスト
こんにちは、id:nobuoka です
● 普段の仕事
– サーバーサイド: Perl
– クライアントサイド: Web (JS)、Android アプリ (Java)
● 去年の 5 月ぐらいから Android アプリ開発を学び
始めた。
– 『Android アプリ開発のための Java 入門』
http://vividcode.hatenablog.com/entry/release-notes
/java-for-android-app-text
最近は Presso のサーバーサイド
是非ご利用ください!!
概要
● Android アプリ開発とソフトウェアテスト
● はてなでの Android アプリのテスト
● 細かなプラクティス
● カジュアルに情報共有。
● 他の組織でどういうテストをしてるのか知りたい。
Android アプリ開発と
ソフトウェアテスト
何のためのソフトウェアテストか
● 製品品質の向上
– 欠陥検出
– 欠陥の作りこみを防ぐ
– 設計の向上
– などなど
Android アプリ開発における
テストの重要性
● 多様な端末のサポート。
– API level、画面解像度、...。
● 動作確認しづらい状況をテストで実行する。
– 特殊な状況で期待通り動作するのか。
● 早期に欠陥を発見する。
– アプリとして完成してからではデバッグが困難。
– サーバー側が未完成という状況。
● 『テストのないコードはレガシーコードだ』
ソフトウェアテストだけが
品質向上の手段ではない
● コードレビュー、ベータテスト、などなど。
– 欠陥検出率、コストの面でソフトウェアテストより有利。
– 『CODE COMPLETE 第 2 版 下』
● テストを書くだけ無駄じゃないの? → NO
– コードレビュー等とは異なる種類の欠陥を検出。
– 設計向上等欠陥検出以外の効果、回帰テスト、など。
●
様々な手段を組み合わせよう。
– ソフトウェアテストもやろう!
はてなにおける
Android アプリのテスト
はてなのテスト文化
● もともとテストを書こうという文化がある。
– サーバーサイドはわりとしっかり書いてきた。
● 単体テスト、結合テスト。
● Jenkins での CI。
● Android アプリのテストはこれまでなかったが、導
入に際して特に障壁はなし。
– 当然、テスト導入のために上司を説得、とかはない。
Gradle + Android Gradle plugin
● ビルドやテスト実行が手軽にできる。
– ./gradlew connectedAndroidTest
● Ant や Maven を導入するよりも楽。
– Gradle wrapper の存在。
– Android Studio の標準ということ。
● IDE は Android Studio。
– Eclipse からまだ乗り換えられない、というチームでも
(Eclipse と併用で) Gradle を導入は有りだと思う。
Gradle + Android Gradle plugin
● まだ開発版で不安定なところもある。
– バグがあったり、API が変わったり。
– プラグインの中身を読める人間がいると安心。
● Eclipse と比べてビルドが遅い。
– より正確には実行ボタンを押してからが長い。
● 乗り換えられるなら乗り換えて良さそう。
● http://vividcode.hatenablog.com/entry/android-
app/gradle-build-system
Jenkins + Android Emulator plugin
● 定期的なテスト実行。
– リリース版パッケージを生成させるとかはしてない。
● Jenkins の設定画面上でプラグインのインストー
ル、エミュレータの設定など可能。
● プラグインが Android SDK をインストールし、ビル
ド時に Android エミュレータを起動してくれる。
● http://vividcode.hatenablog.com/entry/android-a
pp/jenkins-test
テストの導入は難しくない
● ビルドシステムに Gradle を使えばテスト実行は容
易。
● Android テスティングフレームワークの存在。
– Activity のテストや Service のテストのための
TestCase クラスが容易されている。
● Jenkins でテストを自動実行することも容易。
どういうテストを書いているか
● あらゆるテストを書いているわけではない。
– もともとテストはなかったわけだし。
● 主に単体テスト。
● いわゆるビジネスロジック部分。
● API level により分岐しているメソッドのテスト。
●
ネットワーク通信周り。
– 動作確認しづらいところ。 エラーレスポンス時とか。
●
などなど。
テストを書いて変更する
● テストを書くことでエンバグを防ぐ。
● 変更箇所の理解が深まる。
● 『レガシーコード改善ガイド』
●
バグ修正。
– まずはバグを再現するテストコードを記述。
– それからテストを変更し、実装も変更。
● 仕様変更やパフォーマンス向上等。
– バグ修正と同様、最初にテストを書いて、変更する。
Android アプリのソフトウェアテスト
にまつわるプラクティス
Android SDK のセットアップが面倒?
● Jenkins でテストを実行する際に面倒なのが
Android SDK の準備。
● ビルドスクリプト内で Android SDK の準備をする
Gradle plugin を使うと良い。
– nobuoka/vc-gradle-android-sdk-manager ← 作った
– cookpad/gradle-android-sdk-manager
– JakeWharton/sdk-manager-plugin
● CI だけでなく手元で開発する際にも便利。
Espresso (UI のテスト)
● android-test-kit に含まれる。
● UI 操作に関する単体テスト (?) をするなら
Espresso が手軽で良い。
– 複数 Activity にまたがる操作などは別のものを使っ
た方が良いだろう。
● ボタンクリックで期待通りの結果になるか、とか。
● バッドノウハウ: 古い API level (API level 8 で確認) だ
と、リストを一度スクロールしないと画面上にない
項目をタップできない。 (TouchUtils とかで。)
Espresso で UI のテストをする例
// 対象の `ListView`。
ListView listView =
(ListView) settingActivity.findViewById(android.R.id.list);
// バッドノウハウ: ドラッグしないと隠れてる項目をタップできない
TouchUtils.dragViewToTop(this, listView, 10);
// `keyValue` のキーを持つ項目をタップ。
Matcher<Preference> keyAdvancedMatcher =
PreferenceMatchers.withKey(keyValue);
onData(Matchers.<Object>allOf(keyAdvancedMatcher)).
perform(click());
● せっかくなのでデモでも。
GoogleInstrumentationTestRunner
● android-test-kit に含まれるテストランナー。
● Espresso を使用するなら必須。
● Espresso とは関係なく使用することも可能。
●
Instrumentation 終了前に、その instrumentation
で起動されたすべての activity が終了することを
保証する。
● Mockit を API level 7 以前で動くようにする。
Volley を使っているコードのテスト
● リクエスト、レスポンスの処理をモックしたい。
● Volley を使用している処理自体を置き換える。
● 別の方法: Volley ではネットワーク通信の処理が
抽象化されている (Network インターフェイス) の
で、テスト用の Network を作り、それを使う Volley
オブジェクトを使用する。
– com.android.volley.RequestQueueTest.OrderChecking
Network が参考になる。
テスト時のみ値を変えたい!
● 例えば接続先サーバーのホスト名を変えるとか。
● Build type の使用が 1 つの方法。
– Android Gradle plugin の機能。
● デフォルトの release、debug の他に testtarget
build を作り、テスト対象に設定。
● Testtarget build 用のリソースファイルを作成。
●
BuildConfig を使用するというのも。
テスト時のみ値を変えたい!
buildTypes {
/* テスト用のビルドタイプ */
testtarget.initWith(buildTypes.debug)
/* テスト時のみ BuildConfig.XXX_DRY_RUN を false にする */
release { buildConfigField "boolean", XXX_DRY_RUN "false" }
debug { buildConfigField "boolean", XXX_DRY_RUN, "false" }
testtarget { buildConfigField "boolean", XXX_DRY_RUN, "true" }
}
/* テスト用のビルドタイプを指定 */
testBuildType "testtarget"
● 使いすぎるのも良くないけど一つの方法として。
まとめ
● Gradle + Jenkins で Android アプリのテスト環境
の構築、テストの継続的な実行が容易。
● ソフトウェアテストを導入しよう!
– コスト的にためらっている? → 導入は容易
– 手動での動作確認やコードレビューなどと併用するこ
とで、より品質を高められる。
● android-test-kit など、テストのためのツールはい
ろいろある。
エンジニア募集!
Android アプリエンジニアも
そうじゃないエンジニアも
京都・東京
http://hatenacorp.jp/recruit/

Más contenido relacionado

La actualidad más candente

What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?ak_shio_555
 
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介Masataka Kono
 
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化Kenichi Kambara
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practicecch-robo
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Koji Hasegawa
 
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポートGBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポートYutaka Kato
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門Shingo Tamaki
 
Androidアプリケーション開発入門
Androidアプリケーション開発入門Androidアプリケーション開発入門
Androidアプリケーション開発入門OESF Education
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018Unity Technologies Japan K.K.
 
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsiOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsYusuke Kita
 
JUnit5とAndroidのテスト
JUnit5とAndroidのテストJUnit5とAndroidのテスト
JUnit5とAndroidのテストHiroshi Kikuchi
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Naoto Kishino
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015Yahoo!デベロッパーネットワーク
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 KanazawaKeiji Ariyama
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LTAndroid6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LTKatsuki Nakatani
 
Androidプログラミング入門
Androidプログラミング入門Androidプログラミング入門
Androidプログラミング入門OESF Education
 

La actualidad más candente (20)

What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
 
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
 
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポートGBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
 
Androidアプリケーション開発入門
Androidアプリケーション開発入門Androidアプリケーション開発入門
Androidアプリケーション開発入門
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018
 
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotipsiOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotips
 
JUnit5とAndroidのテスト
JUnit5とAndroidのテストJUnit5とAndroidのテスト
JUnit5とAndroidのテスト
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LTAndroid6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
 
Androidプログラミング入門
Androidプログラミング入門Androidプログラミング入門
Androidプログラミング入門
 

Destacado

JUnitテストを1日やってみた
JUnitテストを1日やってみたJUnitテストを1日やってみた
JUnitテストを1日やってみたMima Yuki
 
テストプラットフォームサービスの舞台裏
テストプラットフォームサービスの舞台裏テストプラットフォームサービスの舞台裏
テストプラットフォームサービスの舞台裏Yuto Tachibana
 
悩める金融系SEの軌跡
悩める金融系SEの軌跡悩める金融系SEの軌跡
悩める金融系SEの軌跡Fumiyasu Sumiya
 
没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト伸男 伊藤
 
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)dynamis
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へSEED310
 
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810Takayoshi Sakaino
 
Qaアーキテクチャの話
Qaアーキテクチャの話Qaアーキテクチャの話
Qaアーキテクチャの話Kosuke Fujisawa
 
第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化Koji Hasegawa
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門Preferred Networks
 
はじめてのソフトウェアテスト
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテストRina Fukuda
 
Androidにおけるテストに関して 2014/11
Androidにおけるテストに関して 2014/11Androidにおけるテストに関して 2014/11
Androidにおけるテストに関して 2014/11Hiroshi Hashimoto
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月VirtualTech Japan Inc.
 
未来の情報の可視化について - Future share
未来の情報の可視化について - Future share未来の情報の可視化について - Future share
未来の情報の可視化について - Future shareMotoki Ohno
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくったJoe_noh
 
デザイナーの私と サービスをつくる私
デザイナーの私と サービスをつくる私デザイナーの私と サービスをつくる私
デザイナーの私と サービスをつくる私Shizuka Yamada
 
ソフトウェアテストことはじめ
ソフトウェアテストことはじめソフトウェアテストことはじめ
ソフトウェアテストことはじめKosuke Fujisawa
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール Masao Maeda
 
Isucon makers casual talks
Isucon makers casual talksIsucon makers casual talks
Isucon makers casual talksMasahiro Nagano
 

Destacado (20)

JUnitテストを1日やってみた
JUnitテストを1日やってみたJUnitテストを1日やってみた
JUnitテストを1日やってみた
 
テストプラットフォームサービスの舞台裏
テストプラットフォームサービスの舞台裏テストプラットフォームサービスの舞台裏
テストプラットフォームサービスの舞台裏
 
悩める金融系SEの軌跡
悩める金融系SEの軌跡悩める金融系SEの軌跡
悩める金融系SEの軌跡
 
没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト没セッション 知識ゼロから学んだソフトウェアテスト
没セッション 知識ゼロから学んだソフトウェアテスト
 
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
 
20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ20150717 これからプログラミングを勉強する人へ
20150717 これからプログラミングを勉強する人へ
 
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
九州ソフトウェアテスト勉強会Vol.16 発表資料 150810
 
JS history
JS historyJS history
JS history
 
Qaアーキテクチャの話
Qaアーキテクチャの話Qaアーキテクチャの話
Qaアーキテクチャの話
 
第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化第3回Ques ここからはじめる!Androidアプリのテスト自動化
第3回Ques ここからはじめる!Androidアプリのテスト自動化
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
はじめてのソフトウェアテスト
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテスト
 
Androidにおけるテストに関して 2014/11
Androidにおけるテストに関して 2014/11Androidにおけるテストに関して 2014/11
Androidにおけるテストに関して 2014/11
 
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
 
未来の情報の可視化について - Future share
未来の情報の可視化について - Future share未来の情報の可視化について - Future share
未来の情報の可視化について - Future share
 
DBにseedするライブラリつくった
DBにseedするライブラリつくったDBにseedするライブラリつくった
DBにseedするライブラリつくった
 
デザイナーの私と サービスをつくる私
デザイナーの私と サービスをつくる私デザイナーの私と サービスをつくる私
デザイナーの私と サービスをつくる私
 
ソフトウェアテストことはじめ
ソフトウェアテストことはじめソフトウェアテストことはじめ
ソフトウェアテストことはじめ
 
管理画面のアクセスコントロール
管理画面のアクセスコントロール 管理画面のアクセスコントロール
管理画面のアクセスコントロール
 
Isucon makers casual talks
Isucon makers casual talksIsucon makers casual talks
Isucon makers casual talks
 

Similar a はてなにおける Android アプリのソフトウェアテスト

Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編Kenji Fukumoto
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版baroqueworksdev
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会Takeaki Tada
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Tatsuya Ishikawa
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術Yu Nobuoka
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Shinya Nakajima
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜Takao Sumitomo
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カットRakuten Group, Inc.
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
20150802 codeal androidアプリを作ろう(おみくじアプリ編)
20150802 codeal androidアプリを作ろう(おみくじアプリ編)20150802 codeal androidアプリを作ろう(おみくじアプリ編)
20150802 codeal androidアプリを作ろう(おみくじアプリ編)codeal
 
smartphone test (know how & tools)
smartphone test (know how & tools)smartphone test (know how & tools)
smartphone test (know how & tools)Yukio Andoh
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話Shoya Tsukada
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Masayuki Abe
 

Similar a はてなにおける Android アプリのソフトウェアテスト (20)

Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会デブサミ 2013 日本App Inventorユーザー会
デブサミ 2013 日本App Inventorユーザー会
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
 
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
 
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
 
Jenkins導入ライブ
Jenkins導入ライブJenkins導入ライブ
Jenkins導入ライブ
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
20150802 codeal androidアプリを作ろう(おみくじアプリ編)
20150802 codeal androidアプリを作ろう(おみくじアプリ編)20150802 codeal androidアプリを作ろう(おみくじアプリ編)
20150802 codeal androidアプリを作ろう(おみくじアプリ編)
 
smartphone test (know how & tools)
smartphone test (know how & tools)smartphone test (know how & tools)
smartphone test (know how & tools)
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
 

Más de Yu Nobuoka

Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るYu Nobuoka
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムYu Nobuoka
 
Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Yu Nobuoka
 
GIF と LZW 圧縮と GifWriter.js
GIF と LZW 圧縮と GifWriter.jsGIF と LZW 圧縮と GifWriter.js
GIF と LZW 圧縮と GifWriter.jsYu Nobuoka
 
Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)Yu Nobuoka
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCYu Nobuoka
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめYu Nobuoka
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 

Más de Yu Nobuoka (9)

Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
 
Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成
 
GIF と LZW 圧縮と GifWriter.js
GIF と LZW 圧縮と GifWriter.jsGIF と LZW 圧縮と GifWriter.js
GIF と LZW 圧縮と GifWriter.js
 
Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)Windows ストアアプリのつくりかた (JS + HTML + CSS)
Windows ストアアプリのつくりかた (JS + HTML + CSS)
 
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVCGUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 

はてなにおける Android アプリのソフトウェアテスト