これまでの解析から、大規模ソフトウェアの修正・変更と関連する部分を網羅してテストを実施することは現実的でないこと、及び大規模ソフトウェアの修正作業における変更対象機能と関連を持つ機能を抽出するための方法論はほぼ明らかになった。本研究では、ソフトウェア・テストによる不具合の検出効率を高めるため、重点的にテストを流す必要のある「領域」を明らかにすることを目的とした。 これまでの研究によって明らかになったテスト項目ごとに、実際に実行したテスト・ケースの集合を収集し、様々な観点からの分類を行った。分類に際し、製品の応用領域や使用環境を考慮できるよう、3種類の比較的性質の異なるソフトウェア・パッケージを対象としてテスト・ケースを収集した。ソフトウェア・パッケージという商品形態に限定したことにもよるが、これらのパッケージは、応用領域は異なるが、使用環境に関してはかなり類似したものであった。従って、使用環境、プラットフォームなどの違いによる分類は、ほとんど見るべきものが得られなかった。 これら収集したテスト・ケースと、対象製品の仕様書をつきあわせてみることにより、仕様書から導出できるテスト・ケースと一般的に「不具合が潜んでいそうな」部分をねらったテスト・ケースを分離した。「仕様書から導出可能なテスト・ケース」については、機能が実際に動作するかという「機能テスト」がほとんどであった。また、値については、「典型的な」値、境界値などを用いることがほとんどであった。また、「一般的に不具合が潜んでいそうな部分をねらったテスト・ケース」については、量、頻度、およびそれらを複合した「負荷」という概念がキ-ポイントであることが明らかになった。
|