ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

テストで気がつかないバグ

スポンサーリンク

テスト時のURLは、
http://www.examle.com/example_test/

http://www.examle.com/example-abc_test/
であり、本番は、
http://www.examle.com/example/

http://www.examle.com/example-abc/
になるシステムにおいて、-abcが無い側が、-abcがある側のファイルを参照しなければならなくなりました。

テストで問題ないことを確認して、いざ本番にして動作を確認したら、-abcがある側のファイルが参照できませんでした。

f:id:AJYA:20180426231132p:plain
unsplash-logoTaras Shypka

原因

テストでは、example_testで呼び出されると、_を-abc_に置き換えて、example-abc_testにアクセスしていました。
そのため、本番では_が無いため置き換えが行われず、アクセスできなくなっていました。

対処

  1. URLを/で分割する。テストであればwww.examle.comとexample_test、本番であればwww.examle.comとexampleになる。
  2. 2個目の要素にtestがあれば、example_testの_testを消し、-abc_testにつなげる。無ければ、exampleに-abcをつなげる。
  3. 結果、テストは、http://www.examle.com/example-abc_test/にアクセスでき、本番は、http://www.examle.com/example-abc/ にアクセスする。

という処理に修正しました。


バグを発見した当初は、自分が考えたロジックでもなかったこともあり、なぜこれでだめなのかと悩みましたが、わかってみると納得でした。