@it_gateです。
今日はソフトウェアの品質について思うことを書きます。「ソフトウェアのバグを0にすることはできない。」と言われたりしますが、バグかバグでないかは、それの対象となる動作を見る人の価値観によって変わることが影響しているのではないかと思います。

おそらく自分が作ったソフトウェアのバグを自分が0にすることはできると思います。実際、「出来た」と思った時は自分の中でバグが0になってますよね?ところが他の人から見ると「この動きおかしいでしょう?」という意見が出てきたりしますし、自分も他人のソフトウェアに対して「ここ、手を抜きすぎじゃないか!?」と思うことも良くあります。さらにその返しとして「普通、そういう使い方しないから大丈夫なんだ。」という反論があったりもします。

では、これらもバグなのか!?というとそうではないと思います。少なくとも設計書の通りに動作して、設計範囲内で正しい値を返せばバグは無いと言っていいと思います。設計不備はあくまで設計ミスで「バグ」ではない。仕様バグとか言う言葉もよく聞きますが、プログラムに不意に入ってしまう類いの不具合のみをバグと呼ぶ様にしないと何から何までバグ候補で、設計者や実装者、レビュー者、使用者のさじ加減で品質がブレてしまいかねません。

ところで・・・、「ログアウト処理」について、自分では「ログイン中からのログアウト」と「既にタイムアウトしてセッションが破棄された状態でのログアウト」の2パターンを考え、前者は”セッション情報を破棄してログアウト完了画面へ遷移”、後者は”ログアウト完了画面へ遷移”と設計するのが普通でした。ところが”タイムアウトしていたら再ログインを促す画面へ遷移”という機能が実装されているせいか、『セッションが切れた状態でログアウトボタンを押した場合は、再ログインを促す画面へ遷移する。』という実装がなんと多いことか・・・。「ログアウトしたい人にログインを促すなよ!」と思ってしまいますが、世間の考え方は違うようですね。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です