製品情報

DT-Storageの機能

直感的に使える便利な機能

ソフトウェアをさまざまな角度から解析する。

テストポイントの自動挿入Zoom in

テストポイントの自動挿入

経路情報を取得するためのテストポイント(マクロ)は、関数の入口/出口/分岐などに自動で挿入されます。また、#define, #if, #ifdef, #elseなどの定義済みプリプロセッサディレクティブを読み込んで解析し、有効なコードにのみテストポイントを挿入することも可能。従来のprintf文デバッグデバッグのように、人によるばらつきもなく、大変効率的です。
言語はC/C++、C#、Javaに対応。

関数の遷移を見える化Zoom in
▲関数遷移スコープ

関数の遷移を”見える化”

時間軸にそって、各関数がどのように実行されたのかを”見える化”します。コア、プロセスの状態遷移、関数がどのプロセスから呼び出されたかも一目で確認が可能。さらに、Linux、Android開発なら、プロセスIDとプロセス名をカーネルから直接取り込み、トレース結果上に表示することができるため、より効率良く、リアルな動きを把握できるようになります。
また、テストレポートや変数モニタとも同期して表示されるため、デバッグ効率を大幅にアップします。

タスクやシーケンスの遷移をグラフィカルに確認Zoom in
▲イベントトレース

タスクやシーケンスの遷移をグラフィカルに確認

タスク、プロセス、スレッドなどの遷移確認や、状態遷移、シーケンス遷移などをグラフィカルに確認することができます。占有率や占有時間を表示することもできるほか、関数トレースと連携しているので、マクロの視点からミクロの視点までソフトウェアを多角的に”見える化”することが可能になります。

変数値の変化もグラフで表示Zoom in
▲変数モニタ

変数値の変化もグラフで表示

変数値出力用のテストポイントを挿入することで、変数値の変化をグラフ表示することができます。複数のグラフを重ね合わせて表示したり、各変数の最大値、最小値を一覧表示することもできます。

 

変数値の書き換えも可能 (※)
任意の位置に、変数値を書き換えるためのテストポイントを挿入することで、指定した変数の値を書き換えることができます。パラメーターが変更されることによる挙動の変化を評価することが可能になります。

※C/CPPのソースファイル、かつ、接続方式がGPIO/SPI接続の場合
※ストレージモードOFF時

動的コードカバレッジでテスト漏れを防ぐZoom in
▲カバレッジレポート

動的コードカバレッジでテスト漏れを防ぐ

動的テストの実施工程において、動的にコードカバレッジを計測することができます。実際に通過しなかった処理をソースコードレベルで明らかにすることで、効率的にテスト漏れを防ぐことが可能になります。

対応しているカバレッジ

・命令網羅(C0 / ステートメントカバレッジ)
・分岐網羅(C1)

リアルタイム&長時間のカバレッジ測定Zoom in
▲リアルタイムカバレッジ/ワンタイムトレース

リアルタイム&長時間のカバレッジ測定(※)

DT-Storageは、ソフトウェアの実行を止めずに、カバレッジの変化を確認することも可能。テスト未実施の処理をソースコードレベルで素早く把握でき、さらに無駄のない効率的なソフトウェアテストが実現できます。
また、ソフトウェアのトレース結果が必要以上に膨大にならない「ワンタイムトレース」機能も搭載。これにより、長時間の連続カバレッジ測定が可能となります。

※STORAGEモード OFF時

処理時間を把握してボトルネックを改善Zoom in
▲実行時間レポート/実行時間グラフ

処理時間を把握してボトルネックを改善

全ての関数の実行時間(最大・最小・平均など)を統計的に表示します。また、任意の二点間における処理時間を解析することも可能。設計値をはずれた処理をかんたんに発見することができるので、性能測定試験も効率的にすすめられます。

処理時間のばらつきも可視化Zoom in
▲実行時間ヒストグラム/周期時間ヒストグラム

処理時間のばらつきも可視化

処理時間のヒストグラム表示機能を使えば、設計値からはずれた処理時間の有無や、動作環境での処理時間のばらつきを簡単に把握することができます。異常な処理時間を把握することで、タイミングに依存する潜在的な不具合を早めに修正することができます。

負荷の高いプロセスを見える化Zoom in
▲プロセス占有率スコープ

負荷の高いプロセスを見える化

プロセス毎の占有率をグラフ表示することができます。選択した区間内で、プロセス毎に負荷の高い個所が一目で確認可能。さらに、ソフトウェアのトレース情報も同期しているため、高負荷状態がどのような実行経路で発生したのか、簡単に把握することができます。

リアルタイムにCPUの負荷率を確認するZoom in
▲パフォーマンスモニタ

リアルタイムにCPUの負荷率を確認する(※)

専用のテストポイントを埋め込むことで、リアルタイムにCPUの負荷情報を表示することが可能になります。実動作をさせながら、負荷の高い処理を一目で確認することができます。
プログラムの実行経路情報とも連動しているため、負荷の高い処理をつきとめることも非常にかんたんです。

※リアルタイム表示はSTORAGEモードON時のみ

設計値との比較を自動実行Zoom in
▲DTPlanner

設計値との比較を自動実行

実行時間や変数の設計値をあらかじめ登録し、ソフトウェアを実際に動作させると、実測値と設計値の比較を自動で行います。これにより、異常個所をかんたんに把握できます。
設計値などのプロパティ情報は、派生開発時にもそのままかんたんに引き継ぐことができるので、派生開発におけるソフトウェアテストも効率的にすすめることが可能になります。

コマンドラインでテストを自動化Zoom in

コマンドラインでテストを自動化

コマンドライン(コマンドプロンプト)からDT-Storageを操作し、レポートデータ収集の開始/停止、解析、保存することができます。継続的インテグレーションのサイクル内で、JenkinsなどのCIツールを利用しテストを自動化する際にも、DT-Storageでプログラムの挙動をトレース・解析することができます。

テスト結果を出力Zoom in
▲テスト報告書

テスト結果を出力

取得したレポートデータから、自動でテスト報告書を作成することができるため、ドキュメント作成の工数を削減することができます。
また、解析結果はCSV形式でエクスポートすることもできます。

出力できるレポート

・レポートデータ
・カバレッジレポート
・実行/周期時間レポート
・ループ回数レポート
・二点間実行時間レポート
・ステップ周期時間レポート

ノイズによるトレースデータの誤検出を防止Zoom in
▲GPIO-NoiseIsolator 接続イメージ

ノイズによるトレースデータの誤検出を防止

オプションユニット「GPIO-NoiseIsolator(ノイズアイソレーター)」は、アイソレーション回路により、安定したトレースデータの取得を可能にします。高電圧や大電流、高速動作から発生するノイズを低減させ、トレースデータの誤検出を防ぎます。
さらに、I/Fケーブルが最長5mまで延長できるので、設置方法・場所が制限されず、快適な作業環境が作れます。

複数CPUの実行経路を同時トレースZoom in
▲Multi-Tracer を使ったシーケンス処理の確認

複数CPUの実行経路を同時トレース

オプションユニット「Multi-Tracer(マルチトレーサー)」は、DT10やDT-Storageに接続することで、各々のCPUで実行されている、別々のプログラムの実行経路と、CPU間の通信データを同時に長時間トレースすることができます。
複数CPUの実行経路情報を同時に取得できるから、CPUをまたいだシーケンス処理の確認がとってもカンタンです。