CIツール「Jenkins」活用ソリューション

Jenkins環境で行う自動静的解析テスト

Jenkins環境で行う自動静的解析テスト

CI(継続的インテグレーション)とは

CI(継続的インテグレーション)とは、ソフトウェア成果物へ対して、頻繁に品質管理を行うことです。
コンパイルやテストなどのインテグレーションを実施した際に発生するさまざまな問題を早期に検出し、フィードバックサイクルを短くすることで、ソフトウェア開発の品質と生産性を向上させる仕組みです。

CI(継続的インテグレーション)とは

これらの問題はインテグレーションを実行して初めて顕在化するものであるため、プロジェクトの終盤にこのような問題が発覚し、問題解決に工数が割かれ、場合によっては、リリースが遅れてしまう、ということも十分考えられます。

このような問題の特効薬として、最近、継続的インテグレーション(Continuous Integrationを略してCIと表現されます)が注目を集めています。
理由としては、構成管理ツールにコミットされたソースコードを定期的に自動ビルドすることにより、
上記に挙げたような問題を早期に発見、対処を行うことが可能となるからです。
その結果、ソースコード品質の向上、テスト工数の削減といった効果が得られます。

CI環境の導入メリット

問題の早期に検出し、フィードバックサイクルを短くするCI環境では、従来の環境現場の問題を解決します。

  • ソフトウェアの修正や変更によりデグレードが発生する
  • 最新ソースコードでビルドが通らない
  • 不具合がどの修正によって引き起こされたか分からない
そして、結果的に3つのメリットが反映された開発環境を構築することが可能になります。

  • メリット1
    CIツールを活用することで、開発効率を上げ、今まで困難であったテストを容易に行いながら、開発者ひとりひとりの生産性や品質を向上します。
  • メリット2
    インテグレーション時の問題を早期発見し、防止策の実施や、プロセス改善へとつなげることが期待できます。
  • メリット3
    複数の開発者や開発拠点にまたがる開発プロセスの統一化やノウハウの共有を実現します。

※より具体的にCIツール「Jenkins」を用いた説明資料はこちらから

 

さらなる品質向上に向けてCI環境にテストツールを導入

このCI環境を用いて、さらに効率的に品質を上げる事がテストツールと連携させることにより実現できます。
ではテストツールとの連携の具体的なイメージとして、静的解析との連携を紹介しましょう。


  • 例1:致命的なバグを早期に発見する「フロー解析」をCI環境に導入
    フロー解析は、テストケースの用意なしに、ソフトウェアの実行パスを1つ1つ検証し、メモリリークや未初期化変数参照のような致命的なバグを検出します。これにより、エラーの原因となる箇所を早期に検出、対処することを可能にします。CI環境と連携することで、ビルドのタイミングで自動的にバグを検出できるようになります。

  • 例2:バグの作り込みを防止する「コーディング規約チェック」をCI環境に導入
    コーディング規約チェックは、社内あるいは開発プロジェクトのコーディング規約を、各開発者が守っているかを自動で解析します。フロー解析と併用して導入することで、「バグの作り込み防止」と「バグの早期発見」の両方を自動で実現することができるようになるため、加速的にソフトウェアの品質向上につながります。

テクマトリックスが提供する開発現場に最適なCI環境構築サービス

しかし、いざCI環境やテストツールを導入する場合、いくつかの課題が発生します。

  • 自社のプロジェクトに最適なCI環境を調査しなければならない
  • 導入手順を調査しなければならない
    (環境構築がうまくいかなかった場合、さらに工数がかかる可能性がある)
  • 構築する工数を確保しなければならない
  • 外部ツールと連携させる方法を調査しなければならない

そこで、テクマトリックスでは開発現場のご状況をお伺いした上で、迅速かつ最適なCI環境の構築、テストツールの導入支援サービスを行っております!

サービスラインナップ

標準的なCI環境を導入されたい企業様向け

 Jenkinsをベースに、定期的に開発ソフトウェアをビルドしコンパイルエラーを早期に発見するCI(継続的インテグレーション)環境を短期間で構築します。

バグ検出機能をCI環境に組み込みたい企業様向け

 Jenkinsをベースに構築する、CI(継続的インテグレーション)環境に、Parasoft製品体験版(C++test、Jtest、dotTESTのいずれか)のフロー解析(バグ探偵)とコーディングルールチェックによるソースコードの検証を加え、定期的に開発ソフトウェアをビルドしコンパイルエラー、メモリリークあるいはバグの可能性、コーディングルール違反を早期に発見する環境を構築します。

高精度なバグ検出機能をCI環境に組み込みたい企業様向け

CI(継続的インテグレーション)による自動チェックアウト・自動ビルドのサイクルに、お客様向けに選定したルールでの静的解析を組み込むことで、個々の開発プロジェクトにあった検証を行うことが可能なります。 選定されたルールセットを利用することで、検査する必要のないルール違反が排除されるため、膨大な検証結果に埋もれて重要なルール違反を見逃すといった人為的なミスの発生を防げるので、修正作業の確実性が向上します。

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

CIツール「Jenkins」活用ソリューションに
関するお問い合わせ

  • 東京本社

    システムエンジニアリング事業部
    ソフトウェアエンジニアリング営業部

    03-4405-7853

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

CONTACT

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