AQtime Pro は、C/C++、.NET、Silverlight、Java、Delphi のアプリケーションのコード カバレッジ分析を提供します。AQtime Pro は、手動によるアプリケーションの実行中にコード カバレッジを計測するだけでなく、継続的なカバレッジ分析のために自動回帰テストに統合して利用できます。
AQtime Pro のコード カバレッジ分析は、どのソース ファイル、関数、コード行がテストでカバーされたか、またはテストされていない、あるいは部分的にしかテストされていないかを確認することができます。これにより、作成すべき追加テストや既存のテストをどのように改良すべきか知ることができます。
特定のソースファイル、名前空間、クラス、メソッドのカバレッジを確認したい場合、AQtime Pro は、簡単にコードをカバレッジ分析に含めたり除外することができるため、分析したい特定のエリアに焦点を当てることができます。
任意の詳細レベル (コンパイルされたモジュール、ソースファイル、関数) でコードカバレッジ レポートを分析できます。定義済みのフィルターを使用すると、一定のカバレッジ値以下、またはカバレッジされないコードだけにレポートを制限することができます。
AQtime Pro は、過去のカバレッジ結果と現在のカバレッジ結果とを並べて比較することができます。新規コードの記述、既存コードの変更、新規テストの追加により、プロジェクト カバレッジがどのように変化したかを確認することができます。
プロジェクト全体の集計カバレッジ統計を取得するために、複数のコード カバレッジの結果を結合することができます。これは、複数の環境で実行される大規模なプロジェクトで有効な機能です。
また、AQtime Pro は各カバレッジ セッション後に、自動的に結果を結合できるので、時間の節約と最終結果だけに集中することができます。
自動テストで AQtime Pro カバレッジ分析したビデオ (6:06)
AQtime Pro は、32 ビットおよび 64 ビットの C/C++、Delphi、.NET、Java、Silverlight アプリケーションと、スクリプトの性能解析を行い、ボトルネックを特定します。AQtime Pro は、スタンドアロンのパフォーマンス プロファイラーとして使用することも、あるいは生産性向上のため Microsoft Visual Studio および Embarcadero RAD Studio IDE に統合して使用することもできます。
AQtime Pro は、アプリケーションのパフォーマンス分析用に複数のモードを用意しています。初めは軽量な 「サンプリング プロファイラー」 を使用してアプリケーション全体からボトルネックとなる箇所を特定し、その後より正確な 「パフォーマンス プロファイラー」 を使用することでホットスポットをより深くドリルダウンできます。
AQtime Pro は、ソースコードの特定の部分に焦点を当てることができるので、任意の範囲(ソースコード、クラス、メソッドなど)を選択してプロファイルを実行したり、逆にプロファイリングから特定の範囲を除外することができます。また、アプリケーションの実行中にいつでもプロファイリングを開始および停止させることができます。加えて、AQtime Pro は、アプリケーションの特定のメソッドの実行時または、終了時に自動でプロファイリングを開始および、停止させることも可能です。これらの機能により、プロファイリング時のオーバーヘッドを最小限に抑えられます。
AQtime Pro のパフォーマンス プロファイリング レポートは、アプリケーションのパフォーマンスに大きな影響を与える関数と、コールパスを簡単に特定します。サマリーから詳細なパフォーマンス レポートにドリルダウンすることで、パフォーマンスのチューニングが必要なコードが分かります。
AQtime Pro のプロファイリングは、スレッドに完全対応し、Windows、.NET、COM スレッドを監視することができます。アプリケーション コードから直接読み取ることができるスレッド名で、プロファイリングのオンとオフをスレッド ベースで行うことができます。プロファイリング結果は、各スレッド毎または全てのスレッドの両方で分析することができます。
AQtime Pro は、プロファイリング結果を比較することができるため、最適化の前後のパフォーマンスの違いを簡単に確認することができます。比較時には、差分の数値や、差分の割合をレポート内で表示できます。
AQtime Pro のメモリー プロファイリングは、アプリケーションのメモリーリークと、リソースリークを特定します。リークの問題を解決することにより、アプリケーションの高い効率性と、安定性を確保するのに役立ちます。AQtime Pro は、スタンドアロンのメモリー アロケーション デバッガーとして利用できるほか、Microsoft Visual Studio および Embarcadero RAD Studio に統合して使用することもできます。
AQtime Pro は、様々なタイプのメモリーおよびリソースのリークを検出できます:
AQtime Pro の Memory Monitor は、アプリケーションのメモリーおよびリソースのアロケーションをリアルタイムで表示するので、過度なメモリーおよびリソースの使用を検出できます。アプリケーションで使用される個々のクラスだけでなく、総メモリー使用量、カテゴリー別メモリー使用量 (ヒープ、予約された仮想メモリーなど)、リソース タイプ (ブラシ、フォントなど) を監視することができます。より包括的なアプリケーションのメモリー分析をするために、いつでも完全なメモリーのスナップショットを撮ることができます。
AQtime Pro でアプリケーション メモリーのスナップショットを撮り、比較することでメモリー リークの特定やアプリケーション メモリーの使用量を分析することができます。本来よりも長く存在するオブジェクトの追跡が簡単になります。
AQtime Pro は、すべてのライブ オブジェクトのコール スタックのアロケーションを追跡するので、リークしたオブジェクトが作られたソースファイル、関数、行の正確な場所が分かります。
AQtime Pro を使用して、アプリケーション全体、または特定の領域だけをプロファイリングすることができます。初回はアプリケーション全体を解析し、問題の箇所を特定後に、その部分だけを再度深く解析することで、不要なオーバーヘッドを抑え、効率良くプロファイリングが行えます。
AQtime Pro のプロファイリング エリアでは、プロファイルする箇所を指定でき、名前空間や、クラス、メソッドをクラスビューからドラッグ アンド ドロップすることで、プロファイリング対象に選択したり、除外することができます。
AQtime Pro は、アプリケーションの実行中、および特定の関数の開始または終了時に、自動的にプロファイリングの開始または停止をするためのトリガーとアクションを設定できます。また、AQtime SDK を使用してアプリケーションからプロファイリングを制御できます。これにより特定の問題に焦点を当てて、残りのコードはオーバーヘッドなしで実行することができます。
AQtime Pro は、関数レベルと行レベルの両方のプロファイリングを提供するので、必要に応じて詳細レベルを選ぶことができます。最初に、関数レベルの分析で最適化のための主要な候補を特定し、次に検出したボトルネックの詳細な分析のために行レベルのデータを集めます。
すでに実行中のアプリケーションに AQtime Pro をアタッチすることができ、アプリケーションを再起動させることなく、すぐにプロファイリングを開始することができます。これにより、特定の状態に達したアプリケーションのパフォーマンスとメモリーを分析することができます。
AQtime Pro は、プロファイリングから標準ライブラリー メソッドを自動的にフィルターで除外するので、アプリケーション コードの解析に集中することができます。このフィルターは、ネイティブ コード ライブラリー (VCL、ATL、MFC、およびその他) と .NET Framework ライブラリーに適用されます。
AQtime Pro は、包括的で分かりやすいレポートを提供し、開発者はアプリケーション内のパフォーマンス ボトルネック、メモリーおよびリソース リーク、その他の問題を簡単に特定することができ、適切にソースコードを最適化できます。
AQtime Pro は、高度なデータ分析を行うため、サマリーと詳細なレポートを提供します:
プロファイリング レポートは、ハイライトされたクリティカルなパスとアプリケーションのすべての関数のコールツリーを含み、実行時間やメモリー アロケーション、その他のメトリクスを提供します。コールツリーにより、パフォーマンスのボトルネックの箇所と、リークしたメモリーのソースを特定できます。
プロファイリング結果は、AQtime Pro のコードビューアと同期しているため、ボトルネックを引き起こしている箇所をドリルダウンすることで、問題のコードを素早く確認することができます。
AQtime Pro は、プロファイリングのセッション終了時に自動的にレポートを生成します。さらに、アプリケーションの実行中でもプロファイリング結果をキャプチャーすることができます。
プロファイリング結果で、重要ではない情報を非表示にし、重要なクラスや関数だけを表示することができます。また、検出されたボトルネックに優先度をつけるために様々なメトリクス (時間、アロケートされたメモリー、コード カバレッジ率) を使用しプロファイリング データを並べ替えることもできます。
AQtime Pro は、以前のプロファイリング結果と現在のプロファイリング結果を比較できるため、コードの変更により、アプリケーションが改善されたか、または別の問題を引き起こしたかを比較結果から判断できます。
AQtime Pro は、レポートを印刷、またはそれらを Microsoft Excel、HTML、XML、テキストファイル、データベースにエクスポートすることができます。
Microsoft Visual Studio および Embarcadero RAD Studio の IDE に統合できるため、使い慣れた開発環境上で、パフォーマンスの問題やメモリーとリソースのリークを検出することができ、アプリケーションを最適化できます。
AQtime Pro は、スタンドアロンとしても、Microsoft Visual Studio および Embarcadero RAD Studio の IDE と統合しても使用することも可能です。クリック 1 つでアプリケーションのパフォーマンス、メモリーの使用量、コード カバレッジ、その他のメトリクスなどを分析でき、IDE から離れることなく、コードの最適化に取り組めます。
AQtime Pro には、アプリケーションの実行中に障害をシミュレートし、アプリケーションの動作への影響を監視する Failure Emulator が含まれています。主に次の機能が提供されます :
AQtime Pro は、Microsoft Visual Studio や Embarcadero RAD Studio に統合でき、IDE 上でアプリケーションのデバック中にランタイム フォールト インジェクションを実行することができます。
AQtime Pro の Failure Emulator は、アプリケーション コードの変更を必要としていません。ソースコードを利用できないアプリケーションにもフォールトを挿入することができます。
ソフトウェアの障害は、通常の動作条件で再現するのは困難です。AQtime Pro の Failure Emulator を使うと、高精度で再現性のある障害のシミュレーションができ、簡単に例外処理やリカバリー コードに到達することができます。
AQtime Pro は、様々な障害のエミュレートをサポートします:
AQtime Pro は、コール スタックの失敗をレポートに表示し、障害が検出されたコード行に移動し、対応することができます。
C/C++、Delphi、.NET、ASP.NET、Silverlight、Java、スクリプト向けのアプリケーションの実行時分析では、ネイティブとマネージド モジュールの両方を同時に分析できます。
AQtime Pro は以下のプロファイルができます:
AQtime Pro は、スタンドアロンの Windows アプリケーション、Windows サービス、IIS、ASP.NET、XBAP、COM、DCOM、COM+ アプリケーションの開発に関わらず、すべてをサポートする最適なプロファイラーです。
パフォーマンスのボトルネック、メモリー/リソース リーク、未検証、複雑なコードを除去することで C および C++ アプリケーションの品質を向上します。Visual Studio IDE 上でプロファイルが可能です。
RAD Studio に統合されたプロファイラーを使用することで、Delphi アプリケーションのパフォーマンス、メモリーおよびリソースの使用量、コード カバレッジ、コード メトリックスを向上します。
パフォーマンスのボトルネックを診断し、Silverlight のコードカバレッジを分析することで、Silverlight アプリケーションの開発効率と品質を向上します。
Internet Explorer、TestComplete 自動化テスト、Windows Script Host でのスクリプトのパフォーマンスとコード カバレッジを測定します。