社長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でテストを仕掛けたい。

OpenPNE�~�蓈���񋟃T�[�r�X�̂��m�点

  • ��K�̓z�X�e�B���O
  • �Z�p�T�|�[�g
  • �J�X�^�}�C�Y
  • OpenPNE Manager
  • ���q���܃T�|�[�g

ページの先頭に戻る