デバッグ
Debug
でばっぐ
他の資格での定義
プログラム中のバグ(不具合・誤り)を発見し、原因を特定して修正する作業。テストで発見された問題に対して、デバッガなどのツールを活用しながら修正を行う。
プログラムの不具合(バグ)を発見し修正するプロセス。机上デバッグや実行デバッグがあり、デバッガ、トレーサー、アサーション、スナップショットなどのツールや手法を用いる。静的解析と動的テストを組み合わせて行う。
ネットワークやシリアル接続を介して、ホストPC上のデバッガからターゲット機器のプログラムをデバッグする手法。GDBサーバ(gdbserver)を使用して、ブレークポイント設定、変数監視、ステップ実行を遠隔で行う。組込みLinux開発で一般的。
関連キーワードの用語
プログラムの記述スタイルや命名規則、コメントの書き方、インデンテーション、ネストの深さ制限、使用禁止命令などを統一するための規約。可読性・保守性の向上とバグ混入の防止を目的とし、チーム開発での一貫性を確保する。
作成されたソースコードを他の開発者が検証する品質保証活動。コードインスペクション、ピアコードレビュー、ウォークスルーなどの形式がある。コーディング標準の遵守、効率性、保守性の観点で評価する。メトリクス計測やサイクロマティック複雑度の確認も行う。
プログラムの内部構造に着目したテスト手法。命令網羅、分岐網羅(判定条件網羅)、条件網羅、複数条件網羅、経路組合せ網羅などの網羅基準がある。網羅率(カバレッジ)でテストの十分性を評価する。
プログラムの内部構造を意識せず、入力と出力の関係からテストする手法。同値分析法、限界値分析法、原因結果グラフ法、デシジョンテーブルテスト、状態遷移テストなどがある。仕様に基づいて行うため、仕様ベーステストとも呼ばれる。
入力データを同等に扱われるグループ(同値クラス)に分割し、各クラスから代表値を選んでテストする手法。有効同値クラスと無効同値クラスに分け、テストケースの数を効率的に削減できる。
同値クラスの境界値に着目してテストデータを選択する手法。境界値とその前後の値をテストすることで、境界付近で発生しやすいバグを効率的に検出する。同値分析法と組み合わせて使用することが多い。