デバッグルール その2

書籍デバッグルール3,4,5,6章を読んだメモ
かなり読み易い.

システムを理解する

  • マニュアルにバグについて記載があるかもしれない.
  • バグは, システムの正常な動作を知らなかったから起こったのかもしれない.
  • バグを知るために, 現状を理解する.
  • システムにあったツールを知る.
  • 原因を調査する(勘で動かない).

わざと失敗してみる

  • 問題を目で確かめるため.
  • 原因の糸口を掴むため.
  • 問題が解決したことを確認するため.
  • 自分が何をしたかを調べ, もう1度やってみる.
  • 失敗を促す状況をシミュレートしてみる.
  • とにかく失敗する状況, 条件を見つけだし, 失敗を起こさせる.
  • すべてを記録してたまにしか起きないバグの痕跡を見つける.

考えるのをやめて観察する

  • 問題を発見したら, 問題を詳しく見る.
  • 中で何が行われているのかを見る, ツールを内部に組込む.
  • 問題にツールを追加したら, 問題を再現してみる(ツールを追加したことで別の問題が起こってないか).
  • 問題箇所の推測は, 問題箇所を検索し, 絞り込むためだけに使う.

分割して攻略する

  • 調査範囲を良い部分と悪い部分に分け, 絞り込む.
  • システムへの微妙な影響を区別できる, 目立つテストパターンを使用する.
  • 問題のある方から始める.
  • 分かってるバグをまず, 修正する.