CodeRecorderでカバレッジ

Similar documents
2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

メソッドのまとめ

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

Python によるジオプロセシング スクリプト入門

040402.ユニットテスト

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

Python によるジオプロセシング スクリプト入門

Exfront4.1.0リリースノート

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

なぜバグ曲線は収束するのか

概要 ABAP 開発者が SAP システム内の SAP ソースまたは SAP ディクショナリーオブジェクトを変更しようとすると 2 つのアクセスキーを入力するよう求められます 1 特定のユーザーを開発者として登録する開発者キー このキーは一度だけ入力します 2 SAP ソースまたは SAP ディクシ

目次 ペトリネットの概要 適用事例

はじめに 本ドキュメントは Redmine を使用して稼働する定量的プロジェクト管理ツール ( 以下 IPF と略します ) のヘルプです IPF の操作に関わる機能を解説しており Redmine 及び構成管理ツール (Subversion Git) の標準機能については 本ヘルプの記載対象外として

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

PowerPoint プレゼンテーション

An introduction and future of Ruby coverage library

エクセルの基礎を学びながら、金額を入力すると自動的に計算され、1年分の集計も表示される「おこづかい帳」を作りしょう

TRQerS - Introduction

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

ColorNavigator 7インストールガイド

ゲームプログラミング講習 第0章 導入

目次 ページ 1. 本マニュアルについて 3 2. 動作環境 4 3. ( 前準備 ) ライブラリの解凍と保存 5 4. モデルのインポート 6 5. インポートしたモデルのインピーダンス計算例 8 6. 補足 単シリーズ 単モデルのインポート お問い合わせ先 21 2

スライド 1

テキストファイルの入出力1

立ち読みページ

Mindjet MindManager Version 9 for Windows サービスパック 2 リリースノート : 2011 年 4 月 20 日

PowerPoint プレゼンテーション

NetworkVantage 9

ColorNavigator 7インストールガイド

はじめに GeminiはMacの容量を消費する重複ファイルを検出し削除するためのツールです 高度なスキャンアルゴリズム 優れたデザイン 使いやすいインターフェイスで Macから驚くほど重複ファイルがなくなります Geminiで音楽 動画 ドキュメントなどの様々な重複したファイルを検出し 削除しましょ

Si 知識情報処理

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

PowerPoint プレゼンテーション

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Origin 2017 と 2018 のプロダクトキーは共通なので 両方のバージョンを合わせてご契約 台数までしかインストールすることができません あらかじめご了承ください Origin を使用する PC を変更したい場合は 元の PC でライセンスを取り外してから 別の PC に同じプロダクトキー

Delphi/400でFlash動画の実装

「MT-3_2-ja

(Microsoft Word - VisionPro\203C\203\223\203X\203g\203\214\201[\203V\203\207\203\223\203}\203j\203\205\203A\203\ doc)

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

<4D F736F F F696E74202D DD8D8782ED82B98B5A8F7082F B582BD835C F E707074>

変更の影響範囲を特定するための 「標準調査プロセス」の提案 2014年ソフトウェア品質管理研究会(30SQiP-A)

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

インテル(R) Visual Fortran コンパイラ 10.0

Mozilla Thunderbird アカウント設定手順 株式会社アマダアイリンクサービス

CommCheckerManual_Ver.1.0_.doc

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

X-MON 3.1.0

Microsoft Word - HOBO雨量専用説明書_v1.1.doc

SystemDirector Developer's Studio(V3.2) 適用ガイド

一括請求Assist

ホームページ・ビルダー サービス「ライトプラン」

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63>

スライド 1

Microsoft Word - Mac版 Eclipseの導入と設定.docx

サイボウズ ツールバー βマニュアル

PowerPoint プレゼンテーション

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

G-mail とは何ですか? G-mail とは Google が提供するフリーメールですメールにはプロバイダ ( インターネット接続の契約した会社 ) から提供されるものと携帯電話を購入すると提供されるもの そしてインターネット上で無料で登録利用できるメールアドレスがあります プロバイダから提供さ

Joi-Tab 端末管理システム最終更新日 2015 年 3 月 13 日

PowerPoint プレゼンテーション

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

SureFile for 達人プラスインストールマニュアル V1.7 本マニュアルでは アイスペシャル C-Ⅱ C-Ⅲ 専用画像振り分けソフト SureFile for 達人プラスについて 下記に示した項目を説明しています SureFie( 標準版 ) のアンインストール インストール 起動 設定の

まう不具合を解消 Windows10 バージョン1803で ディスプレイのサイズを125% 150% にすると STORM VのTOP 画面がズレてしまう不具合を解消しました 6. 動画 + 音声 コンテンツをインポートすると再編集出来なくなる不具合を解消 スライド+ 動画 + 音声 コンテンツをイ

Microsoft PowerPoint ppt

