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