ABC 2011 Summer
description
Transcript of ABC 2011 Summer
![Page 1: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/1.jpg)
ア ン ド ロ イ ド は テ ス ト の 夢 を み る か ?
Y u m i M i y a t a
Do Android Dreams of Tests?
日本Androidの会テスト部
Android Bazaar and Conference 2011 summer
![Page 2: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/2.jpg)
自己紹介
宮田友美(みやたゆみ)
TwitterID:@miyatay
日本Androidの会テスト部部長
株式会社オープンストリーム所属
– 業務でAndroidアプリを作ってます
– http://www.opst.co.jp/
![Page 3: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/3.jpg)
テスト部とは?
![Page 4: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/4.jpg)
2010年9月 発足
243名 部員 • 昨年から倍になりました!
http://www.flickr.com/photos/ilike/3707503212/
![Page 5: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/5.jpg)
目標
![Page 6: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/6.jpg)
ぶっちぎりのテスト力を
世界へ
http://www.flickr.com/photos/jaffathecake/2675559042
![Page 7: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/7.jpg)
主な活動
![Page 8: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/8.jpg)
月1回、部会開催
次回は、8/6 開催
http://www.flickr.com/photos/vokakvklim/4522919056
![Page 9: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/9.jpg)
分科会(小チーム)
http://www.flickr.com/photos/jiheffe/3462940215
![Page 10: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/10.jpg)
@bols_blue
@mike_neck
公式サイト翻訳
テストツール作成
(SQLite)
受入れテスト ガイドライン作成
テストツール検証 (MonkeyRunnner,Robolectric,Robotium)
@myb1126
@ussy00
@dicea @colis_dev
![Page 11: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/11.jpg)
そして、
![Page 12: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/12.jpg)
@ussy00 @mike_neck
@sassy_watson @nowsprinting @7hepta
Testter
![Page 13: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/13.jpg)
Testter ?
![Page 14: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/14.jpg)
• テストをしたくても、
対象アプリがないと話にならない
• Androidのテストを検証するために必要な機能をすべて実装したアプリが欲しい
http://www.flickr.com/photos/jof/263652571
![Page 15: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/15.jpg)
SQLiteのテストしたい
GPSを使った機能のテストしたい
![Page 16: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/16.jpg)
では、作ってしまえ
![Page 17: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/17.jpg)
@ussy00 @mike_neck
@sassy_watson @nowsprinting @7hepta
Testter
![Page 18: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/18.jpg)
@ussy00 @mike_neck
@sassy_watson @nowsprinting @7hepta
Testterとそのテストを
書いて得たノウハウ
![Page 19: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/19.jpg)
http://www.flickr.com/photos/proimos/4199675334/
問題
テストプロジェクトのリソースが取得できない
![Page 20: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/20.jpg)
出典: http://www.flickr.com/photos/dcysurfer/2897532891
原因 #getTestContext()が@hide
テストプロジェクトのリソースファイルを取ることができない
![Page 21: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/21.jpg)
解決策
http://www.flickr.com/photos/farleyj/2768941171
![Page 22: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/22.jpg)
Method method = getClass().getMethod("getTestContext"); Context context = (Context) method.invoke(this); SecretResource resource = SecretResource.load( context.getResources(), R.raw.config );
リフレクション
![Page 23: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/23.jpg)
http://www.flickr.com/photos/proimos/4199675334/
問題
Activityのロジックがテストしづらい
![Page 24: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/24.jpg)
出典: http://www.flickr.com/photos/dcysurfer/2897532891
原因 Viewと分離できていないとテストが面倒
![Page 25: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/25.jpg)
解決策
http://www.flickr.com/photos/farleyj/2768941171
![Page 26: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/26.jpg)
Activityからロジックを分離
ロジックをUIと切り離してテストしやすい構成に
![Page 27: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/27.jpg)
http://www.flickr.com/photos/proimos/4199675334/
問題
Viewに登録されているEventListenerのgetterがないためテストが書けない
⇒じゃあリフレクションを使ってテストするの?
![Page 28: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/28.jpg)
出典: http://www.flickr.com/photos/dcysurfer/2897532891
原因 SDKの制約としてアクセスできないメソッドがある
![Page 29: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/29.jpg)
解決策
http://www.flickr.com/photos/farleyj/2768941171
![Page 30: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/30.jpg)
そもそもJUnitでテストをしない
今回の場合は結合テストでしかるべきイベントが発生することをテストする
![Page 31: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/31.jpg)
http://www.flickr.com/photos/proimos/4199675334/
問題
テストプロジェクトの構成をどうするか?
![Page 32: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/32.jpg)
出典: http://www.flickr.com/photos/dcysurfer/2897532891
原因 開発時に記述するテストと結合テストやシステムテストで記述するテストを分離したい
しかし、テストプロジェクトが分散すると管理が大変だし・・・
![Page 33: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/33.jpg)
解決策
http://www.flickr.com/photos/farleyj/2768941171
![Page 34: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/34.jpg)
testter src
lib
res
tests ut-test
it-test
テスト対象プロジェクト以下に
テストプロジェクトをつくる
![Page 35: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/35.jpg)
そして、
![Page 36: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/36.jpg)
このような活動で得た ノウハウを公開する イベントを開催
http://www.flickr.com/photos/neil_roger/3895501627
![Page 37: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/37.jpg)
宣伝
![Page 38: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/38.jpg)
Android
テスト祭り
http://www.flickr.com/photos/madeiraarchipelago/17549695/
2011年8月6日開催
![Page 39: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/39.jpg)
詳細
http://www.flickr.com/photos/eelssej_/4948400648/
https://sites.google.com/site/atecfes/program
![Page 40: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/40.jpg)
是非、
ご参加
ください!
http://www.flickr.com/photos/pinksherbet/2977652113/
![Page 41: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/41.jpg)
さらに、宣伝
![Page 42: ABC 2011 Summer](https://reader030.fdocument.pub/reader030/viewer/2022020217/547cf71db47959c0508b47b3/html5/thumbnails/42.jpg)
オープンストリームで一緒にAndroidアプリ開発してくれる方大募集
• Android案件の開発・提案等
• アーキテクト(もしくはアーキ候補)
興味がある方は以下までご連絡ください!
@miyatay