
再現しない不具合で、最初に残す情報
一回は失敗する。同じ操作をやり直すと動く。
そのまま修正を始めると、直ったのか、たまたま出なかったのかが分からない。まず、失敗した一回を追える記録にする。
操作・期待値・実際の結果を分ける
説明用の架空例。CSVの取込みで完了表示は出たが、3行目だけが反映されなかった。
入力の控え、操作順、期待値、実際の結果、時刻、アプリの版を残す。実データを共有できない場合は、許可された範囲で、同じ問題が出る小さなダミー入力を作る。
「CSV取込みがおかしい」では範囲が広い。「版1.2で3行を取り込むと、3行目が保存されない。期待は3件、実際は2件」なら、次に見る対象を選べる。
再試行で、何が増えるか
読むだけの操作と、登録する操作では、再試行の影響が違う。
登録処理では、完了表示がなくても保存済みの可能性がある。押し直す前に、通常の確認方法で登録の有無を照合する。不明のまま繰り返すと、重複を作る場合がある。
次に変える条件を一つ選ぶ
同じ入力、同じ版でも再現しなかった。その事実を残す。「問題なし」には読み替えない。
次は入力件数、特定の文字、操作間隔などから、根拠のある差を一つ選ぶ。入力も版も設定も一度に変えると、どれが関係したかを追えない。
不具合票には、期待値と、失敗時の入力の所在を一行ずつ足す。秘密情報をむやみにログや公開リポジトリへ貼らず、まず同じ条件を確認できる状態を作る。
登録が済んだか不明で、再送が重複を起こす場合。 APIを再試行したら二重登録に。送信結果が不明なときの設計演習(300円)で扱っています。