目次 FSLS 操作手引き ( お客様編 ). 概要. 画面遷移 4. ログイン 5 4. 購入履歴の絞り込み 6 5. 購入履歴情報の CSV ダウンロード 7 6. 購入明細情報の表示 ~ ライセンス条件表示 8 7. 購入履歴情報への管理キーワードの設定 購入履歴表示画面からの場合

もくじ 1. 全国統一小学生テストのシステムをご利用になる前に PC の初期設定について P3 2. よくあるご質問 (1) 生徒の申し込みについて (2) 実施要項について (3) 受験票 QRコードの印刷について (4) スキャン送信について (5) 実施後報告について P4 P5 P6 P7

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01)

認証システムのパスワード変更方法

教材ドットコムオリジナル教材 0から始めるiアプリ (3) 0 から始める i アプリ (3) i アプリを作れるようになったならば次は公開です i アプリでは前述したように たとえエミュレータで動作確認ができたからといって実機のテストを怠ってはいけません 実機での処理速度 発色 プログラム等の耐性

Protexご紹介

PowerPoint プレゼンテーション

FTPサーバーへのアクセス権限設定

注意 インストール中に ユーザアカウント制御 ( 以下 UAC といいます ) の実行確認画面が表示されることがあります 表示された場合ははいをクリックして インストールを進めてください なお 管理者以外の場合 管理者への昇格を求める UAC 画面が表示される場合がありますので 管理者アカウントのパ

intra-mart ワークフローデザイナ

クライアント証明書導入マニュアル

APIリファレンス | IP Geolocation API どこどこJP

Microsoft PowerPoint - Session4古賀様.ppt

Team Foundation Server 2018 を使用したバージョン管理 補足資料

QualysGuard(R) Release Notes

メールサーバ仕様変更に伴うメール設定変更方法

スライド 1

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

2 / 16 ページ 第 7 講データ処理 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2. [ ファイルの場所 ] がデータを保存している場所になっている

拓殖大学総合情報センター 学生 Web メール (Office365) 操作マニュアル 目 次 1. Office365 の Web メール 2 2. 利用上の制約事項 送受信メールサイズ制限 メールボックス利用制限 2 3. Office365 のサインイン サインアウト

クイックマニュアル(利用者編)

_mokuji_2nd.indd

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

ColorNavigator 7インストールガイド

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

PowerPoint プレゼンテーション

◎ エラーメッセージ 画面別 対応一覧表 ◎

! STEP 2. Quartus Prime のダウンロード WEB ブラウザで以下の URL を開きます 2 ページ中段の Quartus Prime 開発ソフトウェア ライト エディ

基本プラン向け ( インターネット接続管理 バックアップ メッセージ通知 ウイルス対策 Web フィルター ) 2

WBS_Ch0.indd

PowerPoint プレゼンテーション

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

ホームページ・ビルダー サービス「ライトプラン」

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

Transcription:

株式会社コンピューテックス Copyright 2016 Computex Co.,Ltd. 2017.11

カバレッジ と 単体テスト カバレッジとは プログラムがどれだけ実行されているかを示す指標です プログラム全体に対して実行された比率をカバレッジ率で表します カバレッジの基準として 一般的にC0 C1が使われております C0カバレッジは 全体のうち何 % が実行されたかで求めます C1カバレッジは 条件判断文で真 偽の両方が成立すれば100% となります これらの値を100% に近づけていく事により 実行していないコードがなくなっていきます C0 カバレッジ : 命令網羅率 命令コードを実行した事をあらわす指標 C1 カバレッジ : 分岐網羅率 分岐条件の真 偽をあらわす指標 単体テスト カバレッジと言えば単体テストをイメージされる方も多いと思います 例えば 関数を一つ動かすと考えた場合 引数や変数の値を定義しておかなければ テストとして意味がなくなってしまう事もあります 単体テストはできるに越した事はありませんが 無理に行わなくても統合テストできっちりカバレッジ率を意識しておけば 品質は十分上がると考えられます 下位関数の呼び出しは? 関数呼び出しは? 引数の値は? I/O の値は?

カバレッジ導入への戸惑い 今のテストで十分? とあるプロジェクトのシステムテストでカバレッジを測定してみました すると 結果はC0カバレッジ率が60% までしか達成できていませんでした これは最終的なテストで一度も通過していないコードが40% もあったという事になります 十分と思っていたテストケースでも これだけの漏れがあるという事が分かります 費用対効果が見えない? 不具合は 通過しにくいところに潜んでいる事が多いです カバレッジをやってみなければ 未通過コードがどこにあるという事を知るすべがありません 製品リリース後に こういった不具合が見つかった時のダメージを考えて 費用が妥当かどうかを検討する必要があります 余計な工数が増える テストの工数とテストケースが用意されているなら CodeRecorderでカバレッジを有効にして いつもどおりのテストをやってみましょう テストを行った分のカバレッジ率は CodeRecorderが自動的に測定します ただし テスト漏れが新たに発見される事がありますので その分の追加テスト工数が増える事はあります

