ソフトウェアの設計テスト
ソフトウェアエンジニアのクリストファーは、あるソフトウェア会社に勤務している。彼は、例えば空気の質や水質のコントロールといった、公衆衛生や安全に影響を与える設備の操作に関わる、専門のソフトウェアの設計に従事している。ソフトウェアシステムのテストは、設計プロセスの中に含まれている。徹底的なテストの結果、そのソフトウェアは現行の規格に照らしてみれば安全であるということが明らかになったが、しかしクリストファーは、規格作成機関によって新しい規格案が発表されようとしていることを知っている。新たに設計されたソフトウェアは、その新規格を満たすものではないかもしれないのである。
クリストファーはソフトウェア会社やクライアントに対して、新しいソフトウェアが新規格を満たすかどうかを確かめるために、さらなるテストを行うべきだ、と提案することが可能である。そのようなテストによって、会社は、そのソフトウェアの使用を進めるべきかどうかを決定することができる。しかしながら、クライアントはそのソフトウェアを使いたがっていて、会社は財務状態を維持し、現在ある仕事を維持するのに熱心であるために、クライアントの要求を満たすことばかり考えている。テストの実行は非常にコストのかかるものであり、少なくとも六ヶ月間、プロジェクトを遅らせることになる。それにより会社は競争上の不利益を被り、多額の費用を必要とすることになるだろう――つまり、財務状態を維持し、現在ある仕事を維持し、クライアントを満足させるという目的は危機に追いやられるのである――。さらに、新たなテストのためにプロジェクトが六ヶ月間遅れる間に、州の公共施設利用料において深刻な上昇が見られるであろう。しかしながら同時に、ソフトウェア会社の経営陣は、そのソフトウェアが安全であることを確認したがっているのである。
会社はクリストファーに、追加的なソフトウェアのテストの必要性について勧告するよう求めている。クリストファーはどのような勧告を行うべきだろうか?
―NSPE事例96-4番からの改作
(訳 西村慶人 北海道大学文学研究科後期博士課程)
|