• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

コードのバグ対応・調査

date: 2022-11-28 excerpt: コードのバグ対応・調査方法

tag: クラウドインシデント対応バグ事故


コードのバグ対応・調査方法

概要

  • プロダクトとしてリリースしたモデルやシステムにバグがありそうな時の調査方法と、バグを発見した時の修正方法

バグの調査

  • BigQueryなどのデータウェアハウスのログを用いて、バグがない場合の期待する動作と、バグが有る場合の期待する動作が確認できる集計を行う
    • ここで大まかな仮説検証を行える
  • バグの現象の解像度を高めて、コードの部分の推定しやすくする
  • 逆に言うと、データウェアハウスがないと、バグの仮説検証のハードルが上がることになるので、ロギングは重要な要素になる

コードの修正

  • 前提
    • gitで管理されていると仮定
  • 環境構築
    • 開発環境とは別にクリーンな環境を作る
    • tmuxのwindowを切り、今の開発フォルダとは別のディレクトリで作業を開始する
    • 開発中のディレクトリと混ぜるべきではない
  • 具体的な手順
    • mkdir fix-foo-bar; cd fix-foo-bar
    • git clone git@github.com:<team>/<project.git>; cd <project>
    • git branch fix-foo-bar
    • git checkout fix-foo-bar
    • 最小限の修正で直して、テスト
    • git add <filename>
    • git commit -m <message>
    • git push --set-upstream origin fix-foo-bar
    • WebUIでpull requestsを行い、必要な人をアサイン
    • slack等でバグとそれに伴うエラーを報告し、周知
    • 関係メンバーの合意が取れ次第、main(リリース)ブランチにマージ


クラウドインシデント対応バグ事故 Share Tweet