マルチステージ型          継続的インテグレーションのすすめ        Jenkins ユーザ・カンファレンス 2012 東京                 セッション:S406-4                        ...
1自己紹介• 氏名:今井 敦(いまい あつし)• 所属:テクマトリックス株式会社・経歴:コールセンターシステム開発、データ ベース製品保守業務に携わる。現在はソフト ウェア品質保証を中核としたビジネスを展開す る部署にて品質保証サービスに従事。...
2 会社紹介テクマトリックス株式会社・設立:1984年8月(旧社名:ニチメン・データ・システム)・資本金:12億9,812万円・事業内容: コンピュータ、通信機器のハードウェア・ ソフトウェア販売、システム開発・構築、 保守、教育、コンサルティ...
3ソフトウェア品質保証                                        Software                                         Quality               ...
4取扱ツール単体テスト/静的解析                                               メモリエラー検出 実行時エラー検出                                          ...
5取扱ツール単体テスト/静的解析                                               メモリエラー検出 実行時エラー検出                                          ...
6品質保証ソリューション単体テストソリューション                                             アーキテクチャ分析ソリューション• テストケースの生成から単体テストの実行までを自動化          ...
7CIソリューションCI環境構築サービス  • 標準的なCI環境を導入されたいお客様へ  • 構成管理ツールから自動チェックアウト/自動ビルド環境を構築します。CI環境構築+テストツール連携サービス  • バグ検出機能をCI環境へ導入されたいお...
8本日のアジェンダマルチステージ型継続的インテグレーションのすすめ1.継続的インテグレーションのメリット2.メリットを享受できていますか?3.マルチステージ型継続的インテグレーション4.デモムービーによる説明5.おわりにCopyright © ...
9  継続的インテグレーションのメリットCopyright © 2012 TechMatrix Corporation. All rights reserved.
10 継続的インテグレーションのメリット1.手戻りの削減・品質の維持                                          2.いつでもリリースが可能                                 ...
11   メリットを享受できていますか?Copyright © 2012 TechMatrix Corporation. All rights reserved.
12継続的インテグレーションを導入したプロジェクト• 結合ビルドで行う   モジュールA   開発チーム                          実装            テスト   モジュールB   開発チーム          ...
13ビルドエラーの影響が他チームに及ぶ   モジュールA                                              結合できるレベルに達してい                                   ...
14 期待したメリットを得ることができない1.手戻りの削減・品質の維持                                          2.いつでもリリースが可能                                ...
15改善策はあるか?• つぎの視点で見直すことが必要  チーム/モジュール構成                                                        開発プロセス               モジュールA...
16マルチステージ型継続的インテグレーションCopyright © 2012 TechMatrix Corporation. All rights reserved.
17ソフトウェアの成熟度• ソフトウェアは、開発プロセスを通して段階的  に成熟していくものです。• プロジェクト規模、チーム構成、モジュール構  成、プロセスの視点が大切であり、継続的イン  テグレーションは、これに応じて段階的に行う  と効...
18マルチステージ型継続的インテグレーション• チームビルドと結合ビルド   モジュールA   開発チーム                           CI             CI                         ...
19マルチステージ型のメリット• ビルド失敗時の影響範囲を限定的にし、大規模  なプロジェクトにCIを適用しやすくする  – チームビルド、結合ビルド• チームのプロセス、ソフトウェアの成熟度に応  じた適切なフィードバックをする    • 単...
20         デモムービーによる説明Copyright © 2012 TechMatrix Corporation. All rights reserved.
21デモ環境の説明                                       AccuRevで表現                結合ビルド                                           ...
補足:デモンストレーションで使用したツールのご紹介                                                          22  Understand  ソースコード解析ツール            ...
補足:デモンストレーションで使用したツールのご紹介                                                             23  Lattix  アーキテクチャ分析ツール            ...
補足:デモンストレーションで使用したツールのご紹介                                         24  単体テストツール         ISO 26262 / IEC61508 ツール認証取得       ...
25デモムービーについて• 同様のデモンストレーションを弊社サイトでも  ご覧いただけます。ぜひご覧ください。http://www.accurev-  techmatrix.jp/movie/ci/ci-demo.htmlCopyright ©...
26                                     おわりにCopyright © 2012 TechMatrix Corporation. All rights reserved.
27 まとめ1.手戻りの削減・品質の維持                                          2.いつでもリリースが可能                                               ...
28                                        Q&ACopyright © 2012 TechMatrix Corporation. All rights reserved.
29                             製品カタログCopyright © 2012 TechMatrix Corporation. All rights reserved.
30構成管理ツール(AccuRev)                         複雑な並行開発・分散開発のプロセスを自動化・最適化する                       ソフトウェア構成管理ツール                ...
31単体テストツール       ISO 26262 / IEC61508 ツール認証取得            単体テスト、静的解析、フロー解析、            実行時メモリエラー検出を1ツールで。       高品質なC/C++ソフ...
32特長 コード規模拡大の防止                            •メトリクス計測+重複コード検証                                       •バグ探偵(フロー解析)による冗長パスチェック ...
33C/C++ メモリエラー検出    アプリケーションを動かしただけでは、検出することが困難なメ    モリリークやメモリ参照エラー等をピンポイントで検出します。     メモリ参照エラー                     変数宣言の問...
34機能テスト/負荷テストツール    WebサービスやXMLの相互運用性、クライアント/サーバーの    単体テスト、機能テスト、パフォーマンステスト、さらにはセ    キュリティ検証まで、さまざまな角度から SOAシステムやWeb    ア...
35サービス・アプリケーションを仮想化                                       •仮想アセットを使えば、他チームが開発するサブシステム     並行開発での利用                        ...
36ソフトウェアライフサイクル品質管理      プロジェクト計画とタスク定義      要件のトレーサビリティ      タスク管理と分配      開発プロジェクトの見える化Copyright © 2012 TechMatrix Corpo...
37アーキテクチャ分析                   DSMを使用してシステムの                  アーキテクチャを分析するツール          DSM(Dependency Structure Matrix)を利用し...
38ソースコードを可視化 (Understand)                                                 ソースコード静的解析&                                     ...
39お問い合わせ                                      テクマトリックス株式会社                                     システムエンジニアリング事業部            ...
Upcoming SlideShare
Loading in …5
×

Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ

