デグレ試験とは、
デグレード試験の略で、品質が劣化していないかを確認するための試験です。
プログラムに追加・修正を加えた場合、その修正部分に関してはしっかりと試験をするかと思います。
しかし、追加・修正した箇所とはまったく関係のない部分でバグが発生している可能性も0ではありません。
そういったまったく関係のないバグがないかを確認するための試験です。
これは技術カテゴリに入れていますが、ただの雑記に近いです。
先日、私の担当ではないけれども微妙に関わっているシステムが、新規機能を追加するために商用リリース作業を実施しました。
(私は割と無関係だったので、見守ったり、野次を飛ばしていました)
よくある「メンテナンス予定時刻:○時~○時」みたいなやつです。
リリース作業自体は特に問題も起こらず順調に進み、リリース後の基本動作の確認も新規追加機能の確認も基本的には問題なし。
新規機能についてはすぐに確認が終わるような感じでもなかったので、私は夕飯のことを考えながら全力で待機していました。
過去何回かリリース作業は実施していて、デグレ観点で問題が起こったことはほとんどなかったし、追加機能のほうは検証の環境で試験もしていて、そこでも問題はありませんでした。
今回もこのまま何事もなく終わるかなと思っていたころ、チームの何人かが「おかしい」といい始めたのです。
この時点では何が起こっていたかは不明で、ただその何人かは「何かがおかしい」と言っていました。
あまりにも「おかしい」を連呼されてうるさかったので、私のほうで処理のログを見てみたら、確かにおかしかった。本当に1部の動作でのみ、今までの処理には必要のなかったパラメータが追加されていたのです。
その余計なパラメータのせいで、処理に不具合が起こっていました。
例えるなら、レシピ通り忠実に作ってきた料理に、隠し味という名の破壊をもたらしたような感じです。結果として、料理というレベルではなくなってしまった具合です。
アプリの開発チームに連絡、情報提供しつつログを渡し、
なんとかメンテナンスの周知時間内に修正とリリース、動作確認を終えました。
「おかしい。」に反応してしっかりと確認しなかったらどうなっていたことか・・・
設計段階のミスか、アプリ作成時に余計な機能を盛り込んでしまったのかは、追っていないのですが、1つ言えるのは、
デグレ試験ってめっちゃ大事!ってことですね。いや、試験全般大事なんですけれども。
追加機能とかのほうはしっかりと筋道立ててテストするでしょうからね。
アプリ開発チームはベテランだし、業務知識も凄く多いので完全に油断していました。
やっぱりプログラムに修正を加える場合は、関係ない部分でも1通りすべての試験をこなすべきですね。
テストという項目は何故か軽視されがちですが、私はとても重要な工程だと思うし、テスターの人達を尊敬しています。
バグを見つけられすぎて勘弁してくれ。と思うときがあるのは事実ですが、商用に上る前にしっかりとバグを潰すほうが大事ですからね。
まぁ、本当に100%バグなく作れるんだったらテストはいらないけど、開発段階で「バグはない!」と自信を持って思っていても、いざテストしてみたらよくわからないバグが出てくるからなぁ。
以上。ありがとうございました!