...

Rational PurifyPlus のご紹介

by user

on
Category: Documents
228

views

Report

Comments

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
Fly UP