• 検索結果がありません。

CodeRecorderでカバレッジ

N/A
N/A
Protected

Academic year: 2021

シェア "CodeRecorderでカバレッジ"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

株式会社 コンピューテックス

(2)

「カバレッジ」と 「単体テスト」

カバレッジとは

プログラムがどれだけ実行されているかを示す指標です。 プログラム全体に対して実行された比率をカバレッジ率で表します。 カバレッジの基準として、一般的にC0、C1が使われております。 C0カバレッジは、全体のうち何%が実行されたかで求めます。 C1カバレッジは、条件判断文で真、偽の両方が成立すれば100%となります。 これらの値を100%に近づけていく事により、実行していないコードがなく なっていきます。

単体テスト

カバレッジと言えば単体テストをイメージされる方も多いと思います。 例えば、関数を一つ動かすと考えた場合、引数や変数の値を定義しておかな ければ、テストとして意味がなくなってしまう事もあります。 単体テストはできるに越した事はありませんが、無理に行わなくても統合テ ストできっちりカバレッジ率を意識しておけば、品質は十分上がると考えら

C0カバレッジ:命令網羅率

命令コードを実行した事をあらわす指標

C1カバレッジ:分岐網羅率

分岐条件の真、偽をあらわす指標 関数呼び出しは? 引数の値は? I/Oの値は? 下位関数の 呼び出しは?

(3)

カバレッジ導入への戸惑い

今のテストで十分?

とあるプロジェクトのシステムテストでカバレッジを測定してみました。 すると、結果はC0カバレッジ率が60%までしか達成できていませんでした。 これは最終的なテストで一度も通過していないコードが40%もあったという事になります。 十分と思っていたテストケースでも、これだけの漏れがあるという事が分かります。

費用対効果が見えない?

不具合は、通過しにくいところに潜んでいる事が多いです。 カバレッジをやってみなければ、未通過コードがどこにあるという事を知るすべがありません。 製品リリース後に、こういった不具合が見つかった時のダメージを考えて、費用が妥当かどうかを検討する必要が あります。

余計な工数が増える

テストの工数とテストケースが用意されているなら、CodeRecorderでカバレッジを有効にして、いつもどおりのテスト をやってみましょう。 テストを行った分のカバレッジ率は、CodeRecorderが自動的に測定します。 ただし、テスト漏れが新たに発見される事がありますので、その分の追加テスト工数が増える事はあります。

(4)

未通過コードはどうする?

それぞれの運用ルールを決めて処理します

本当の不具合

不要・未使用

コード

エラー処理

単純なテスト漏れ

不要なコードの場合

基本的には削除する

カバレッジ率から除外して記録に残す

どうしても通過しない条件の場合

デバッガで無理やり通す

理由を明らかにしてカバレッジ率から除外する

(5)

CodeRecorderでカバレッジ

CodeRecorderは、プログラムの見える化として、いろいろな機能を実装しています。

関数の呼び出し状態の可視化、関数の実行時間の計測、カバレッジなどがあります。

それでは、CodeRecorderを使用しての

カバレッジについて紹介していきます

(6)

CodeRecorderを使用してカバレッジ

フィルタを行うツールバー C1カバレッジ率 C0カバレッジ率 項目をグループ化 ファイル内のカバレッジ率 各関数のカバレッジ率

カバレッジ・ウィンドウ

カバレッジ・ウィンドウは、個々のカバレッジ率を表示するだけでなく、 ファイル単位やプロジェクト全体のカバレッジ率も表示します。 また、フィルタで表示を絞り込む事もできます。 全体のカバレッジ率

(7)

CodeRecorderを使用してカバレッジ

カバレッジ率のグループ化

カバレッジ率でソート

このように、カバレッジ率をいろいろな方法で確認する事ができます

カバレッジ率の表示

警告色表示

グラフ表示

カバレッジ率を棒グラフで表示します。 指定したカバレッジ率にしたがって 警告色表示します。

(8)

CodeRecorderを使用してカバレッジ

担当者を設定すればリターン先が明確に!

カバレッジ・ウィンドウでは、カバレッジ率の表示のほかに、「担当者」や「備考」を

設定する事ができます。

担当のソースや関数に「担当者」を設定

絞り込みも可能!

[ 備 考 ] に は 、 除 外 や カ バ レッジ率が100%にならな い理由など、いろいろなコメ ントを記入できます。

(9)

CodeRecorderを使用してカバレッジ

ソース・ウィンドウでも、カバレッジの状態を見る事ができます。

