システムの修正が終わって、お客さんに修正完了の連絡をしようとしました。
修正しながら動作のチェックはしていたので、問題はないという判断です。
ふと、新たにテストアカウントを作成して、テストするとどうなるかと思いました。
正常に動作するので不要という意識もありましたが、気になったし5分もかからないことだからとテストアカウントを設定しました。
テストアカウントでシステムにログインすると、正常にログインできます。
ボタンをクリックして次の画面に進むと、設定したとおりに表示されています。
そこで、「選択が未登録の場合は、選択肢を【-2】に設定する」という仕様の実装が漏れていることに気がつきました。
photo credit: Thinking hermit via photopin (license)
なぜ仕様の実装が漏れたのか?
それまで使っていたアカウントは、すでに選択を登録してあるので、前回登録した際の選択肢が表示されていました。新しく作成したテストアカウントは、未登録なのに選択肢が【0】になっていました。
仕様の実装ができているのかの確認作業が漏れているました。
修正前は初期値は【0】が選択されていて、【-1】【-2】を追加ても勝手に初期値は【-2】になるという期待もありました。
修正内容をまとめていて、そこには今回の仕様を書き忘れていました。
結果、仕様とは異なる状態になっていました。
実装なしで仕様通りにならない理由を調べ、仕様通りになるように修正しました。
今回はふとテストしてみようと思い、テストしたので気がつきました。
たまたま思いついたので、修正漏れを未然に防ぐことができました。
部分的な修正でも、新たにアカウントを設定して初期からテストすることの重要性を、改めて感じました。
プログラムの修正に限ることではないと考えています。
メールを送る際でも、別のメールからコピー&ペーストしてあて先を修正するつもりが修正し忘れて、送信してしまいそうになることがあります。
大丈夫という思い込みではなく、修正し忘れない方法を確立しなければいけないと考えています。