このセクションでは、C/C++test に付属のテスト コンフィギュレーションについて説明します。付属のテスト コンフィギュレーションは、一般的なシナリオの大部分に対応します。カスタム テスト コンフィギュレーションの作成と、複数チームへのテスト コンフィギュレーションの配布については、「テストコンフィギュレーションとルールの設定」を参照してください。

ビルトイン テスト コンフィギュレーションは次のカテゴリに分類されます。

Static Analysis

このグループには、汎用的な静的解析テスト コンフィギュレーションが含まれます。コーディング標準を推進するテスト コンフィギュレーションについては「Compliance Packs」を参照してください。

テスト コンフィギュレーション 説明
Recommended Rules

推奨ルールのデフォルト コンフィギュレーションです。重要度 1 および 2 の大部分のルールをカバーします。Flow Analysis Fast コンフィギュレーションのルールを含みます。

Flow Analysis Standardテスト ケースやアプリケーションを実行せずに複雑な実行時エラーを検出します。検出されるエラーには、未初期化または無効なメモリの使用、null ポインター間接参照、配列およびバッファーのオーバーフロー、ゼロ除算、メモリおよびリソース リーク、デッド コードなどが含まれます。  特別なFlow Analysis ライセンス オプションが必要です。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。
Flow Analysis Fast 解析の深さとして「最も浅い」を使用するため、 Standard や Aggressive よりも迅速に実行します。 適度な量の問題を発見し、違反の数が爆発的に増加するのを防止します。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。
Flow Analysis  Aggressiveあらゆる疑わしいコードを違反として検出します。フロー解析テスト コンフィギュレーションの詳細については 「フロー解析ビルトイン テスト コンフィギュレーション」を参照してください。
Effective C++Scott Meyers の『Effective C++』に基づいたルールをチェックします。C++ プログラムの効率性をチェックします。
Effective STLScott Meyers の『Effective STL』に基づいたルールをチェックします。
Modern C++ (11, 14 and 17)モダン C++ 規格 (C++11、C++14、C++17) 向けのベスト プラクティスを推進するルールをチェックします。
Find Duplicated Code重複する関数、コード フラグメント、文字列リテラル、および #include ディレクティブを検出します。
Find Unused Code未使用コード/デッド コードを検出するためのルールが含まれます。
メトリクスメトリクスの統計をレポートし、許容範囲を超えるメソッド値を検出します。
Global Analysisグローバル静的解析ルールをチェックします。
Sutter-AlexandrescuHerb Sutter と Andrei Alexandrescu の『C++ Coding Standards』に基づいたルールをチェックします。
The Power of TenGerard J. Holzmann の記事「The Power of Ten - Rules for Developing Safety Critical Code」に基づいたルールをチェックします。(http://spinroot.com/gerard/pdf/Power_of_Ten.pdf)

コンプライアンス パック

コンプライアンス パックには、特定のコンプライアンス領域に合わせて調整されたテスト コンフィギュレーションが含まれ、業界固有のコンプライアンス標準およびプラクティスを推進するのに役立ちます。標準がどのように C/C++test のルールにマッピングされているかについては、「Compliance Packs Rule Mapping」を参照してください。

コンプライアンスの結果を DTP で表示する

このカテゴリの一部のテスト コンフィギュレーションには、対応する DTP の拡張機能があります。拡張機能を利用すると、セキュリティ コンプライアンスのステータスを参照したり、コンプライアンス レポートを生成したり、セキュリティ コンプライアンスのゴールに向けた進捗をモニターしたりできます。  コンプライアンス パックを使用するには、専用のライセンス機能をアクティベートする必要があります。コンプライアンス パック ライセンスの詳細については、Parasoft 製品サポートにご連絡ください。

利用可能な拡張機能の一覧、要件、使用方法については、DTP のマニュアルの「DTP の拡張」セクションを参照してください。

Aerospace Pack

テスト コンフィギュレーション 説明
Joint Strike FighterJoint Strike Fighter (JSF) プログラム コーディング規約を推進するルールをチェックします。
DO178C Software Level A Unit Testing適切なカバレッジ メトリクスの設定と DO178C Software Level A 用のレポート設定を使用して単体テストを実行します。
DO178C Software Level B Unit Testing適切なカバレッジ メトリクスの設定と DO178C Software Level B 用のレポート設定を使用して単体テストを実行します。
DO178C Software Level C and D Unit Testing適切なカバレッジ メトリクスの設定と DO178C Software Level C および D 用のレポート設定を使用して単体テストを実行します。

Automotive Pack

テスト コンフィギュレーション 説明
AUTOSAR C++14 Coding Guidelines

AUTOSAR C++ Coding Guidelines (Adaptive Platform, version 19.03) を推進するルールをチェックします。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。

High Integrity C++High Integrity C++ Coding 標準を推進するルールをチェックします。
HIS Source Code MetricsHerstellerinitiative Software (HIS) グループによって要求されるメトリクスをチェックします。
MISRA C 1998MISRA C コーディング規約を推進するルールをチェックします。
MISRA C 2004MISRA C 2004 コーディング規約を推進するルールをチェックします。
MISRA C++ 2008MISRA C++ 2008 コーディング規約を推進するルールをチェックします。
MISRA C 2012

MISRA C 2012 コーディング規約を推進するルールをチェックします。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。

ISO26262 ASIL A Unit Testing適切なカバレッジ メトリクスの設定と ISO26262 ASIL A 用のレポート設定を使用して単体テストを実行します。
ISO26262 ASIL B and C Unit Testing適切なカバレッジ メトリクスの設定と ISO26262 ASIL B および C 用のレポート設定を使用して単体テストを実行します。
ISO26262 ASIL D Unit Testing適切なカバレッジ メトリクスの設定と ISO26262 ASIL D 用のレポート設定を使用して単体テストを実行します。

Medical Devices Pack

テスト コンフィギュレーション 説明
Recommended Rules for FDA (C)「FDA General Principles for Software Validation」に準拠するために推奨されるルールをチェックします (C 言語用コンフィギュレーション)。
Recommended Rules for FDA (C++)「FDA General Principles for Software Validation」に準拠するために推奨されるルールをチェックします (C++ 言語用コンフィギュレーション)。

Security Pack

テスト コンフィギュレーション 説明
CWE Top 25 2019

CWE の Top 25 Most Dangerous Programming Errors として分類された問題を検出するルールを含みます。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。

CWE Top 25 2019 + On the Cusp

CWE の Top 25 Most Dangerous Programming Errors として分類された問題または CWE Weaknesses On the Cuspリストに含まれる問題を検出するルールを含みます。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。

OWASP Top 10 2017

OWASP のセキュリティ脆弱性トップ 10 で識別された問題を検出するルールを含みます。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。

Payment Card Industry Data Security Standard

Payment Card Industry Data Security Standard (PCI DSS) の セクション 6 にあるセキュリティの問題をチェックします。 (https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml)

検出される問題には、クロス サイト スクリプティング、インジェクション フロー、悪意のあるファイル実行などを防止するための入力 の検証、および適切なエラー処理の検証が含まれます。

Security Rulesセキュリティの脆弱性を防止または特定するルールをチェックしま す。
SEI CERT C Coding GuidelinesSEI CERT C コーディング スタンダードのルールとリコメンデーションをチェックします。このコーディング スタンダードは、セキュア コーディングのためのガイドラインを提供します。その目的は (たとえば未定義のプログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。
SEI CERT C Rules

SEI CERT C コーディング スタンダードのルールをチェックし ます。このコーディング スタンダードは、セキュア コーディングのためのガイドラインを提供します。その目的は (たとえば未定義のプログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。

SEI CERT C++ Rules

SEI CERT C++ コーディング スタンダードのルールをチェックします。このコーディング スタンダードは、セキュア コーディングの ためのガイドラインを提供します。その目的は (たとえば未定義の プログラム動作や悪用可能な脆弱性をもたらしかねない未定義の動作を排除することによって) 安全で信頼でき、セキュアなシステムの開発を容易にすることです。

(info) このテスト コンフィギュレーションは、Parasoft Compliance Pack ソリューションの一部です。DTP の Compliance 拡張機能を使用して業界標準へのコンプライアンスをモニターできます。専用のライセンス機能を有効化する必要があります。詳細は Parasoft 製品担当者にお問い合わせください。

UL 2900UL-2900 標準で識別された問題を検出するルールを含みます。

単体テスト

テスト コンフィギュレーション 説明
File Scope> Build Test Executable (File Scope)

トライアル ビルドのためのテスト用実行モジュールをビルドします。

選択したファイルだけがインストゥルメントされます。

File Scope> Collect Stub Information (File Scope)

[ スタブ] ビューに表示するスタブ情報を収集します。

選択したファイルだけがインストゥルメントされます。

File Scope> Debug Unit Tests (File Scope)

デバッガー下で単体テストを実行します。

選択したファイルだけがインストゥルメントされます。(info) Visual Studio 2019 に付属の Microsoft Visual C++ 14.2 コンパイラでコンパイルされたコードをデバッグする場合、デバッグする前に Visual Studio 2019 IDE を起動し、C/C++test の実行が終了するまで背後で実行されるようにします。

File Scope> Generate Stubs (File Scope)

見つからない関数定義と変数定義のためのスタブを生成します。

選択したファイルだけがインストゥルメントされます。

File Scope> Run Unit Tests 

利用可能なテスト ケースを実行します。

選択したファイルだけがインストゥルメントされます。

Build Test Executable 

トライアル ビルドのためのテスト用実行モジュールをビルドします。

すべてのプロジェクト ファイルをインストゥルメントします。

Collect Stub Information 

[スタブ] ビューに表示するスタブ情報を収集します。

すべてのプロジェクト ファイルをインストゥルメントします。

Debug Unit Tests 

デバッガー下で単体テストを実行します。

すべてのプロジェクト ファイルをインストゥルメントします。(info) Visual Studio 2019 に付属の Microsoft Visual C++ 14.2 コンパイラでコンパイルされたコードをデバッグする場合、デバッグする前に Visual Studio 2019 IDE を起動し、C/C++test の実行が終了するまで背後で実行されるようにします。

Generate Regression Base

プロジェクト コードの現在の機能をキャプチャしたベースライン テスト スイートを生成します。このベースラインからの変更を検出するには、定期的にこのテスト スイートを使ってコード ベースをテストします。 

結果は自動的に検証済みにされます。

Generate Stubs

見つからない関数定義と変数定義のためのスタブを生成します。

すべてのプロジェクト ファイルをインストゥルメントします。

Generate Test Suites選択したリソースのテスト スイートを生成します。テスト ケースは生成しません。
Generate Unit Tests選択したリソースの単体テストを生成します。
Run Unit Tests

利用可能なテスト ケースを実行します。

すべてのプロジェクト ファイルをインストゥルメントします。

Run Unit Tests with Memory Monitoring

利用可能なテスト ケースを実行し、メモリの問題についての情報を収集します。

すべてのプロジェクト ファイルをインストゥルメントします。

Run Unit Tests in Container

Docker コンテナー内のツールチェーンとテスト環境を使用してテスト ケースを実行します (「Docker コンテナーで解析とテストを実行する」を参照)。

アプリケーション検証

テスト コンフィギュレーション 説明
Build Application with Coverage Monitoringカバレッジ計測が有効な状態で、テスト対象アプリケーションをビルドします。
Build Application with Full Monitoringカバレッジ計測とメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドします。
Build Application with Memory Monitoringメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドします。
Build and Run Application with Coverage Monitoringカバレッジ計測が有効な状態で、テスト対象アプリケーションをビルドして実行します。
Build and Run Application with Full Monitoringカバレッジ計測とメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドして実行します。
Build and Run Application with Memory Monitoringメモリ エラー検出が有効な状態で、テスト対象アプリケーションをビルドして実行します。

Embedded Systems

テスト コンフィギュレーション 説明
ARM > Run ARM Embedded Linux Application with Memory Monitoringカバレッジと監視を有効にした状態で、ARM Embedded Linux システム上でテスト対象アプリケーションをビルドおよび実行します ( リアル ターゲット デバイスまたはシミュレーター上)。テストの実行結果はターゲット マシンのファイルシステムに保存され、scp コマンドを使ってホストにコピーされます。
ARM > Run ARM Embedded Linux Test Executableリアル ターゲット デバイスまたはシミュレーター上で、SSH プロトコルを使って単体テストをビルドおよび実行します。テストの実行結果はターゲット マシンのファイルシステムに保存され、scp コマンドを使ってホストにコピーされます。
ARM > Run DS-5 2.2 Application with Memory Monitoringカバレッジと監視を有効にした状態で、DS-5 デバッガー上でテスト対象アプリケーションをビルドおよび実行します。
ARM > Run DS-5 2.2 TestsDS-5 デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。
ARM > Run DS-5 3.x 4.x Application with Memory Monitoringカバレッジと監視を有効にした状態で、DS-5 デバッガー上でテスト対象アプリケーションをビルドおよび実行します。テスト バイナリの起動方法が記述された一時的なデバッガー スクリプトを生成し、このスクリプトを使ってデバッガーを起動します。     "Target connection configuration" テスト フロー プロパティを介してデバッガー スクリプトに渡されるデバッガー接続名をカスタマイズしなければならない場合があります。
ARM > Run DS-5 3.x 4.x Tests

DS-5 デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。テスト バイナリの起動方法が記述された一時的なデバッガー スクリプトを生成し、このスクリプトを使ってデバッガーを起動します。"Target connection configuration" テスト フロー プロパティを介してデバッガー スクリプトに渡されるデバッガー接続名をカスタマイズしなければならない場合があります。

Arm > Run DS-5 Application with Memory Monitoring (Software Model)ソフトウェア モデル シミュレーターを使って、単体テストをビルドおよび実行します。カバレッジと監視が有効です。ソフトウェア モデルの名前 (実行ファイル) を選択できます。
Arm > Run DS-5 Test Executable (Software Model)ソフトウェア モデル シミュレーターを使って、単体テストをビルドおよび実行します。ソフトウェア モデルの名前 (実行ファイル) を選択できます。
Altium> Run Altium TASKING CTC Application with Mem Monitoring TASKING スタンドアロン デバッガー (dbgtc) を使ってTriCore 命令セット シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 
Altium> Run Altium TASKING CTC Application with Mem Monitoring - CrossView TASKING Cross View Pro デバッガーを使って (デフォルトではTriCore 命令セット シミュレーター上で) テスト対象アプリケーションをビルドおよび実行します。  カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。
Altium>  Run Altium TASKING CTC TestsTASKING スタンドアロン デバッガー (dbgtc) を使ってTriCore 命令セット シミュレーター上で単体テストをビルドおよび実行します。 シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。 
Altium> Run Altium TASKING CTC Tests - CrossViewTASKING Cross View Pro デバッガーを使って (デフォルトではTriCore 命令セット シミュレーター上で) テスト対象アプリケーションをビルドおよび実行します。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。
Spansion> Build and Run Application with Memory Monitoring for Spansion FR Softune - Simulatorメモリの監視が有効な状態でシミュレーター上で Softune アプリケーションをビルドして実行します。テスト実行の結果はホスト マシンのファイル システムに保存されます。
Spansion> Run Spansion FR Softune Tests - SimulatorSoftune デバッガーを使ってシミュレーター上で単体テストをビルドおよび実行します。テスト実行の結果はホスト マシンのファイル システムに保存されます。
GNU GCC>Run GNU GCC Tests with Assembly Coverage MonitoringLinux x86 (32bit) 向け GNU GCC コンパイラ用のオールインワン コンフィギュレーションです。アセンブリ カバレッジ モニタリングが有効な状態で単体テストを実行します。
Green Hills Software> Run GHS Testsテスト バイナリをビルドおよび起動して実行時ログを読み取る、 GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。
Green Hills Software> Run GHS Application with Mem Monitoringメモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る、GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。
Green Hills Software> Run GHS Tests with Assembly Coverage Monitoringテスト バイナリをビルドおよび起動して実行時ログを読み取る、 GHS MULTI Embedded 用の一体型のテスト コンフィギュレーション。単体テストの結果に加えてアセンブリ カバレッジが収集されます。
IAR Systems> Run IAR ARM Application with Mem Monitoringメモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
IAR Systems> Run IAR ARM Tests テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
IAR Systems> Run IAR EW Application with Mem Monitoring (Batch Template)メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。EW 生成のバッチ スクリプトを使用します。
IAR Systems> Run IAR EW Tests (Batch Template)テスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。EW 生成のバッチ スクリプトを使用します。
IAR Systems> Run IAR MSP430 Application with Mem Monitoringメモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
IAR Systems> Run IAR MSP430 Testsテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
IAR Systems > Run IAR RX Application with Mem Monitoringメモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
IAR Systems > Run IAR RX Testsテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。手動シミュレーター構成を使用します。
Keil uVision > Run Keil uVision Tests - ULINK2 (UART)uVision デバッガーを使って単体テストをビルドおよび実行し、RS232 接続を介して結果を収集します。結果の送信をキャプチャするためにシリアル ポート リスナーが使用されます。  シリアル接続パラメーターをカスタマイズしなければならない場合があります。
Keil uVision > Run Keil uVision Tests - ULINKPro or Simulator (ITM)uVision デバッガーを使って単体テストをビルドおよび実行し、ITM ベースの通信チャネルを介して結果を収集します。 
Keil uVision > Run Keil uVision Tests - Simulator (UART)uVision デバッガーとシミュレーターを使って単体テストをビルドおよび実行します。結果が収集され、シミュレートされたUART を介して送られます。シリアル接続パラメーターをカスタマイズしなければならない場合があります。
Keil uVision > Run Keil uVision Application with Memory Monitoring - ULINK2 (UART)カバレッジとメモリの監視を有効にした状態で、uVision デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。RS232 接続を介して結果が収集されます。  結果の送信をキャプチャするためにシリアル ポート リスナーが使用されます。シリアル接続パラメーターをカスタマイズしなければならない場合があります。
Keil uVision > Run Keil uVision Application with Memory Monitoring - ULINKPro or Simulator (ITM)カバレッジとメモリの監視を有効にした状態で、uVision デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。結果は ITM ベースの通信チャネルを介して収集されます。  
Lauterbach Trace32 > Run Application with Memory Monitoring using Trace32 (FDX)Lauterbach Trace32 デバッガーを使ってテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。テストの実行結果はホスト マシンのファイルシステムに保存されます (FDX プロトコルを介して送られます)。デフォルトでは、デバッガーは TriCore TC1796 プロセッサで動作するように設定されます。
Lauterbach Trace32 > Run Tests using Trace32 (FDX)Lauterbach Trace32 デバッガーを使って単体テストをビルドおよび実行します。テストの実行結果はホスト マシンのファイルシステムに保存されます (FDX プロトコルを介して送られます)。デフォルトでは、デバッガーは TriCore TC1796 プロセッサで動作するように設定されます。
QNX > Build and Run Application with Memory Monitoring for QNX Momenticsリモート QNX システム上でテスト対象アプリケーションをビルドおよび実行します。リモート システム プロパティ (リモート ホスト、ユーザー名、およびテスト ディレクトリ) をカスタマイズする必要があります。リモート システムとの通信は rsh および rcp ツールに基づいています。
QNX > Run QNX Momentics Testsリモート QNX システム上で単体テストをビルドおよび実行します。リモート システム プロパティ (リモート ホスト、ユーザー名、およびテスト ディレクトリ) をカスタマイズする必要があります。リモート システムとの通信は rsh および rcp ツールに基づいています。
Renesas HEW> Run HEW 4.x Tests (simulated IO)HEW デバッガーを使って SH シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。 シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。
Renesas HEW> Run HEW 4.x Application with Mem Monitoring (simulated IO)HEW デバッガーを使って SH シミュレーター上でテスト対象アプリケーションをビルドおよび実行します。カバレッジとメモリの監視が有効化されます。シミュレーター上でのテスト実行の結果はホスト マシンのファイル システムに保存されます。
Texas Instruments > Run TI CCS 4.x Application with Memory Monitoringカバレッジとメモリの監視が有効な状態で、Code Composer デバッガーでテスト対象アプリケーションをビルドおよび実行します。CCS プロジェクトのアクティブ ターゲット構成を自動検出します。
Texas Instruments > Run TI CCS 4.x TestsCode Composer デバッガーを使って単体テストをビルドおよび実行し、結果を収集します。CCS プロジェクトのアクティブ ターゲット構成を自動検出します。
Wind River> Tornado> Build VxWorks Test Object (PassFS)結果を格納するためにパススルー ファイル システムを使用するテスト オブジェクトをビルドします。これには、静的カバレッジ データ (有効な場合) の生成と読み込みが含まれますが、テスト オブジェクトの起動や動的データの読み込みは含まれません。
Wind River> Tornado> Build VxWorks Test Object (Socket)結果の送信と格納にソケットを使用するテスト オブジェクトをビルドします。これには、静的カバレッジ データ (有効な場合) の生成と読み込みが含まれますが、テスト オブジェクトの起動や動的データの読み込みは含まれません。
Wind River> Tornado> Build VxWorks Test Object (TSFS)ターゲット サーバー ファイル システムを使用するテスト オブジェクトをビルドします。これには、静的カバレッジ データ (有効な場合) の生成と読み込みが含まれますが、テスト オブジェクトの起動や動的データの読み込みは含まれません。
Wind River> Tornado> Load and Run VxWorks Test ObjectWind River シェルを使ってテスト オブジェクトを起動します。PassFS および TSFS ビルド構成と共に使用します。
Wind River> Tornado> Load and Run VxWorks Test Object (Socket)ソケット リスナーを起動してから Wind River シェルを使ってテスト バイナリを起動します。ソケット ビルド構成と共に使用します。

Wind River> Tornado> Run VxWorks Application with Mem Monitoring (PassFS)

メモリの監視が有効な状態でアプリケーション モードでテスト バイナリをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。
Wind River> Tornado> Run VxWorks Unit Tests (PassFS)テスト オブジェクトをビルドおよび起動して実行時ログを読み取る一体型のテスト コンフィギュレーション。 

Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (PassFS)

リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を格納するために PassFS が使用されます。 
Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (Socket)リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を送信するために TCP/IP ソケットが使用されます。 
Wind River> Workbench 3.x> Build VxWorks Test Executable - RTP (TSFS)リアル タイム プロセス実行可能ファイルの形式でテスト バイナリを準備するために使用されます。テスト結果を格納するために TSFS が使用されます。 
Wind River> Workbench 3.x> Build VxWorks Test Module - DKM (PassFS)ダウンロード可能なカーネル モジュールの形式でテスト バイナリをビルドします。ctdt.c ファイルの生成を含みます。C++test を使ってテストする場合、オリジナルのビルドctdt.c と C++test 生成の ctdt.c との競合を避けるために、オリジナルの cdtd.c ファイルを除外しなければならないことがあります。テスト結果を格納するために PassFS が使用されます。 
Wind River> Workbench 3.x> Load and Run VxWorks Test Executable (RTP) VxSim 上でテスト バイナリを実行します。
Wind River> Workbench 3.x> Load and Run VxWorks Test Object (DKM) VxSim 上でテスト バイナリを実行します。
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - DKM (PassFS)

メモリの監視が有効な状態で、アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。

テスト結果を格納するために PassFS を使用します。

Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - DKM (TSFS)メモリの監視が有効な状態で、アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために TSFS を使用します。
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - RTP (PassFS)メモリの監視が有効な状態で、アプリケーション モードにおいてリアル タイム プロセスの形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために PassFS を使用します。
Wind River> Workbench 3.x> Run VxWorks Application with Mem Monitoring - RTP (TSFS)メモリの監視が有効な状態で、アプリケーション モードにおいてリアル タイム プロセスの形式でテスト バイナリをビルドし、起動し、実行時ログを読み取る一体型のコンフィギュレーション。テスト結果を格納するために TSFS を使用します。
Wind River> Workbench 4.x> Run VxWorks DKM Application with Full Monitoring (File System, WRWB 4.x)アプリケーション モードにおいてダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、テスト バイナリを実行し、ターゲットからバイナリをアンロードし、カバレッジとランタイム メモリ監視の結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。
Wind River> Workbench 4.x>Run VxWorks DKM Unit Tests (File System, WRWB 4.x)ダウンロード可能なカーネル モジュール形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、単体テストを実行し、ターゲットからバイナリをアンロードし、カバレッジとテスト結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。
Wind River> Workbench 4.x> Run VxWorks RTP Application with Full Monitoring (File System, WRWB 4.x)アプリケーション モードにおいて Real Time Process 形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、テスト バイナリを実行し、ターゲットからバイナリをアンロードし、カバレッジとランタイム監視の結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。
Wind River> Workbench 4.x> Run VxWorks RTP Unit Tests (File System, WRWB 4.x)Real Time Process 形式でテスト バイナリをビルドし、バイナリをターゲットにロードし、単体テストを実行し、ターゲットからバイナリをアンロードし、カバレッジとテスト結果を収集する一体型の WRWB 4.x 用コンフィギュレーション。
Wind River> Extract Symbols from VxWorks Image選択された VxWorks イメージからシンボルを収集します。収集されたシンボルは、Wind River> Workbench 3.x グループのテスト コンフィギュレーションを使用して DKM プロジェクトをテストする際に使用されます。
Build Test Executable - Generic Embedded System

Utilities

テスト コンフィギュレーション 説明
Load Test Results (File)

ファイル チャネルを介してテスト結果を収集します。デフォルトでは、このテスト コンフィギュレーションは ${cpptest:testware_loc} 中にログがあると想定します。必要に応じて、この場所は、C++test GUI からアクセスできるファイル システム上の任意の場所に変更できます。

Load Test Results (Sockets)TCP/IP ソケットを介して送られるテスト結果を収集します。 このテスト コンフィギュレーションは Java ユーティリティ プログラムを起動してテスト結果をリッスンしキャプチャします。テスト結果とカバレッジ結果のポート番号はカスタマイズ可能です。ポート番号は results_port および coverage_port プロパティで定義されます。 
Extract Library Symbols外部ライブラリ ( またはオブジェクト ファイル) からシンボル リストを抽出します。バイナリからシンボル情報を収集するための C++test の標準アルゴリズムが十分ではない場合は常にこのテスト コンフィギュレーションを使用するべきです。たとえば、Wind River DKM タイプのプロジェクトを使用している場合、この方法で収集された VxWorks イメージからすべてのシンボルを抽出します。通常、シンボルを抽出するバイナリの場所を入力するほか、ライブラリ/ オブジェクト ファイルのコンテンツをダンプするのに使用できる nm に似たユーティリティの名前も入力する必要があります。 
Generate Stubs Using External Library Symbols[Extract Library Symbols] テスト コンフィギュレーションを実行した後に、スタブを生成するために使用されます。このテスト コンフィギュレーションは、外部ライブラリからのシンボル リストのファイルがプロジェクトの一時データ中に格納されているものと想定します。 
Load Application Coveragecpptestcc で収集されたカバレッジ データを IDE にインポートします。「cpptestcc を利用したアプリケーション カバレッジの収集」を参照してください。
Load Archived Resultsアーカイブされた結果を C/C++test にロードします。「複数のテスト実行から結果をマージする」を参照してください。

プロジェクトやチームの優先順位に合わせてユーザー定義テスト コンフィギュレーションを作成する方法については、「テストコンフィギュレーションとルールの設定」を参照してください。


コンプライアンス パックのルールのマッピング

このセクションは、CWE 標準用のルール マッピングを示します。他の標準のマッピング情報は、コンプライアンス パックとともに提供される PDF ルール マッピング ファイルに記載されています。

CWE Top 25 のマッピング

CWE ID

CWE 名

Parasoft ルール ID

CWE-119

Improper Restriction of Operations within the Bounds of a Memory Buffer

  • CWE-119-a
  • CWE-119-b
  • CWE-119-c
  • CWE-119-d
  • CWE-119-e
  • CWE-119-f
  • CWE-119-g
  • CWE-119-h
  • CWE-119-i
  • CWE-119-j

CWE-79

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

N/A

CWE-20

Improper Input Validation

  • CWE-20-a
  • CWE-20-b
  • CWE-20-c
  • CWE-20-d
  • CWE-20-e
  • CWE-20-f
  • CWE-20-g
  • CWE-20-h
  • CWE-20-i
  • CWE-20-j

CWE-200

Information Exposure

  • CWE-200-a

CWE-125

Out-of-bounds Read

  • CWE-125-a
  • CWE-125-b
  • CWE-125-c
  • CWE-125-d

CWE-89

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

  • CWE-89-a

CWE-416

Use After Free

  • CWE-416-a
  • CWE-416-b
  • CWE-416-c

CWE-190

Integer Overflow or Wraparound

  • CWE-190-a
  • CWE-190-b
  • CWE-190-c
  • CWE-190-d
  • CWE-190-e
  • CWE-190-f
  • CWE-190-g

CWE-352

Cross-Site Request Forgery (CSRF)

N/A

CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-22-a

CWE-78

Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

  • CWE-78-a

CWE-787

Out-of-bounds Write

  • CWE-787-a
  • CWE-787-b
  • CWE-787-c
  • CWE-787-d
  • CWE-787-e
  • CWE-787-f

CWE-287

Improper Authentication

  • CWE-287-a

CWE-476

NULL Pointer Dereference

  • CWE-476-a
  • CWE-476-b

CWE-732

Incorrect Permission Assignment for Critical Resource

  • CWE-732-a
  • CWE-732-b

CWE-434

Unrestricted Upload of File with Dangerous Type

N/A

CWE-611

Improper Restriction of XML External Entity Reference

  • CWE-611-a

CWE-94

Improper Control of Generation of Code ('Code Injection')

N/A

CWE-798

Use of Hard-coded Credentials

  • CWE-798-a

CWE-400

Uncontrolled Resource Consumption

  • CWE-400-a

CWE-772

Missing Release of Resource after Effective Lifetime

  • CWE-772-a
  • CWE-772-b

CWE-426

Untrusted Search Path

  • CWE-426-a

CWE-502

Deserialization of Untrusted Data

N/A

CWE-269

Improper Privilege Management

  • CWE-269-a
  • CWE-269-b

CWE-295

Improper Certificate Validation

N/A

CWE Weaknesses On the Cusp のマッピング

CWE ID

CWE 名

Parasoft ルール ID

CWE-835

Loop with Unreachable Exit Condition ('Infinite Loop')

  • CWE-835-a

CWE-522

Insufficiently Protected Credentials

N/A

CWE-704

Incorrect Type Conversion or Cast

  • CWE-704-a
  • CWE-704-b
  • CWE-704-c
  • CWE-704-d
  • CWE-704-e
  • CWE-704-f
  • CWE-704-g
  • CWE-704-h
  • CWE-704-i
  • CWE-704-j
  • CWE-704-k
  • CWE-704-l

CWE-362

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-362-a
  • CWE-362-b
  • CWE-362-c
  • CWE-362-d
  • CWE-362-e

CWE-918

Server-Side Request Forgery (SSRF)

N/A

CWE-415

Double Free

  • CWE-415-a

CWE-601

URL Redirection to Untrusted Site ('Open Redirect')

N/A

CWE-863

Incorrect Authorization

  • CWE-863-a

CWE-862

Missing Authorization

N/A

CWE-532

Inclusion of Sensitive Information in Log Files

  • CWE-532-a

CWE-306

Missing Authentication for Critical Function

N/A

CWE-384

Session Fixation

N/A

CWE-326

Inadequate Encryption Strength

  • CWE-326-a

CWE-770

Allocation of Resources Without Limits or Throttling

  • CWE-770-a

CWE-617

Reachable Assertion

  • CWE-617-a



  • No labels