1,398 views
1,276 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,398
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ

  1. 1. マルチステージ型 継続的インテグレーションのすすめ Jenkins ユーザ・カンファレンス 2012 東京 セッション:S406-4 14:30~15:20 @S406Copyright © 2012 TechMatrix Corporation. All rights reserved.
  2. 2. 1自己紹介• 氏名:今井 敦(いまい あつし)• 所属:テクマトリックス株式会社・経歴:コールセンターシステム開発、データ ベース製品保守業務に携わる。現在はソフト ウェア品質保証を中核としたビジネスを展開す る部署にて品質保証サービスに従事。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  3. 3. 2 会社紹介テクマトリックス株式会社・設立:1984年8月(旧社名:ニチメン・データ・システム)・資本金:12億9,812万円・事業内容: コンピュータ、通信機器のハードウェア・ ソフトウェア販売、システム開発・構築、 保守、教育、コンサルティング業務、 アプリケーションパッケージの開発・販売 など Copyright © 2012 TechMatrix Corporation. All rights reserved.
  4. 4. 3ソフトウェア品質保証 Software Quality Assurance ソフトウェア品質保証 ソフトウェア開発における工数削減と品質向上 を可能にする各種開発支援ツールと、チーム開 発におけるエラーの予防・プロジェクト管理・品 質管理を支援するソリューションを提供。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  5. 5. 4取扱ツール単体テスト/静的解析 メモリエラー検出 実行時エラー検出 機能テスト/負荷テスト アーキテクチャ分析 構造分析 構成管理/課題管理 影響分析Copyright © 2012 TechMatrix Corporation. All rights reserved.
  6. 6. 5取扱ツール単体テスト/静的解析 メモリエラー検出 実行時エラー検出 機能テスト/負荷テスト アーキテクチャ分析 構造分析 構成管理/課題管理 影響分析Copyright © 2012 TechMatrix Corporation. All rights reserved.
  7. 7. 6品質保証ソリューション単体テストソリューション アーキテクチャ分析ソリューション• テストケースの生成から単体テストの実行までを自動化 • DSMを使用し依存関係を可視化することで、アプリケー ションのアーキテクチャの分析をサポートセキュリティソリューション• ソースコードセキュリティ検証を自動化し、脆弱なコード トレーサビリティソリューション を検出 • 要求仕様からアーキテクチャ設計、詳細設計、テスト設 計、V&V、コード相互依存関係を含むトレーサビリティを静的解析ソリューション MDMで実現する技術を提供• ソースコードの静的検証を自動化し、潜在的なエラー検 出をサポート 構成管理・変更管理・課題管理ソリューションエラー検出ソリューション •効率的なソフトウェア構成管理や課題管理を実現するサービ• ランタイムエラーの検出を自動化し、メモリ関連エラーの スを提供 検出をサポート 機能安全コンプライアンスソリューション負荷テストソリューション •機能安全規格へのコンプライアンス支援サービスを提供• WebシステムやSOAシステムの性能測定、パフォーマンスボ •機能安全(IEC61508) 自動車(ISO26262) FA(IEC/EN62061)、 鉄道RAMS/EN50126) トルネックの検出をサポート 医療機器安全SLCP支援サービス品質管理ソリューション •IEC62304 JIST2304 対応支援• チーム開発におけるテストやプログラムの品質向上をサ ポート 医療機器FDAコンプライアンス準拠支援サービスCIソリューション •GPSV Part11 CSV 対応支援 •Automated Defect Prevention の仕組みを提供• 継続的インテグレーションによる、開発効率向上を実現Copyright © 2012 TechMatrix Corporation. All rights reserved.
  8. 8. 7CIソリューションCI環境構築サービス • 標準的なCI環境を導入されたいお客様へ • 構成管理ツールから自動チェックアウト/自動ビルド環境を構築します。CI環境構築+テストツール連携サービス • バグ検出機能をCI環境へ導入されたいお客様へ • Parasoft製品によるフロー解析、コーディング規約チェックを導入します。CI環境構築+ツール連携+ルール選定サービス • 高精度なバグ検出機能をCI環境に組込みたいお客様へ • ソースコードを分析し、お客様に最適なルールセットをご提供します。CIコンサルティングサービス • プロジェクトや製品特性に合わせたCI環境を導入されたいお客様へ • お客様の課題を解決する最適なソリューション、構築サービスを提案します。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  9. 9. 8本日のアジェンダマルチステージ型継続的インテグレーションのすすめ1.継続的インテグレーションのメリット2.メリットを享受できていますか?3.マルチステージ型継続的インテグレーション4.デモムービーによる説明5.おわりにCopyright © 2012 TechMatrix Corporation. All rights reserved.
  10. 10. 9 継続的インテグレーションのメリットCopyright © 2012 TechMatrix Corporation. All rights reserved.
  11. 11. 10 継続的インテグレーションのメリット1.手戻りの削減・品質の維持 2.いつでもリリースが可能 最新の安定バージョン コミット コミット OK NG NG OK コミット 大量のバグ コミット コミット 少量のバグ 少量のバグ インテグレーション3.作業コストの削減 4.作業の正確さ、あいまい性の排除 5.開発データの蓄積 自動実行 インテグレーションの結果(インテグレーション) コンパイル テスト 同じ環境 インスペクション 開発者は 同じ設定 同じ手順 知的な作業に注力 デプロイCopyright © 2012 TechMatrix Corporation. All rights reserved.
  12. 12. 11 メリットを享受できていますか?Copyright © 2012 TechMatrix Corporation. All rights reserved.
  13. 13. 12継続的インテグレーションを導入したプロジェクト• 結合ビルドで行う モジュールA 開発チーム 実装 テスト モジュールB 開発チーム CI 実装 テスト レビュー 結合 リリース モジュールC 開発チーム 受け入れ テスト 統合 テストCopyright © 2012 TechMatrix Corporation. All rights reserved.
  14. 14. 13ビルドエラーの影響が他チームに及ぶ モジュールA 結合できるレベルに達してい ないソースが構成管理に格納 開発チーム されている 実装 テスト モジュールB 開発チーム CI 実装 テスト レビュー 結合 リリース モジュールC 開発チーム 受け入れ テスト 統合 テストCopyright © 2012 TechMatrix Corporation. All rights reserved.
  15. 15. 14 期待したメリットを得ることができない1.手戻りの削減・品質の維持 2.いつでもリリースが可能 最新の安定バージョン コミット コミット OK NG NG OK コミット 大量のバグ コミット コミット 少量のバグ 少量のバグ インテグレーション3.作業コストの削減 4.作業の正確さ、あいまい性の排除 5.開発データの蓄積 自動実行 インテグレーションの結果(インテグレーション) コンパイル テスト 同じ環境 インスペクション 開発者は 同じ設定 同じ手順 知的な作業に注力 デプロイCopyright © 2012 TechMatrix Corporation. All rights reserved.
  16. 16. 15改善策はあるか?• つぎの視点で見直すことが必要 チーム/モジュール構成 開発プロセス モジュールA 開発チーム 実装 テスト モジュールB モジュールC 結合 開発チーム 開発チーム 実装 テスト レビューCopyright © 2012 TechMatrix Corporation. All rights reserved.
  17. 17. 16マルチステージ型継続的インテグレーションCopyright © 2012 TechMatrix Corporation. All rights reserved.
  18. 18. 17ソフトウェアの成熟度• ソフトウェアは、開発プロセスを通して段階的 に成熟していくものです。• プロジェクト規模、チーム構成、モジュール構 成、プロセスの視点が大切であり、継続的イン テグレーションは、これに応じて段階的に行う と効果的です。• このように段階的に構成された継続的インテグ レーションをつぎのように呼びます。マルチステージ型継続的インテグレーションCopyright © 2012 TechMatrix Corporation. All rights reserved.
  19. 19. 18マルチステージ型継続的インテグレーション• チームビルドと結合ビルド モジュールA 開発チーム CI CI 実装 テスト モジュールB 開発チーム CI CI CI 実装 テスト レビュー 結合 リリース モジュールC 開発チーム CI CI CI 受け入れ テスト 統合 テストCopyright © 2012 TechMatrix Corporation. All rights reserved.
  20. 20. 19マルチステージ型のメリット• ビルド失敗時の影響範囲を限定的にし、大規模 なプロジェクトにCIを適用しやすくする – チームビルド、結合ビルド• チームのプロセス、ソフトウェアの成熟度に応 じた適切なフィードバックをする • 単体テスト、コーディング規約チェック • メトリクス計測 • 影響分析 継続的インテグレーションの効果を最大化Copyright © 2012 TechMatrix Corporation. All rights reserved.
  21. 21. 20 デモムービーによる説明Copyright © 2012 TechMatrix Corporation. All rights reserved.
  22. 22. 21デモ環境の説明 AccuRevで表現 結合ビルド チームビルドCopyright © 2012 TechMatrix Corporation. All rights reserved.
  23. 23. 補足:デモンストレーションで使用したツールのご紹介 22 Understand ソースコード解析ツール ソースコードを静的に解析し、 結果をグラフィカルに可視化。 ソースコードのフロー図の表示や メトリクスを集計。 ソースコードメトリクスとは プロジェクトやソースコードな どの評価をするための尺度。 例: ・コード行数 ・クラス数 ・サイクロマチック複雑度 Copyright © 2012 TechMatrix Corporation. All rights reserved.
  24. 24. 補足:デモンストレーションで使用したツールのご紹介 23 Lattix アーキテクチャ分析ツール DSM(Dependency Structure Matrix)を利用して、全体構造を 効果的に可視化 モジュールやソースコード自体 を解析対象とし、AsIsを分析 Copyright © 2012 TechMatrix Corporation. All rights reserved.
  25. 25. 補足:デモンストレーションで使用したツールのご紹介 24 単体テストツール ISO 26262 / IEC61508 ツール認証取得 単体テスト、静的解析、フロー解析、 実行時メモリエラー検出を1ツールで。 高品質なC/C++ソフトウェアの開発を強力にサポートします。 Copyright © 2012 TechMatrix Corporation. All rights reserved.
  26. 26. 25デモムービーについて• 同様のデモンストレーションを弊社サイトでも ご覧いただけます。ぜひご覧ください。http://www.accurev- techmatrix.jp/movie/ci/ci-demo.htmlCopyright © 2012 TechMatrix Corporation. All rights reserved.
  27. 27. 26 おわりにCopyright © 2012 TechMatrix Corporation. All rights reserved.
  28. 28. 27 まとめ1.手戻りの削減・品質の維持 2.いつでもリリースが可能 最新の安定バージョン コミット コミット OK NG NG OK コミット 大量のバグ コミット コミット 少量のバグ 少量のバグ インテグレーション3.作業コストの削減 4.作業の正確さ、あいまい性の排除 5.開発データの蓄積 自動実行 インテグレーションの結果(インテグレーション) コンパイル テスト 同じ環境 インスペクション 開発者は 同じ設定 同じ手順 知的な作業に注力 デプロイCopyright © 2012 TechMatrix Corporation. All rights reserved.
  29. 29. 28 Q&ACopyright © 2012 TechMatrix Corporation. All rights reserved.
  30. 30. 29 製品カタログCopyright © 2012 TechMatrix Corporation. All rights reserved.
  31. 31. 30構成管理ツール(AccuRev) 複雑な並行開発・分散開発のプロセスを自動化・最適化する ソフトウェア構成管理ツール 導入実績 600社・25,000ライセンス以上 ▶ Stream Browser™によるプロセスの見える化 ▶ AccuWorkによる課題との統合管理 ▶ ロック・ACLによるセキュリティの確保 ▶ 並行/派生開発時のマージ負荷軽減 ▶ 様々な開発プロセスへの適用 ▶ Time Safe 機能による再現性・完全性の確保 ▶ Replica機能による分散開発のサポートCopyright © 2012 TechMatrix Corporation. All rights reserved.
  32. 32. 31単体テストツール ISO 26262 / IEC61508 ツール認証取得 単体テスト、静的解析、フロー解析、 実行時メモリエラー検出を1ツールで。 高品質なC/C++ソフトウェアの開発を強力にサポートします。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  33. 33. 32特長 コード規模拡大の防止 •メトリクス計測+重複コード検証 •バグ探偵(フロー解析)による冗長パスチェック テスト容易性・保守性向上 バグ混入防止と検出 •コーディング規約チェックと単体テスト • バグ探偵による致命的なエラーの検出 早期品質確保の徹底 回帰テスト自動化 •テストケース自動生成(早期開発時回帰テスト) •ナイトリービルドによる自動回帰テスト 効率的なデグレード予防 カバレッジ計測 • 単体テストカバレッジの計測 • アプリケーション実行時のカバレッジ計測 開発・受入時での利用Copyright © 2012 TechMatrix Corporation. All rights reserved.
  34. 34. 33C/C++ メモリエラー検出 アプリケーションを動かしただけでは、検出することが困難なメ モリリークやメモリ参照エラー等をピンポイントで検出します。 メモリ参照エラー 変数宣言の問題 プログラミングエラーとサードパーティ ライブラリエラー ■グローバル変数宣言の矛盾 ■メモリ破壊 ■未使用ローカル変数 ■メモリリーク ■引数の不一致 ■ポインタの誤った使用 ■システムコールの不正なパラメータ ■メモリ演算子の矛盾 ■誤った引数の値 ■システムコールのエラーCopyright © 2012 TechMatrix Corporation. All rights reserved.
  35. 35. 34機能テスト/負荷テストツール WebサービスやXMLの相互運用性、クライアント/サーバーの 単体テスト、機能テスト、パフォーマンステスト、さらにはセ キュリティ検証まで、さまざまな角度から SOAシステムやWeb アプリケーションを検証 Webアプリケーション機能テスト/負荷テスト 動的に生成されるページを静的解析 RESTやSOAPクライアントによるサービス単体テストCopyright © 2012 TechMatrix Corporation. All rights reserved.
  36. 36. 35サービス・アプリケーションを仮想化 •仮想アセットを使えば、他チームが開発するサブシステム 並行開発での利用 の進捗状況に影響されず、システムテストを開始できます。 データベースのエミュ •仮想アセットを使えば、テスト用データベースのセット レーション アップが短時間で済みます。 異常系・例外処理のエ •外部システムを模倣する仮想アセットが異常系・例外処理 ミュレーション をエミュレート。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  37. 37. 36ソフトウェアライフサイクル品質管理 プロジェクト計画とタスク定義 要件のトレーサビリティ タスク管理と分配 開発プロジェクトの見える化Copyright © 2012 TechMatrix Corporation. All rights reserved.
  38. 38. 37アーキテクチャ分析 DSMを使用してシステムの アーキテクチャを分析するツール DSM(Dependency Structure Matrix)を利用して、 全体構造を効果的に可視化 モジュールやソースコード自体を解析対象とし、AsIsを分析Copyright © 2012 TechMatrix Corporation. All rights reserved.
  39. 39. 38ソースコードを可視化 (Understand) ソースコード静的解析& メンテナンスツール ソースコードを静的に解析し、結果をグ ラフィカルに可視化。プログラム構造を 可視化し、ソフトウェアの開発環境及び メンテナンス環境を、飛躍的に向上させ ます。Copyright © 2012 TechMatrix Corporation. All rights reserved.
  40. 40. 39お問い合わせ テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部 Tel : 03-5792-8606 / Fax : 03-5792-8706 E-Mail : parasoft-info@techmatrix.co.jp URL : http://www.techmatrix.co.jp/solution/quality/product.htmlCopyright © 2012 TechMatrix Corporation. All rights reserved.

×