読者です 読者をやめる 読者になる 読者になる

@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

第2回 Androidテスト祭り に行ってきました #atecfes2

event android

いやぁ、暑かったですね。途中でしなびてしまうかと思いました。白金高輪駅から歩いたんですが、それなりに歩きました。
メモったことなどを簡単に。まとめてません、ダダ流しですので、読む価値はないと思います。

Androidのセキュリティと品質保証の問題について

資料はこちら→ http://www.taosoftware.co.jp/android/book/20120428_testfastival.pdf

  • 昔は落ちるアプリとか結構あったけど、最近は成熟してきたせいかあんまりないですね。
  • 今はセキュリティが問題なものがある。
  • セキュリティ的なことが一段落したら次はバッテリー的なこととかが評価の分かれ目になるかもね。
  • セキュリティ対策は設計から考えていかないといかない。
  • 何を守るのか?
    • ケースによって守るものは違ってくる。また、100%は守れると言うことはありえない。
    • 守る必要のないものを守っても仕方ないよね。
    • アプリ内に含まれるデータは全て抜き取り可能である。
    • apkは実は次zipなので、抜き取れますよ。
    • tPackageExplorerで確認できる。
    • ソースコードも解析可能です。Javaなので。
    • パスワードをハードコードで入れたらバレル。ロジックも抜き取られる。
    • ProGurdは時間稼ぎです。家に鍵を2つつけるようなものです。
    • NDKにコードを移動しても難しくなるが、こちらも解析不可能ではない。
    • 抜き取られても良いものを入れておく。
      • 著作権データなどは低音質、低画質のもののみ入れておく。
    • 暗号化しておく。でもキーはどうするかを考えないとだめ。
    • 実は権利者側も考え方が緩くなってきている。
  • 説得方法
    • 応援学割等のメジャーソフトの実装を見せる
  • 不正利用(有料ソフトのあつかい)
    • コピー防止インストール
    • Google Play Licence Service ○ こちらがオススメ。
  • 機能の悪用
    • Twiccaのプラグイン機構を利用した画像のアップロードが出来てしまう問題
    • 現在は対応済み(先日のTwitterAPI勉強会でも話題になってましたね)
    • 対策としてはAndroidのセキュリティモデルを利用することで対応する
    • 署名とファイルパーミッション、オーナーとAndroidパーミッション
  • SDカードは注意。
    • 書込みにはパーミッションが必要だけど、よむだけは簡単である。
    • SDカードには読み取られても良いデータだけにする。
  • 避けたいパーミッションの組み合わせ
  • 通信内容の確認とか

Android Security  安全なアプリケーションを作成するために

Android Security  安全なアプリケーションを作成するために

ユーザとベンダで生討論!みんなでつくる「受入れテストガイドライン

