CI(継続的インテグレーション)の第一歩

CI(継続的インテグレーション)導入のメリットは、問題を早期に発見しプロセス改善につなげられるほか、手動によるミスを防ぎ、開発者一人ひとりの生産性や品質の向上が期待できる点が挙げられます。
しかし、 CI(継続的インテグレーション)を実現するには、バージョン管理や自動ビルド、静的解析、単体テスト、デプロイメントといった各工程の準備や環境構築に、相応の工数や時間を必要とします。

そこで、すぐに始められるCI実現の第一歩として、ソースコード品質向上の観点から「静的解析の自動化」にまず取り組むことをオススメします。

継続的インテグレーションによる静的解析自動化の運用イメージ

 

CI(継続的インテグレーション)にJtestを組み込むメリット

JtestをCI環境に組み込むメリットは大きく2つあります。

  • 開発者によるソースコード品質のムラを防止(品質の平準化)
  • 結合時に発生する潜在的なバグの検出

開発者によるソースコード品質のムラを防止(品質の平準化)

CIにソースコード品質のバラツキを防ぐ「コーディング規約チェック」を組み込めば、解析の実行から開発者への違反の通知まで自動的に実行され、効率的に品質を向上させることができます。Jtestは約1,100種類を超えるJavaのコーディングルールを標準搭載し、個々のルールのカスタマイズ、独自作成も可能なため、どのようなソースコードにも柔軟に対応できます。

結合時に発生する潜在的なバグの検出

Jtestはコーディング規約チェック機能に加えて「フロー解析」機能を搭載しています。フロー解析はOSSのテストツールでは通常検出することが難しい「複数ファイルに呼び出しがまたがった際に発生するバグ」の検出が可能です。CIにJtestのフロー解析を組み込むことで、結合時に発生する潜在的なバグを効率的に検出することができるようになります。
OSSとJtestの違いはコチラ

JtestとJenkinsと連携したCI(継続的インテグレーション)環境

Jtestでは以下の方法で静的解析を自動化できます。

■Maven/AntからJtest Pluginを利用し、ビルド時に解析
この方法はテストツールにOSSを使用した場合と同様の実施方法です。すでにMaven/Antを利用してビルドを自動化されている方にお勧めします。 JenkinsからはMaven/Antを呼び出すよう設定します。

■Jtestの解析をJenkinsのジョブとして登録し実行
Maven/Antでビルド自動化を実施していない方にお勧めの方法です。
Eclipseのプロジェクトがあれば解析することが可能です。

Jenkins ならびに Jenkins CIは、Jenkins (http://jenkins-ci.org/)に帰属します。また、Creative Commons Attribution 3.0 Unported licenseに従い、利用しています。

 

CI環境構築支援

CI(継続的インテグレーション)を実現するには、必要なCI環境の調査や導入手順、各ツールとの連携などの事前の準備や環境構築に、相応の工数と時間が必要になります。 テクマトリックスでは開発現場のご状況をお伺いした上で、Jtestを組み込んだCI(継続的インテグレーション)環境の構築から手順書の作成まで開発現場の状況にあった最適なCI環境を迅速にご提供することができます。

CI環境構築による効果

  • 問題を早期に発見しプロセス改善につなげられます。
  • 手動によるミスを防ぎ、開発者一人ひとりの生産性や品質の向上が期待できます。
  • 従来のウォーターフォール開発にも無理なく導入でき、短期・高品質開発に効果を上げられます。
  • Jtestのフロー解析を組み込むことで、OSSでは見つけることが難しい問題も効率的に検出可能になります。

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。