Comments
Description
Transcript
Rational PurifyPlus のご紹介
® IBM Software Group Rational PurifyPlus のご紹介 日本アイ アイ・・ビー ビー・・エム エム株式会社 ソフトウェア事業 日本 アイ 株式会社 ソフトウェア 事業 Rational クライアント テクニカル プロフェッショナルズ © 2010 IBM Corporation IBM Software Group | Rational software 開発の早期段階から品質向上の必要性 『National Institute of Standards and Technology』の 開発コスト 開発コストの コストの80 % は 問題の 問題の特定とその 特定とその修復 とその修復に 修復に費やされる レポートによると、 … Caper Jones 著の『Applied Software Measurement』 では コーディングで コーディングで作りこまれる欠陥 りこまれる欠陥( 欠陥(メモリ操 メモリ操 作など) など)は、通常の 通常のテストでは テストでは検出 では検出されにく 検出されにく く、多くの場合 くの場合は 場合は運用後に 運用後に検出され 検出され、 され、修正 コストが コストが莫大になってしまう 「1つの つの欠陥修正 of Defect)※」は、 つの欠陥修正の 欠陥修正の費用(Cost 費用 コーディング時 ビルド時 テスト時 リリース後 - ¥ 2,500 / 欠陥 ¥ 10,000 / 欠陥 ¥ 45,000 / 欠陥 ¥ 1,600,000 / 欠陥 リリース後 リリース後は、 コストだけでなく コストだけでなく 会社の 会社の信用にも 信用にも影響 にも影響 テスト段階 テスト段階で 段階で同様の 同様の欠 陥に対処すると 対処すると約 すると約20倍 20倍 の費用がかかる 費用がかかる システムテスト 結合テスト 結合テスト 単体テスト 単体 テスト 費 用 コーディング 設 設 計 計 ※$1 = ¥100 で換算 実装 実装 テスト テスト 本番稼動 本番稼動 2 IBM Software Group | Rational software IBM Rationalの のテスト・ テスト・ソリューション テストを想定した開発ライフサイクルとRationalテスト自動化ツール 要件定義 基本設計 詳細設計 システム・テスト 設計 結合テスト 設計 単体テスト 設計 実装 単体テスト 実行 結合テスト 実行 開発者 • 統合開発環境(Eclipse)で統一さ れた画面と操作性 • 開発ライフサイクル全体で活用 できる豊富な機能 • 開発者/テスター問わず利用でき る柔軟性 システムテスト 実行 テスター 静的解析テスト 静的解析テスト コード品質 コード品質の 品質の向上 機能テスト 機能テスト 画面操作の 画面操作の記録・ 記録・再生 Rational Software Analyzer Rational Functional Tester 動的解析テスト 動的解析テスト メモリリーク等 メモリリーク等を視覚化 Rational PurifyPlus (※ ※) 負荷テスト 負荷テスト 同時アクセス 同時アクセスで アクセスで性能検証 Rational Performance Tester 組込み 組込みランタイム上 ランタイム上のテスト セキュリティー・ セキュリティー・テスト Web アプリ脆弱性検査 アプリ脆弱性検査 Rational Test Realtime Rational AppScan 静的/動的解析 静的 動的解析テスト 動的解析テスト テスト管理 テスト管理・ 管理・品質ダッシュボード 品質ダッシュボード 開発アプリケーション 開発アプリケーションの アプリケーションのテスト・ テスト・ステータスを ステータスを一元管理 Rational Quality Manager (※) PurifyPlusはEclipseインターフェースではありません 3 IBM Software Group | Rational software 静的解析、動的解析の使い分け テスト コーディング 静的分析: 静的分析: 動的分析: 動的分析: 『コードを コードを実行せず 実行せず』 せず』、ソースコードに ソースコードに信頼性、 信頼性、効 率性、 率性、保守性などの 保守性などの点 などの点で問題がないか 問題がないか検証 がないか検証 『コードを コードを実行』 実行』し、ランタイム上 ランタイム上のパフォーマン ス・メモリの メモリの状況を 状況をモニターし モニターし、問題の 問題の特定を 特定を実施 ・コードレビュー ・実行時間分析( 実行時間分析(パフォーマンス分析 パフォーマンス分析) 分析) ・クラス間 クラス間の依存関係、 依存関係、パターン ・メモリ分析 メモリ分析 ・コードの コードのメトリクス 等 ・コード・ コード・カバレッジ Java 統合開発環境、 統合開発環境、静的、 静的、動的分析 Rational Application Developer Java, C, C++ 静的解析 Rational Software Analyzer C, C++, .NET 動的解析 Rational PurifyPlus (組み込み向け用途が 用途が多い) Java, C, C++, Ada 静的解析、 静的解析、動的分析 Rational Test Realtime 4 IBM Software Group | Rational software Rational PurifyPlus の概要 3つのランタイム分析ツールのパッケージ Purify:メモリー分析 メモリアクセス操作をチェックし、エラーの発生箇所を的確に知る エラー発生の原因を分析するのに便利な詳細情報を提供 Quantify:パフォーマンス分析 パフォーマンスチューニング時のボトルネック特定 プログラムのコールパスを確認 PureCoverage:コードカバレッジ コードカバレッジ・データの取得/分析 ホワイトボックス・テスト用のテストケースに対してカバレッジ率を測定 エディション Rational PurifyPlus for Windows Visual Studio との統合 Rational PurifyPlus for Linux and UNIX Rational PurifyPlus Enterprise Edition (上記2つの製品が同梱) 5 IBM Software Group | Rational software Rational PurifyPlus for Windows システム要件 対象言語はC/C++, .NET サポートOSは Windows Vista Windows XP Windows 2000 Windows Server 2003 Windows Server 2008 ※現在は32bit のみ 最新情報はこちらを確認 http://www-01.ibm.com/software/awdtools/purifyplus/win/sysreq/ ※Javaについては、Rational Application Developer (RAD) を利用してください (P11, 12を参照) 6 IBM Software Group | Rational software Rational PurifyPlus for Linux and UNIX システム要件 対象言語はC/C++ サポートOSは、 AIX, Solaris, Linux (RHEL, SLES) 最新情報はこちらを確認 http://www-01.ibm.com/software/awdtools/purifyplus/unix/sysreq/ ※Javaについては、Rational Application Developer (RAD) を利用してください (P11, 12を参照) 7 IBM Software Group | Rational software Rational Purify : メモリー分析 開発中または稼動中のアプリケーションでメモリに関する問題が発生した際に利用 配列の境界を越えた読み取りおよび書き込み 初期化されていないメモリの使用 NULLポインタでの読み取りおよび書き込み など エラー発生の原因を分析するのに便利な詳細情報を提供 C/C++のメモリー・ メモリー・エラー情報 エラー情報 画面はRational PurifyPlus for UNIX の例です メモリの メモリの解析 8 IBM Software Group | Rational software Rational Quantify : パフォーマンス分析 期待するパフォーマンスを 得られない時、どこにアプ リケーションのボトルネッ クがあるかを検証 不適当なアルゴリズム 速度の遅い関数 プロファイル(関数単位、 行単位で実行時間/実行 回数などのデータ)を収集 画面はRational PurifyPlus for UNIX の例です コールグラフ ボトルネックをハイライト 関数のコール関係 コメント付 コメント付きソースコード 関数詳細からさらに コードのブラウジィング 関数単位の 関数単位の詳細情報 コールグラフからさらに詳細な関数の情報へ 9 IBM Software Group | Rational software Rational Pure Coverage : カバレッジ分析 Purify および Quantifyにおける各種テストのカバレッジ(対象範囲)を 管理/レポートすることで、テストの抜けによるエラーを防ぎます。 カバレッジデータ - 関数、行ごとのカバレッジデータ - カバレッジ統計情報の表示 関数レベル 関数レベルの レベルの詳細情報 画面はRational PurifyPlus for UNIX の例です コメント付 コメント付きソースコード 10 IBM Software Group | Rational software (参考)RAD7.5 ランタイム分析 開発者が 開発者が自ら作成した 作成したコード したコードを コードを「早期に 早期に」 実行環境(WASテスト テスト環境 実行環境 テスト環境)上 環境 上で検証 3つのランタイム分析を含む メモリー分析 パフォーマンス分析 コードカバレッジ 実行統計 実際にアプリケーションを実行しながら情報収集 Javaアプリケーション、WAS V7, V6.1, V6に対応 RADをインストールと別のマシンの分析を行う場合 は、エージェント・コントローラーをインストール フィルターの指定 メモリー統計 結果をレポート出力 CSV HTML XML コードカバレッジ 11 IBM Software Group | Rational software (参考)プロファイルの取得 RAD は WebSphere Application Server テスト環境上 テスト環境上で 環境上で実行される 実行される J2EE アプリケーションの アプリケーションのプロファイリングを プロファイリングを取得する 取得することができます することができます。 ことができます。 結果を確認 サーバーをプロファイル起動 アプリケーションの実行 アプリケーションの起動 プロファイルの作成 12 IBM Software Group | Rational software 情報源 Rational ブランド トップページ http://www.ibm.com/jp/software/rational/ Rational PurifyPlus (ランタイム分析ツール) http://www.ibm.com/software/jp/rational/products/purifyp/ developerWorks Japan - Rational (技術者向けポータルサイト) http://www.ibm.com/developerworks/jp/rational/ Rationalツール ここからはじめよう!シリーズ http://www.ibm.com/developerworks/jp/rational/library/cms/start/ ここからはじめるIBM Rational PurifyPlus V7.0 http://www.ibm.com/jp/domino01/mkt/rational.nsf/doc/0016D531 ここからはじめるIBM Rational Application Developer for WebSphere Software V7.5 http://www.ibm.com/jp/domino01/mkt/rational.nsf/doc/00260D08 Rational製品評価版 http://www.ibm.com/software/jp/rational/download/ 13 IBM Software Group | Rational software Learn more at: IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management Rational trial downloads Leading Innovation Web site developerWorks Rational IBM Rational TV IBM Business Partners IBM Rational Case Studies © Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 14