システムテストと人生

ほんの少しのコードの修正に、膨大なテストを繰り返す。
動作をお客さんに対して保障しなければならないから、当然だ。
30分で終ったコードの修正に3時間かけてテストケースを作り、1日かけてテストをする。
単体テストでそのくらい、結合テストはもっと時間をかけたりする。


単体テスト結合テストは、修正の度にテストケースを作る。これも当然だ。コードが変わっているのだから。
条件分岐が増えればそれをやってみないとまずいだろう。
しかし、システムテストは昔作った物を使いまわしたりケースを追加をしたりする。
要件としてこう動くという動作は基本的な部分はそう変わらないからだ。
アプリのリリースの度にやるから、保守の仕事ならば何度そのテストをやっているか判らない程だ。
しかし、それでもバグは出たりする。何故かでる。
前のテストの時になぜ気付かなかったんだろう?気を抜いていたのか。


出たバグを集計用のアプリにデータを入れながら、思う。
人生は甘いとか人生は厳しいとか、その言葉を吐く人の環境でたったの一度だけテストをしたような物だ。
上手くいけば甘く、上手く行かなければ厳しくなるのだろう。
育った環境や性格、体格や見た目。金銭や度胸。まるで違う。お酒で失敗なんて有得ない人もいれば、お酒の匂いだけで酔っ払う人もいる。
それを一般的な事として語るのは相当無理がある。
テストケースが足らない。テストをする回数も足らない。


先日の修正は4時間ほどかかった。それのために作った結合テストケースは1200程の項目があった。
その数のテストを通過させても、システムテストではバグが出たりする。
現在の仕様では直らない様なバグだったが、人生も似たような物ではないだろうか。
人生は甘いと言った人の仕様では、きっと上手く行くのだろう。他の人の仕様ではどうだろうか。
きっと上手くいかない事の方が多い。当然その逆もあるだろう。


人生が甘いとか厳しいとかそういった事は、ただのテスト不足から来るものである。
恐らくその不足は、一人の人間の人生では満たされる事は無いのではないだろうか。