by shigemk2

当面は技術的なことしか書かない

スマートフォンテスト最前線

スマートフォンテストの基礎知識

スマートフォン向けアプリの種類

  1. ネイティブアプリ(デバイス寄り)
  2. webアプリケーション(HTML5ベース)
  3. ハイブリッド(webview + webアプリ=ガチャ)

開発工程によるテストの分類

  1. 単体テスト
  2. 結合テスト(モジュールやコンポーネントが複合的に存在)
  3. 受け入れテスト(納品先で行われるテスト)

実行方法による分類

  1. 手動テスト
  2. 半自動テスト
  3. 自動テスト

目的による分類

  1. 機能テスト
  2. パフォーマンステスト
  3. セキュリティテスト

技法による分類

  1. ホワイトボックステスト
  2. ブラックボックステスト
  3. グレーボックステスト

WAF web application framework

ネイティブアプリUIテストの自動化

Calabash→マルチプラットフォーム対応UIテストの自動化で、cucumberツールを利用している

touchとかswipeとかはテストできるし、
シューティングゲームとかで完璧にテストするのが難しいときは、
予め用意されたスクショとテスト時のスクショを比較することで
全自動テストが作成できる。

ブラウザテストの自動化

Selenium 不完全ながら、ブラウザ操作を自動化する
あとChromeDriverとか

JSテストの自動化

Jasmineで単体テスト(他にはQUnitとかMocha)
PhantomJSで結合テスト

まずはコードの一部からやってみたらいいんじゃなかろうか

サーバサイドテストの自動化

WebAPIの結合テスト
(DeNAじゃAPIのテストにはTest::Ikaを利用していて、RSpecみたく内部DSLでテストを
書いてRSpecのような出力を得ることができる

ビルド、アプリ配布の自動化

TestFlightとJenkinsを使おう