第3章:再現手順・調査ログ(環境/ログ/証跡)

この章で学ぶこと

  • 再現情報を固定し、環境差を潰す
  • ログ/証跡を「後から追える形」で残す
  • 調査メモをチケットに残し、レビュー可能にする

成果物(書けるようになるもの)

  • Issue に再現手順/環境/ログを記載できる
  • 調査ログ(試行と結果、次アクション)を残せる

本文

再現手順がない不具合は、修正できても「直ったこと」を検証できない。

最低限残すべき情報

  • 環境(OS/ブラウザ/バージョン/設定)
  • 発生時刻/頻度(いつから、どれくらいの頻度か)
  • 入力(データ、手順)
  • 期待結果と実結果
  • ログ/スクショ/トレース
  • 試したこと(結果)

ログやスクリーンショットには、トークンや個人情報などの機微情報が混入し得る。共有前に必ず確認し、必要に応じてマスキングする(取り扱いルールがある場合は要確認。参考: https://itdojp.github.io/security-privacy-literacy-book/)。

調査ログは「時系列」よりも「仮説→検証→結果」が追える形が有効。

再現しない/断続的に起きる場合

  • 観測期間(いつから/いつまで、何を監視していたか)
  • 条件の候補(特定の入力、データ量、権限、時間帯、ネットワーク等)
  • 相関 ID(request-id/trace-id 等)と該当ログの範囲
  • 仮説と次の切り分け(何を確認すれば原因に近づくか)

具体例(悪い例→良い例)

悪い例

再現: たまに起きる
ログ: なし

良い例

環境: Chrome 122 / macOS 14 / app v1.2.3(例)
再現手順: 1) Aへ遷移 2) B入力 3) 保存
期待: 保存成功
実: 500
ログ: request-id=... の行を添付
試行: リトライ→再現、別環境では再現せず(条件差分をメモ)

チェックリスト

  • 環境が固定されている
  • 再現手順が具体的
  • 期待結果/実結果が分離されている
  • ログ/証跡が添付されている

まとめ

  • 再現条件(環境/手順/入力)と期待結果/実結果を分けて記録する
  • 調査ログは「仮説→検証→結果」で残し、次アクションを明確にする
  • ログやスクリーンショットの機微情報は共有前に確認し、必要に応じてマスキングする

次章への接続