退屈な(?)テスト工程を楽しく乗り切る方法:あるプロジェクトマネジャーの“つぶやき”【第4回】
開発中のシステムの不具合を発見し、品質確保のために重要なテスト工程。しかし、テストケースを消化する作業を退屈だと感じるメンバーもいることだろう。プロジェクトマネジャーが彼らにしてあげられることとは?
「これまでのシステム開発経験の中で一度も不具合を出したことがない」と言い切れる人は、まずいないでしょう。かくいうわたしも、大小さまざまな不具合を出した経験があります。今回は「システム開発における不具合とテストの重要性」について考えてみたいと思います。
膨れ続けるシステムに立ち向かうために
ある程度の規模を持ち、他システムとの連携が必要なシステムでは、その特性に応じて違いはあるものの、その規模に相応する「システムの複雑さ」を有することになります。また「業務システムが新規開発時の状態のままで運用が継続される」ことはあまり考えられません。度重なるシステム拡張や機能追加を繰り返すことで、多くのシステムが複雑化し、肥大化していきます。例えば、長期間稼働し続けている既存システムに対して機能追加や仕様変更を行う場合には「開発当時のメンバーがいない」「仕様書や資料が古すぎる」という問題が起こることもあるでしょう。
このような状況で「1つの不具合も出さずにシステム開発を完了させる」ことは至難の業のように思います。たった1つの不具合が起こっても、それにより多くのユーザーに迷惑をかけてしまうかもしれません。また、不具合が引き金となり、さらなる障害を引き起こす可能性も考えられます。当然、意図的に不具合を発生させるような開発者はいませんので、あらかじめ分かっている不具合は存在しません。また、「どのような不具合が発生するか」は実際に起こってみないと分からないことが多いでしょう。
それでも、わたしたちシステム開発者は、たとえ何十万ステップからなり、複数のサブシステムが連携するようなシステムであっても「不具合のない状態を目指して」リリースを行わなければなりません。
ここでいう不具合がない状態とは「そのシステムの品質が良い」ことを指し、品質とは「品質モデルにおける信頼性が高い」ことを意味します(※)。それでは、どのようにしてこの品質を確保するのでしょうか?
それは、やはり「テスト」にほかなりません。
※ JISX0129-1「ソフトウェア製品の品質―第1部:品質モデル」より。
Copyright © ITmedia, Inc. All Rights Reserved.