数日前、近畿のツーリスト会社の予約サイトで旅行予約を行った時に強烈なバグに遭遇しました。
一般ユーザ向けのWEBサービスでバグを見つけたのは初めてです。
バグの内容的に予約を行った一般ユーザ側が損をしたり旅行が残念な結果になる内容でした。
バグ発生の手順は以下の通りの簡単な方法です。
(1) 普通に予約処理を進め、支払い手前の最終確認ページまで進める。
(2) (1)の最終確認ページは置いておいて、ブラウザの別タブを開いて新規に予約処理を再度進め、支払い手前の最終確認ページまで進める。
(3) (1)の最終確認ページで申込みボタンをクリック。
この手順で進めると、(1)の予約ではなく、(2)が予約されてしまいます。
再現テストも2回行い、計3回同じバグが発生したので間違いないです。
たぶん、予約情報がユーザアカウントに紐づいて1つだけサーバに格納されており、(1)の申込みボタンをクリックすると、(2)の予約情報で予約されるのでしょう。
しっかり実装するのであれば、予約情報とユーザアカウントを紐づけではなく、予約情報とユーザアカウント+一時トークンを紐づけですね。
とりあえず暫定で対応するならば、予約情報が変化していたら申込みボタンクリック後にエラー発生ですね。
これで間違った予約はされないですが、ユーザからすると不便なので大きな機会損失になるでしょうね。
今回、全国割の結果が最終確認ページまで進まないと分からないので、同じバグに遭遇している人は多いはず。
よくありそうなバグなので、自分も気をつけなあかんなという思いです。
この内容はすぐにツーリスト会社に連絡し、再現PDFも送付しました。
ツーリスト会社からシステム開発会社に確認依頼中で、まだ結果は出ていないです。
キャンセル料無しで取り消ししてくれるだろうと思っていますが、結果どうなるのかはまた記載します。
[追記]
ツーリスト会社から連絡があり、症状の確認が出来たのでキャンセル料無しで取り消しを行ってもらえるとのことでした。よかった。
予想通り予約情報が上書きされていたとのことでした。
同じバグで被害に合っている人が全員対応してもらえるのだろうか。気になります。
とりあえず解決です。