今回は、"第2回Androidテスト祭り"に参加してきました。アマチュア開発者なんか、空気じゃね? みたいな不安はありましたが、まあいつもどおり気にせず突撃。一人継続的インテグレーションもやってるし、大丈夫だろう、的な。
最初は、長谷川氏の挨拶から。
テスト部は活動として、Testterを叩き台にしてユニットテストを行ったり、@ITでAndroidテスト入門を掲載誌たりしているとのこと。
そして、第1回テスト祭りではV字モデルの下層の話。設計工程の作りこみが重要と言うテーマだったそうです。
今回の第2回テスト祭りは上層の話として、セキュリティ、受け入れテスト、CI,リモートテストの話がメインとなるとのこと。
その後、東海大学の濱本先生から説明が。今回の会場である東海大学高輪キャンパスは情報通信学部の拠点でIT系産業への即戦力の育成を行なっているのだとか。
さて、最初の講演者はタオソフトウェアの谷口氏。Androidのセキュリティ本を書かれた方だそうです。
内容もセキュリティの話で、例えば次の様な内容。
.apk内のリソースは簡単に抜き出すことができる
アプリ間の通信を悪用することができる
正しいパーミッションを設定しましょう
避けたいパーミッションの組み合わせを理解しましょう
Intent発行時のログに注意しましよう
現状の問題点として、開発者の知識不足が挙げられていました。Android独特のセキュリティの仕組みを理解できていないと大変なことになる、と。
次は、討論と言うことで受け入れテストのガイドラインを作成しようという話。
まあ、受け入れテストって何ですか? ってレベルなんですけどねorz
要は、Androidの様々なプラットフォームでの動作の保証とか、怪しい動きをしない保証とか、みたいです。多分。
そのガイドラインの参考として、AppStoreやAppHubのガイドラインを参考にするのは良いんじゃないかな? とも。
さて、討論と言うことでベンダーはテスト部の方、そしてユーザとして電通の社員の方が登壇されていました。
とは言え、電通はクライアントであると同時に発注元でもあるのでちょっと特殊らしいのですが。
挙げられた質問と解答のまとめを。
Q.Android開発は、どんなに頑張っても全ての端末に対応できない。そこで、後からサポートする形のビジネスモデルはありか
A.技術力の高い開発元とパートナーとなるのならば、その方式は有り
Q.発注元のAndroidアプリ受け入れの現場に、どんな問題意識があるのか
A.発注元はスマホのアプリで何が出来るのかよく分かっていない。Android,iPhoneが一緒だと思っている。受託側が率先して提案をしたり、イメージや動く物を見せる必要がある。
Q.受入れ試験、機能、非機能要件の定義はどうやっているのか。開発プロセスは回っているのか。
A.現状、うまくいっていない。
アプリ開発はマーケターが関わる必要がある。クリエィティブな感覚と、テクノロジーな感覚の両方が必用。
この新しい領域を表す言葉がない。魅力の指標のようなものがないので、なんとかしたい。
ざっとまとめるとこんな感じ。ぶっちゃけ、電通の人は話し方は面白いけど、話の内容がまとまってない感じがしてちょっと辛かった。
ただ、最期の今まで黙認知とされていた部分の指標を作ろうという試みは面白そう。俺が見つけた研究では、電化製品のマニュアルの難しさをビー玉を用いて表現するという物があり、それに似たようなものを感じた。
仮に成功すると
・難易度を指標にしたコストの予測
・技術者のレベルがはっきりとする
・クリエイターのレベルもはっきりとする
と言ったメリットがあるのではないだろうか。もちろん、簡単にはいかないだろうし、数字を狙いに行く方法にシフトしてしまう可能性もあるけれど。
さて、次はJenkinsの導入ライブ。
ぶっちゃけ、設定はhttp://jenkins.android-tec.orgを参考にすればいいそうです。
これは、俺が先日3日ばかりかけてどうにか動けるようにした、Jenkinsさん。いや、大変だった。
複数のデバイスを対象にしたビルドとテストができることを知ってちょっと感動。とは言え、試すほどの環境があるわけでもないけど・・・
次はLT
個人の開発でもテストの効率化を行なって行きましょうという話。
ただ、テストをする時はテストの目的をはっきりとさせる必用があるという事。
例えば、バージョンアップをするのか、実デバイスが必用かどうか、試験工数はどうか、対応予定端末はどうか、など。
その上で、様々なテスティングフレームワークを使い分ける必用があるという。
割りと俺は、最近テストに興味がでてきたのでJUnitを使ったりしてそれっぽいことを
次はJenkinsとGerritの話。Gerritはgit上のソースコードレビューシステムらしい。Google製。
しかし、Jenkinsはともかくとして一人ソースレビューは辛いものが・・・
最期のセッションは、三大リモートテストサービスとして
NTTDocomo
ソニックス;Scirocco Cloud
化とマックス:リモートスマホレンタル
のお話。いずれも一長一短がありと言うこと。アマチュアの利用者としては、ScirrocCloudが無料で使えるのがおいしいのですけどねw
ちなみに、動作が最も速いのはリモートスマホレンタルでした。
さて、クロージングセッションは松木さんから。
ここで俺にとっては衝撃の事実
チェック=予め知っているものを確認する「作業」
テスト=知らないものを”わかる”ための「技術」
何がわからなくて、何が知りたいのかを定義しないといけない
ま じ で
俺がずっとやってきたのはチェックだったのか・・・oh...
このあとの懇親会では、色んな人に声をかけかけられ
Android勉強会の宣伝をやってきました。濱本先生、興味を持って下さってありがとうございます。
そのうち、企業の人とか教授とかになんかお願いしたいなー とか