未通過コードはどうする? 単純なテスト漏れ エラー処理 不要 未使用コード 本当の不具合 それぞれの運用ルールを決めて処理します どうしても通過しない条件の場合 理由を明らかにしてカバレッジ率から除外する デバッガで無理やり通す 不要なコードの場合 基本的には削除する カバレッジ率から除外して記録に残す

CodeRecorder は プログラムの見える化として いろいろな機能を実装しています 関数の呼び出し状態の可視化 関数の実行時間の計測 カバレッジなどがあります それでは CodeRecorder を使用してのカバレッジについて紹介していきます

カバレッジ ウィンドウ カバレッジ ウィンドウは 個々のカバレッジ率を表示するだけでなく ファイル単位やプロジェクト全体のカバレッジ率も表示します また フィルタで表示を絞り込む事もできます フィルタを行うツールバー 項目をグループ化 全体のカバレッジ率 ファイル内のカバレッジ率 各関数のカバレッジ率 C0 カバレッジ率 C1 カバレッジ率

カバレッジ率の表示 警告色表示 指定したカバレッジ率にしたがって警告色表示します グラフ表示 カバレッジ率を棒グラフで表示します カバレッジ率のグループ化 カバレッジ率でソート このように カバレッジ率をいろいろな方法で確認する事ができます

カバレッジ ウィンドウでは カバレッジ率の表示のほかに 担当者 や 備考 を 設定する事ができます 担当のソースや関数に 担当者 を設定 絞り込みも可能! 担当者を設定すればリターン先が明確に! [ 備考 ] には 除外やカバレッジ率が 100% にならない理由など いろいろなコメントを記入できます

ソース ウィンドウでも カバレッジの状態を見る事ができます ソース ウィンドウ エラー処理などは除外する事もできます C0 カバレッジ C1 カバレッジ 未通過の行 未通過箇所を検索する事も可能です 左フィールド

フィルター処理で見たい項目を絞り込み! 文字列で絞り込む カバレッジ率で絞り込む 文字列を入力 カバレッジ率を入力 フィルター以外の表示方法もあります 除外関数を非表示 関数を非表示 チェックをはずす チェックをつける

何度かに分けて行ったテスト結果 複数人で行ったテスト結果をマージ! マージするデータにチェックをつける マージの拡張機能を使用すると 複数人で行ったテスト結果の除外設定 備考の内容 担当者の設定を 他のプロジェクト ファイルからインポート可能です マージして テスト結果の差分も確認可能 マージでほぼ 100% に!

複数のテスト結果を 1 つのコンパクトなデータに結合できます 複数のテスト結果 1 つのデータに結合 結合データ ただし 統合されたデータで表示できるのは カバレッジのみとなります

カバレッジ テストの結果をより正確に! 未使用の関数を除外 UP! エラー処理など 未通過ブロックの除外 if 文の書き方も注意しましょう if (ret == 0) return -1; if 文を除外設定 if (ret == 0){ return -1; }

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

動的テストツール 製品紹介 CodeRecorderは開発段階から最終ステージまでの製品テストにおいて さまざまな角度からプログラムの評価が行える動的テストツールです テスト漏れやボトルネックの発見 発生率の低いバグを捕らえて原因を調査することが可能です CodeRecorder CR-200 CodeRecorder CR-100 CodeRecorder ST-1 CodeRecorder CR-200はCR-100 の後継機として誕生しました バグの発見はもとより カバレッジ テストをさらに強力にサポートします ターゲット接続は 高速データ通信のメモリバスと 最小 2 ピンで接続できるGPIO を選択できます 各インターフェース専用プローブがセットになっています CodeRecorder CR-100は 組込み製品の品質アップと開発期間を短縮できる動的テストツールとして誕生しました 必要なプローブ ケーブル 電源がセットになっており すぐに接続して動作確認ができる評価ボードが付属します CodeRecorder ST-1 は CR-100 で取得したデータを複数 の開発者で解析するときに使用できる ソフトウエア 単体の製品です 無償評価貸出実施中まずは CodeRecorder を実感してみてください! 当社までお気軽にお問い合わせください! CodeRecorder Search URL: https://www.computex.co.jp/solution/testingtools.htm

製品紹介 CodeRecorder VC は Visual C++ で開発される Windows アプリケーションの 開発段階 から 最終テスト まで幅広く使えるツールです 30 日間試用版のダウンロード CodeRecorder VC 初回起動後 30 日間は製品版と同等の機能をご使用いただけます ぜひこの機会に 動的テストツール CodeRecorder VC に触れてみてください! お申し込みは WEB で! CodeRecorder VC 試用版ダウンロード Search URL: https://www.computex.co.jp/crvc

株式会社コンピューテックス E-Mail : cr_sup@computex.co.jp (CodeRecorder 専用 ) Homepage : https://www.computex.co.jp/