エラー処理などは

除外する事もできます

左フィールド

ソース・ウィンドウ

未通過箇所を

検索する事も可能です

C0カバレッジ C1カバレッジ 未通過の行

(10)

CodeRecorderを使用してカバレッジ

フィルター処理で見たい項目を絞り込み!

文字列で絞り込む

カバレッジ率で絞り込む

文字列を入力 カバレッジ率を入力

除外関数を非表示

関数を非表示

フィルター以外の表示方法もあります

(11)

CodeRecorderを使用してカバレッジ

何度かに分けて行ったテスト結果、複数人で行ったテスト結果をマージ!

マージして、テスト結果の差分も確認可能

マージで ほぼ100%に!

マージの拡張機能を使用すると、複数人で行ったテスト

結果の除外設定、備考の内容、担当者の設定を、他のプ

ロジェクト・ファイルからインポート可能です。

マージするデータに チェックをつける

(12)

CodeRecorderを使用してカバレッジ

複数のテスト結果を1つのコンパクトなデータに結合できます。

複数のテスト結果

1つのデータに結合

ただし、統合されたデータで表示できるのは

(13)

CodeRecorderを使用してカバレッジ

カバレッジ・テストの結果をより正確に!

未使用の関数を除外

if文を除外設定 if (ret == 0) return -1;

if (ret == 0){

return

-1;

}

エラー処理など、未通過ブロックの除外

if文の書き方も注意しましょう

UP!

(14)

CodeRecorderを使用してカバレッジ

カバレッジで不具合が見つかることも!

カバレッジ率が100%ではない関数があったので、未通過の箇所 をソース・ウィンドウで確認してみると、実行されているはずの コードがなぜか未通過になっていました。 調べてみると、if文の条件が間違っていました。 条件を「>=」に修正します。 再びカバレッジ・テストを行います。 すると、正しくコードが実行されるようになりました。 条件を「>=」に修正 なぜ、未通過? 未通過の行 から に 変わったことが 確認できます

(15)

製品紹介

動的テストツール

無償評価貸出 実施中 まずはCodeRecorderを実感してみてください!

CodeRecorderは開発段階から最終ステージまでの製品テストにおいて、さまざまな角度からプログラムの評価が行 える動的テストツールです。 テスト漏れやボトルネックの発見、発生率の低いバグを捕らえて原因を調査することが可能です。 CodeRecorder

CR-200

CodeRecorder

CR-100

CodeRecorder

ST-1

CodeRecorder CR-200はCR-100の後継機として誕生しました。 バグの発見はもとより、カバレッジ・テストをさらに強力にサポート します。 ターゲット接続は、高速データ通信のメモリバスと、最小2 ピンで接続できるGPIOを選択できます。各インターフェース専用プ ローブがセットになっています。 CodeRecorder ST-1はCR-100で取得したデータを複数 の開発者で解析するときに使用できる、ソフトウエア 単体の製品です。 CodeRecorder CR-100は、組込み製品の品質アップと 開発期間を短縮できる動的テストツールとして誕生しま した。 必要なプローブ、ケーブル、電源がセットに なっており、すぐに接続して動作確認ができる評価 ボードが付属します。

(16)

30日間試用版のダウンロード

CodeRecorder VC 初回起動後30日間は製品版と同等の機能をご使用いただけます。 ぜひこの機会に、動的テストツール CodeRecorder VC に触れてみてください!

製品紹介

CodeRecorder VCは、Visual C++で開発されるWindowsアプリケーションの 「開発段階」から「最終テスト」まで幅広く使えるツールです。

(17)

株式会社コンピューテックス

: https://www.computex.co.jp/

Homepage

: [email protected]

参照

関連したドキュメント

本人が作成してください。なお、記載内容は指定の枠内に必ず収めてください。ま

          ITEC INTERNATIONAL 株式会社. 型名

*Windows 10 を実行しているデバイスの場合、 Windows 10 Home 、Pro 、または Enterprise をご利用ください。S

私たちは、行政や企業だけではできない新しい価値観にもとづいた行動や新しい社会的取り

続いて、環境影響評価項目について説明します。48

本稿で取り上げる関西社会経済研究所の自治 体評価では、 以上のような観点を踏まえて評価 を試みている。 関西社会経済研究所は、 年

実施無し 実施 実施無し実施無し実施実施無し 実施実施実施実施 熱交換器無し 実施 実施実施無し対象設備無し 実施 実施無し0.

貫通部① 貫通部③ 貫通部④ 貫通部⑤