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