2012/09/08 #atest_hack に参加してきました
主宰の sakura_bird1 さん
その他 登壇者の方々 、参加者の方々、ドリコム様お疲れさま&ありがとうございました
総括まとめ的なコメント
- 「全体的に Androidテスト初心者向けのお話が全然なくてすみません(ぺこり」
な感じですかねー。自分のも含めて(汗
テスト自体を全く遣られていないという方には
snskさんや sassy_watsonさんやsue445さんの話は凄くいいのかもなとは感じた
alterakey さんのお話は圧巻。名古屋の人もマサカリ投げなかったくらいw
Robolectricをガチで使った話は見た事がないので後で読み直すべき資料。
Groovyはさておきみたいな
まず 詳細はまとめをみていただくとして
- #atest_hack 無選別まとめ
- 2012/09/08_Androidテスト勉強会 #atest_hack
やはりLTの中身よりも端末の話がウケてましたねー(苦笑
身近に実感できる物のお話は確かにw
何点か名古屋からマサカリ飛んでたのでちょっとコメント
さすがにアレ中は余裕無かったorz
テスト観点という言葉はやめておいたほうがっ>< 刺されますよ! ( #atest_hack live at http://t.co/bUMr68Hd)
— きょん@うさみみモード (@kyon_mm) 2012年9月8日
「テスト観点=テストをしたい事=状態を知りたい事」
という感じが正確かも。TDD界やQA界での「テスト観点」という言葉の使い方とは
一致しない、正しくないかも知れない
snskさんも話されていたけど
- 「3回以上確認する事=>テストを書きましょう」
これは真理かもなと。特にver上がった事の動作保証が無い訳ですし
どちらかというと「ライブラリ評価」という形のテストの表現が正確だったのかも。
きょん様の質問は、出来るだけ質問してくれる姿勢はすばらしいと思うのですけど*1
答えにくい質問も実は多いかな と感じたのは正直なところ
Eclipseとかやめましょう ( #atest_hack live at http://t.co/bUMr68Hd)
— きょん@うさみみモード (@kyon_mm) 2012年9月8日
Gradleでビルドしましょう ( #atest_hack live at http://t.co/bUMr68Hd)
— きょん@うさみみモード (@kyon_mm) 2012年9月8日
Antでやりたいとか石器時(ry ( #atest_hack live at http://t.co/bUMr68Hd)
— きょん@うさみみモード (@kyon_mm) 2012年9月8日
ここに関しては
- というのがデモムービー。
- 手動めんどいよね=>Groovyスクリプト経由なら adb shellの自動化とかも楽さ
今回はQuickTimePlayerで録画した感じですけど、alterakey さんみたいに
movに文字入れるのは別途有料ソフトが必要らしい・・・・(当たり前ですね・・
- 複数端末テスト対応スクリプトはこんなもん
- apkの複数端末インスト対応スクリプトは
- antbuilder版
-
- cmd.execute版
- スクリプトがうまく動かない場合は
- でも今回時間間に合わなくて出来なかったのは
- monkeyrunnerをgroovyスクリプトで動かす=>スナップショット取る
とかあたり。現在動いているGroovyScriptに動的にライブラリが突っ込めないからな・・
ライブラリを通して =>別のGroovyScript起動 はいくらでも見るし、書いた事もあるんだけど・・
IDEAやmike_neckさんも紹介されてたAppCodeもリアルタイム補完が凄くすばらしい
と思うのですけど*6
ライブラリプロジェクトに関しては カヤックさんのNakaMapを含めてだいぶ増えている気がする
jarとかで提供するよりはかなりフレキシブルな提供の仕方ですばらしいと思うんだけどな。
テスト観点からすると不確定要素が増えるのでカオスっぽくなりそうですが・・*7
- ここら辺は資料の不足かもしれないので見直す処
@itog 複数のad networkからその時最適な広告を選択するとか何とか
— OEC Ryosuke OISHI (@roishi2j2) 2012年9月8日
@itog AdMobの中で設定できるんでしょ。使ったことないけど、、でその挙動が怪しいというお話
— OEC Ryosuke OISHI (@roishi2j2) 2012年9月8日
- Mediation自体は広告を自前で切り替える仕組みです。
- 配信比率を一応パーセントで設定できるけど偏るよ、テストしづらいよ という話*8
- AdStirさんとか同様のサービス提供している処もあるけど、AdMobで遣った方が無料・情報が多いしカスタムが出来るよう
というお話ですね。さっと流してしまったのでなおさら分かりづらかったかも
この手の話は人を選ぶので難しいですね*9
MediationではiOSとAndroidで2〜3円単価が違う #atest_hack
— Takahiro Yoshimura (@alterakey) 2012年9月8日
- 正確には、IOSのAdがAndrodより高いという意味です。説明が悪かったかな(汗
( #atest_hack live at http://t.co/qWLJqFWG)
— close_yutori (@kimukou2628) 2012年9月8日
IS01の追加の話としては メモリが足りなくてTwitter(4J)用の認証画面とかも出せなかったり(別Activityが起動できないとか
- これは記載漏れ
- Q)あとライブラリプロジェクトの評価なのに、なんで普通のプロジェクト経由で評価しているの?
- A)Activity(表示)に依存してしまうテストだったから
- 表示が見えてなんぼのテストたったりもする*10
- ライブラリプロジェクトのテストだとググると
とか出てくるんですが、TestCaseやAndroidTestCaseレベルで書くのが厳しい・・。
Adなんか特にWebViewな訳ですしね・・・。
- 資料の参照先が消えたので del
以前は[ @ussy00 さんが書かれていたような
な話はする必要がなく、ADTやbuild.xmlがライブラリプロジェクトlibsを見てくれるようになったので
楽になっている面もあります
懇親会でも色々とお話し聞いたのですけど
もそれなりにいるんだよな・・・と。物を作ったり、サービスを既に始めている人は凄く多いのですけど・・・・
「ググリでテストコードがかけない」
って話に関しては、テスト部の@ITの記事を学生さん等に紹介しても反応いまいちだったので凄く分かる
数学で言う「解法パターンが浮かんでこない」状態。
実際欲しいのは
- 大学受験等での「解法パターンの習得」
現実にお話ししていただけるのは
- 「テストはこう書くべき」「テストをする為の心構え」って話*12
なおさら煙に巻かれている感じなのかもしれない
テスト部とかの活動って
こういうテストパターンを集約してく、集めていくとかそういう話が出来たらいいのになとは端から見てて思う。
Androidテストを書く人口が増えてくるのかも
Testterの開発もコアメンバ以外が結局さわらないので開発中断(終了)の流れのようだ・・・。
仕事でもないのでこういうモチベーション維持は難しいのだろうな・・。
だれか強引に引っ張ってくれる人がいないと、なあなあになってしまう(汗
日本人だと能動的に動くより、周りのあわせてというタイプが未だ多いので
- Googleの新しい技術(テストライブラリ)試してみました
とかだと寂しいよね・・・NativeDriverとかの話も実務でこういうコード書いて こういう風に使っているよ
とかの話が表にでてこないから、あーいまいちだとか感じている人も多いのかなと・・・
試してみましたはよく見るのですが・・
Androidのテストも
OpenGLやndkやアプリ内課金 自体はテストがない気がするな・・・
#q RT @kimukou2628:
— Takahiro Yoshimura (@alterakey) 2012年9月8日
( #atest_hack live at http://t.co/NiZFT6YO) Twitter4jのアプリ利用サイドでのテストってどうすればいいんですかね。。。 ライブラリとしては便利に使っているけど。。。
代わりに質問していただいたのですけど(汗
- twitter4jにしてもアプリでどう利用されるか
- みなさんがどう利用しているか、どうテストしているか
までは見えてないですよね・・。ここら辺は有名ライブラリだから大丈夫!という事で盲信している面も多々(苦笑
備考)
アプリ内課金のお話も聞けて凄く参考になった
- 一応minSDK:4の形で動かせるが・・・*13
- biringServiceとの通信が上手くいかない
- 決済までは行くが、「決済完了」のメッセージが受け取れない
- minSDK:8にするとなぜか動く・・。
ここら辺は多分端末のSDK_INTバージョンを見て動く*14という仕様にしてもらえると良いのですけど
minSDKみて対応されているコードが存在するのかもな・・
開発側からしてみれば、日本はUnityとか高端末専用なの除いて
低い端末で遊んでいる人多いので
- apkとしては動く
- 対象サービスが動かない
が正しいと思うのですよね
あと返金の仕組みも自分で実装とか今一なんですけどね・・・
- Ad出せない =>アプリ内課金でやろうず
と安易な流れになってしまうのが正直微妙な線なので
仕事の面で見てると
という流れを汲んで
- アプリ内課金しようず
な決定をしようとしてるプロジェクトもあるな。。。
端から見てて微妙だと思うんですけどね。決済だけは良いと思うんだけど。
あと課金するものにもよるかな。
- 死んだ場合のコンテニュー
- 時間が経つと1時間程度で回復するが、直ぐ回復できる高速アイテム*15
がそれなりに手間をかけずに課金してくれるもので不満が出にくいかと。
モバマスのように
- きれいな所有欲を誘うカード
とかだとイラスト作るとか含めて大変かも><
*1:殆ど質問が出ない勉強会は実は多い
*3:antはutf8対象だよ
*4:後日使い方読んだらjavadoc等は別DLしてDocsにパス追加する形式らしい。あの説明だけだとわからんわな。。
*5:1プロジェクト1ウインドウなので・・
*6:有料だから当たり前かも
*7:カヤックさんのサンプルもアプリプロジェクトとセットだよな
*8:乱数で遣っているにしても乱数初期化してない疑惑。PHPプログラムとかでよくあるかな。同じような現象
*9:お金に絡む話より技術的に高まる話を聞きたい という人も多いのかも
*10:ライブラリ的に初期化はOKでも表示されないとクリックされないので<汗
*11:もしくは書いてない人
*12:ケントベックの本とかすばらしいのですが
*13:端末としてはtarget:8
*14:もしくは動かさない、エラーを返す、biringSerice起動失敗させる
*15:ミリオンアーサーとか辺り