NTT DATA

DATA INSIGHT

NTT DATAの「知見」と「先見」を社会へ届けるメディア

キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2012.8.9技術トレンド/展望

ソフトウェア開発自動化対象領域の拡大

近年、ソフトウェア開発の自動化は、製造工程だけでなく、テスト自動化や設計書の自動生成まで広がりを見せています。

ソフトウェア開発自動化の今

ソフトウェア開発の自動化と言えば、以前はコードの自動生成を指しましたが、近年では設計書の自動生成やテスト自動化など、製造工程だけでなくその前後の工程への広がりを見せています。一方、Maven参考1、NEXUS参考2、Jenkins参考3、4等の開発管理ツールの成熟・普及に伴い、コーディング、コンパイル、パッケージング、デプロイといった一連のビルドプロセスの自動化、および継続的インテグレーション(CI)にも注目が集まっています。

JavaScript用のユニットテストツール参考5

JavaScriptには様々なテストツールが存在します。有名なものでは、JsUnit、YUI Test、QUnit、JsTestDriver等が挙げられます。また、画面のテストを実施する観点から、SeleniumやSilkTestを利用される方もいらっしゃると思います。その中で、今回はJsTestDriver参考6に焦点を当てたいと思います。

JsTestDriverの特徴

JsTestDriverはJavaのテストで一般的に使われるJUnitと似た使用感を持ち、初めての方でも違和感なく使えます。図のようにEclipse上で操作でき、ブラウザをエミュレートして利用するのではなく、テストしたいブラウザを複数キャプチャ(例えばChromeとIE)し、同時にテストできるので、クロスブラウザでテストを行いたい場合に有効です。

他にも以下のような特徴があり、注目しています。

  • Coverageツールが用意されており、結果をHTML化することが可能。
  • Gateway機能があり、ボタン押下によるsubmitを行いサーバサイドと通信するテストに利用できる。コマンドラインで実行でき、Mavenのプラグインも用意されているため、CIとの親和性が高い。
  • QUnit Adapterが用意されており、QUnitのテスト資産を流用できる。QUnitでテストコードを組み、テストランナーとしてJsTestDriverを利用する、といった使い方ができる。
【画面イメージ】

まとめ

ソフトウェア開発自動化の肝は、ソフトウェア開発におけるコスト構造のうち、労働集約的になっている箇所を、知識集約的に変えていくことです。現状で工数比率が大きいテストの自動化を検討する中で、CIとの親和性が高いJsTestDriverは、今後の選択肢の一つになると考えています。

参考文献

お問い合わせ