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

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

単純なミスをなくしていきたい

システムの修正が終わって、お客さんに修正完了の連絡をしようとしました。
修正しながら動作のチェックはしていたので、問題はないという判断です。

ふと、新たにテストアカウントを作成して、テストするとどうなるかと思いました。
正常に動作するので不要という意識もありましたが、気になったし5分もかからないことだからとテストアカウントを設定しました。

テストアカウントでシステムにログインすると、正常にログインできます。
ボタンをクリックして次の画面に進むと、設定したとおりに表示されています。

そこで、「選択が未登録の場合は、選択肢を【-2】に設定する」という仕様の実装が漏れていることに気がつきました。

f:id:AJYA:20160526133146j:plain
photo credit: Thinking hermit via photopin (license)

なぜ仕様の実装が漏れたのか?

それまで使っていたアカウントは、すでに選択を登録してあるので、前回登録した際の選択肢が表示されていました。
新しく作成したテストアカウントは、未登録なのに選択肢が【0】になっていました。

仕様の実装ができているのかの確認作業が漏れているました。
修正前は初期値は【0】が選択されていて、【-1】【-2】を追加ても勝手に初期値は【-2】になるという期待もありました。
修正内容をまとめていて、そこには今回の仕様を書き忘れていました。
結果、仕様とは異なる状態になっていました。

実装なしで仕様通りにならない理由を調べ、仕様通りになるように修正しました。


今回はふとテストしてみようと思い、テストしたので気がつきました。
たまたま思いついたので、修正漏れを未然に防ぐことができました。
部分的な修正でも、新たにアカウントを設定して初期からテストすることの重要性を、改めて感じました。


プログラムの修正に限ることではないと考えています。
メールを送る際でも、別のメールからコピー&ペーストしてあて先を修正するつもりが修正し忘れて、送信してしまいそうになることがあります。
大丈夫という思い込みではなく、修正し忘れない方法を確立しなければいけないと考えています。