【ばぐ】

バグ とは?

最終更新:
💡 意図した動作を妨げる、ソフトウェアの欠陥

ソフトウェアの意図した動作を妨げる欠陥。コードだけでなく、仕様などに含まれる場合もある。特定の入力や状況で表面化することがあり、常に同じ不具合が見えるとは限らない。

📌 このページのポイント
バグ:意図した処理と違う例 2と3を足す想定 2・3 足す 5 2・3 引いてしまう −1 欠陥が結果の違いとして表れた例
説明用の計算例。バグがあっても入力や状態によって表面化しない場合がある。
ひよこ ひよこ
バグと、画面に見える不具合は同じ?
ペンギン先生 ペンギン先生
バグは原因となる欠陥で、不具合として表面に出るとは限らないよ。特定の入力や条件で欠陥が働くと、期待と違う結果になる場合がある。環境の問題による故障もあるので、見えた結果だけで原因を決めつけないことが大切だね。
ひよこ ひよこ
例えばどんな欠陥?
ペンギン先生 ペンギン先生
図は足し算をするはずの処理で、間違えて引き算をした例だよ。2と3を入力すると、期待する5ではなく−1が出る。これは説明用の例で、実際には入力や状態の組み合わせによって問題が現れることもあるんだ。
ひよこ ひよこ
見つけたらどうするの?
ペンギン先生 ペンギン先生
問題が起きた入力や手順、期待した結果と実際の結果を記録しよう。再現して原因を調べ、修正する作業がデバッグだよ。修正後は問題が直ったかを確かめ、ほかの動作に影響していないかも確認するんだ。
ひよこ ひよこ
テストが全部通れば安心?
ペンギン先生 ペンギン先生
確認した条件で期待どおりだったとは言えるけれど、バグがゼロとは言えないよ。あらゆる入力や状態を試すのが難しい場合もある。仕様やコードのレビューも含め、重要な条件を考えて確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「バグ」って出てきたら「意図した動作を妨げる、ソフトウェアの欠陥」と思えばだいたいOK!
📖 おまけ:英語の意味
「Bug」 = 虫/ソフトウェアの欠陥
💬 英語では虫という意味の語。ソフトウェアでは欠陥を表す言葉として使われるよ。実際の虫が入っているという意味ではないんだ。

参考資料

← 用語集にもどる