ユーザ様代表として、広告代理店であります電通様をお招きしての討論会。
「動かない+売れない=儲からない」がテーマ?なのかな。新しい端末や新しいOSにアップデートされた時に動かないことがあるけど、それを開発者側が瑕疵として負担するのは無理があるよね。そこをどうしていきましょうかと言う感じですね。
根本解決は実機テストする。そのためには自動テストを促進する必要がありますね。動かないものは、売れない。儲からない。早く作るマーケティングする。上層の受け入れテストをしないといけない。プラットフォーム変化の追従対応運用はサービス開発。

  • どうしようもない部分はSLAに含めて要件定義する。
    • ガイドラインとして提供したい。定量化したい。ベストプラクティス。
    • ガイドラインに則って作って、それをはずれる部分は別料金で対応出来ればいいよね。
  • 電通の紹介
    • テレビ離れなので、Androidから入って、テレビに戻ってもらう。
    • TuneIn 感情インプット、などなど。
    • MobileClip iOSAndroid向けのCMS
    • 電通としては、今アプリで何が出来るのかを実験している最中。
    • どうやって金額を決めているの?
    • 今は投資としてやっている状態。
  • 質問1
    • 現状は端末に依存しない技術で対応するしかない。技術こそ開発パートナーに求める条件である。→運用SLAの普及には時間が必要
    • 分業出来ていた作業が近接化している。必要な技術が増えている。
    • データ領域(DB)、分析戦略領域(Bigdata)、コミュニケーション領域(マルチデバイス)
    • マーケティングの領域が広がっている。
    • ユーザビリティからアプローチ(HCDプロセス。人間中心)
    • 人間の近くに関わる要素は、要件として定量化出来ない。
    • アジャイルをUXに含まれてる。アメリカでは流行ってる?
    • パートナーシップとビジネスモデル。ビジネスモデルから変えていかなければならない。
    • 納品物に中心のストックビジネスから、フィービジネスから技術治験が必要なコンサルとか、レベニューシェアから、カヤックさんの例。領域ごとにブログを立ち上げている。技術力の高さがわかる。
    • 動きとかを意識しやすい。
    • 発注者側からアジャイルUXと言う言葉が出る。お客さんが開発に入ってくる。我が事として考えてもらえる。
    • 個人情報を取ることについてどう思ってるの?
    • クライアントさんは結構気にしているらしい。とは言え、個人を特定したいわけではない。しかし、セグメント毎にどう言う行動パターンがあるのかは知りたい。
    • アプリ内のコンテンツがどの程度見られているかは可視化されていると嬉しい。
    • 個人情報という言葉とプライバシー情報という言葉を使い分けるとせつめいしやすいよ。
  • 質問2
    • iPhoneAndroidどう違うの?
    • 去年11月はとんとん、今はAndroidがおおい。
    • 機種の人はいPhone。Androidの人はキャリアを重視。
    • iPhoneの方がアプリを使っているし、買っている。AndroidはWeb閲覧とか。
    • 同じだと思っている企業の人もいる。どっちも出来るものだと思っているらしい。結構提案で無茶言われてるらしい。
    • WEBだと要件定義がしっかりしている。マーケットが成熟しているから。ブラウザ対応とか。
    • スマホだと、自主的に提案していって、マーケットを広げていくフェーズ。試しながらの本番である。
    • アプリ発注する側の要件があいまいである。
    • 夢物語を説明して、納得していただいて、あとはよしなにやっていく。
    • WEBではアイデアは100個出してやってみるまで。
    • アプリでは今のところ打率がいい。お客さんがよくわかっていないから。自主的に持っていけば受ける。
    • 技術者は機能を言っちゃうけど、夢を売っていくと響く。
  • 質問3
    • マーケターがアプリを作らないといけなくなっている。
    • エンジニアに伝えても、伝わらない。言語的な問題。
    • クリエイティブとテクノロジーの壁がなくなってきている。分業が出来なくなっている。
    • コピーライターと印刷とか。
    • しかし、アプリではそうではない。インタラクションデザイン。
    • お互いがお互いの領域を知らなければ、コミュニケーション出来なくなっている。
    • 機能要件は顕在化出来ます。インタラクションのイメージは言語化出来ない。
    • しかし、インタラクションのイメージがアプリの成功するしないを握っている。センスをわからないといけない。
    • わかる人に仕事が集まっていく。
    • 顕在化していない部分を言語化する。例えば、テトリスの面白さを言語化するとか。難しい。
    • アプリの魅力性。JIS X0129−1とか、JUAS研究結果とかでも、このあたりのことは逃げている。
    • 批評家が沢山いると、文化が発達する。
      • 魅力性をテストしていけると、よくなるのではないのでしょうか?
    • 今は工数でしかお金で取れていない。アイデアとかフィーでとか、この人だからでお金が取れるような世界観になるといいね。

CI導入ライブ-jenkins ci server

  • AndroidはCIの必要性が高い。端末が増えるから。実機テストしないといけない。
    • 新しい端末をテストをするか、無視するかどちらかである。
  • なので、テストを自動化しておく必要性が高い。
    • Androidは18ヶ月はOSを最新にアップグレードされる。
    • 最新端末で使えないと、マーケットの評価が下がる。
  • ポイント
    • JenkinsにAndroidSDKを入れるの?
    • Antがないプロジェクトはどう実行するの?
    • 複数デバイスが繋がっている場合はどうするの?エミュレータならいいけど、実機は?
  • @ITで連載されます。見てね!
  • http://jenkins.android-tec.org これをコピペすればいいよ。CloudCoreの開発者支援。
  • Welcome to Jenkins CI! | Jenkins CI
    • apt とか yumとかでインストールできるヨ。
    • SDKのインストールはエミュレータプラグインを入れればOKで、勝手にインストールしてくれます。
    • android update sdk -u で勝手にやってくれるよ。
    • Showエミュレータモードのチェックは外すこと。無限ループになります。
    • monkeyでやっておくと、落ちる落ちないだけでも使える。
    • Antがないプロジェクトも自動生成してくれる。→ プロジェクトとテストプロジェクト、最近ライブラリプロジェクトが追加された。
    • 既存ジョブのコピーも簡単に出来るよ。

LT

Twitterでつぶやいた。

リモートテストサービス3社

  • NTTドコモ
  • ソニックス
    • シロッコでUIテストのクラウド化。
    • 実機は持っていなくても良い。http://www.sirocco-cloud.com
    • 座標で指定すると、他の端末で動かなかったりする。
    • SirrocoではViewのIDでやるので、レイアウトを変更してもOK。
    • 開発の初期段階から導入できる。Mock段階からレイアウトのIDくらいはあるでしょう。
    • バリ3関係のテストがしにくい。
    • Eclipseとの親和性を高くしたい。
  • カトマック