最初の仮説としては信用する
たとえば E40101: 認証に失敗しました。ログイン情報をご確認ください。
というエラーメッセージが表示された場合、最初に入力データを疑うのはOK。しかし入力データに固執すべきではない。
内部でどのような処理が実行されたかに着目が大切。
信頼性の高い処理や、本番同等の環境で問題が発生していないといった明確な根拠がある場合は別だが、開発中の機能などでは、そのような前提は成立しないことが多い。
エラーメッセージから立てられる仮説
この時点で確実に言えるのは、「E40101: 認証に失敗しました。ログイン情報をご確認ください。
というメッセージを表示する処理が実行された」という一点だけ。
原則
原則として、中身の動きを前から順を追っていくと原因がわかる。
今回の例であれば、DB接続プールの上限に達した結果、認証APIが 503 を返していたにもかかわらず、適切なエラーハンドリングがなされておらず、結果として誤って上記のエラーメッセージが表示された、というケースもある。
こういった場合も中身の動きを前から順に追っていくと原因確認可能。