2012年8月26日日曜日

JsTestDriverでDOM操作を行うための妄想(その1)

仕事(がうまくいくためにどうすればいいかを妄想するの)が好き。

Seleniumを使って自動テストをするのはいいけれど、世の中うまい話には裏がある。
ネックとしては
・実行時間
・環境の構築
この2点。

どうしても実際の通信、およびブラウザ動作を行うSeleniumは実行するのに
時間がかかるし、DBやHTTPサーバーといった環境も含めて
運用を考えないといけないから手間もかかる。

この2点をクリアできるのが単体テストであり、有名どころとしては
javaでいうとJUnit。javascriptでいうとJsTestDriverだったりする。

理想的な住み分けとしては
・カバレッジやデグレ防止のためのテストケースを増やしたりしたりするには
 出来る限り単体テストで。
・単体テストで無理な部分(業務的な処理フロー等)は画面テストで行い、
 実行時間を短くする
のがいいのかなと現時点では思っている。

で、そこで今度問題になってくるのが単体テストにおける擬似操作データ、
および擬似通信になってくる。
画面テストにおいては、実際にブラウザも立ち上げ、データベースや
アプリケーションサーバーも存在するから、環境さえ用意してしまえば、
「どのように動かすか」を設定してあげればいいだけ。
だけど単体テストはそうも行かない。あくまで「単体」だから、いわゆるMock的な物が
必要になってくる。

具体的な物の一つに、JsTestDriverでいうところのDOMの操作を行うテストが
当てはまる。

0 件のコメント:

コメントを投稿