社長BLOG
スマートフォン関連の自動テスト
- 2012-02-07 (火)
- 社長BLOG
HOUOU開発系で新規に作っているといえば、ほとんどがスマートフォン関連部分。
そのほかは、機能をシンプルにしたり、減らしたりというのが中心だ。
テストを極力自動化し、開発段階から品質を高められる体制を作る。
※テストファーストのルール化は現時点では取り組まない
スマートフォンAPIのテスト
まずはスマートフォンAPIのテスト。
JSON形式で返答するWEBAPIが単純にズラーッと並んでいるだけなので、
こちらはsymfonyのユニットテストで十分カバーできる。
・初期データをつくる
・php内部からHTTPRequestを発行してAPIをキックする
・APIからのレスポンスを評価する
・データの変更をリセットする
このサイクルを、淡々と行っていけばいいだろう。
OpenPNEはユニットテストが充実していない(=単体テストをうまく活用できる場面少ない)
機能テストやSeleniumはあるんだけれどね。
ので、ようやくテストの初歩を踏み出せるという感じだ。
スマートフォンクライアントのテスト
スマートフォンクライアントは、HTMLテンプレート+jQueryというスタイルで作られている。
MVCのMだけサーバに置いておいて、クライアントにVとCを持ち込むという新スタイルを採用している。
ながれとしては、
・APIのコール
・レスポンスの加工
・テンプレートへのアサイン
これら一連のコントロールはすべてjQueryで行っている。
この動作をテストしたい。
JavaScriptに対応したテストを行う必要がある。
少し調べてみると、QUnitというのがあるそうだが、これを使えばいいのだろうか?
JavaScriptのテストは慣れていないが、自動化で品質向上をさせるよ。
そしてContinuous Integration
OpenPNEの品質を向上させるために継続的インテグレーションは悲願だ。
Travisというとんでもない素敵なサービスを見つけたので、ぜひ開発プロセスに組み込みたい。
http://travis-ci.org/
◆Travis
このサービスなんとHeadless動作でJavaScriptを動かすこともできるそうなので、
サーバのsymfonyもクライアントのJavascriptもまとめてTravisでテストを仕掛けたい。