
成功に対するテストの貢献
1
「テストは必要か?」と聞かれれば、まあ、よほどのへそ曲がりでもない限り「必要だ」
と答えるでしょう。でも、続けて「テストはなぜ必要なの?」と聞かれたら、皆さんは
どう答えますか。
一般にソフトウェアの開発は、エンジニアが端末に向かってひたすらプログラミング
をしているイメージが強いです。しかし、実は前掲した図1.1のように、ソフトウェアは
要件定義フェーズ、設計フェーズ、開発フェーズ、テストフェーズといったフェーズを
経て作成され、それぞれ相応の作業ボリュームがあります。こうした一連の作業プロセ
スの中で、テストはどのような役割を果たすのでしょうか。
リリース(本稼働)したシステムに大きな欠陥があり、大きな問題が発生することは
よくあります。システムの不具合でATMが使えなくなった、電子マネーアプリが使え
なくなった、通信障害により携帯電話で通話できなくなったなど、ニュースになるよう
なシステムトラブルをよく耳にします。実際、こうした事故は枚挙にいとまがない状況
です。テストの1つ目の役割は、このような“失敗”に陥るリスクをできるだけ低減して、
システムの成功に貢献することです。
テストは失敗に陥るリスクを低減します。逆にいえば、テストは成功に
到達するために貢献する役割を果たします。
●ソフトウェア開発ライフサイクル(SDLC)
ソフトウェア開発モデルは、ソフトウェア開発ライフサイクル(Software
Development Life Cycle:
SDLC)とも呼ばれています。住宅を作るのに木造軸組 ...