テストへの取り組み

creation date:2003/2/20
last update date:2003/2/20

ソフトハウスでのテスト

発注者と受注者の間で、合意された仕様書があるはずです。その仕様書に基づいてソフトハウスはプログラミングしていきます。ソフトハウスでは、その仕様書に基づいたテストも行います。これは、プログラミングにおいてもそうですが、仕様書に書かれていないことはテストされないということになります。つまり仕様書から漏れた事項、事柄はシステムには反映されないことになります。まず、この点を再確認していただきたいと思います。勿論、気の利いたSEがいたり、業界をよく知っている、発注者の企業の業務活動をよく知っているSEがいれば、その限りではありませんが、油断はできません。

仕様書に記述された要求が、すべて反映しているかどうかというテストは、ソフトハウス内で行われます。ここでも、実施者、管理者の力量によっては、品質の低いものが納品される可能性がありますし、実際、「なぜ、こんな不具合が見つからなかったのか」といった程度の低いミスが、ユーザテストで発見されることもあります。そういった可能性を捨てることはできませんが、不具合が見つかったら、それはソフトハウスに責任を取ってもらうことができます。

ユーザーが考え、実施すべきテスト

第一に、ソフトハウスとの間に理解の齟齬がないかどうかを気にする必要があります。こうして欲しいと要求したのに、相手は何か別の理解をしており、納品されたソフトの機能が満足できないものであったりするからです。コミュニケーションの問題は、なかなか難しいものですが、最終的には納品されたソフトを動かしてみて確認するしかありません。

また、実際に運用する環境で、満足な性能を上げられるかどうかも気にしなくてはなりません。仕様書上は、例えば「検索ボタンを押してから結果が表示されるまで3秒以内で、検索対象データは10万件」とあっても、それが開発環境では実現できていたとしても、運用環境で実現できなければ意味がありません。

そして、もう一つ。本当に欲しいシステムというのは、納品されたソフトを動かした時に、初めてわかることもある、ということです。動かしてみて初めて、本当に欲しいのはこんな機能ではないとか、こういうことができないといけないはずなのに要求を出していなかったとか、理想を追い過ぎていて実業務がついていけないとかがあります。先に述べたように、ソフトハウスは仕様書に基づいて作っているだけなので、ユーザーが本当はどういう使い方をしたいのかを、正確に理解できているわけではありません。

ですから、コミュニケーションに問題があるのは当然のことと捉えて、しっかり実際の業務に合うのかどうかを検証しなければならないのです。そのためには、ソフトハウスやIS部門のテスト結果に左右されることなく、どういうテストを行うか、どういうことをしたらどういう結果が出るべきなのかを、ユーザー自身が考え検証しなければならないのです。これを怠ると、本運用が始まってからとり返しのつかない問題が発生して、会社のビジネスに悪影響を及ぼすことになります。

残念ながら、ソフトハウスにいた人間として言えるのは、どんなに相互の確認をしっかり取っていても、運用に入った時に、必ず問題が出ます。そして「こういう場合は、こんな風にならないと困るんだよね」といった、初耳の情報を発したりします。

また、データ移行についても考えるべきことはたくさんあります。これも、ユーザーが深く関わるべき問題です。現在のオープン系システムは、データさえあれば取り込むのは比較的簡単です。ですが、旧システムからのデータ移行については、旧システムをよく知っている人がいなければ無理というものです。コード体系を変えたため、データの変換作業が必要になったりもします。過去のデータは、きれいに整備されていないことも多いですから、では新システムではどうするのかといった問題が出ます。

結論としては、ユーザーサイドは、システム開発をソフトハウスに押し付けるのではなく、主体的にプロジェクトに関わっていかなければ、まともなシステムはできませんよ、ということになります。