第三者ソフトウェアテストによって、どれほど品質を向上できるのでしょうか。前回は私たちが無償公開している「ソフトウェアテストのコツ ハンドブック」で解説しているシステム品質についてお話ししましたが、今回は「テストを実施することで品質は向上するのか」に触れたいと思います。
第三者検証はあくまで手段
アプリケーションの開発に伴うテストは、ほとんどの場合は開発者(開発ベンダー)が仕様書を基にテスト項目を決めて実行しています。テスト理論に則ったテスト設計作成、項目作成であればユーザーも安心して任せられるでしょうが、開発者の観点からテスト項目を決めるためにソフトに潜在バグがあったとしても、なかなかそのバグを洗い出すことができにくいということが往々にして発生しています。これは経理担当者が会計監査を実施するようなものに似ていますね。
専門性の高い第三者の目で製造物をテストしてバグや不具合を少なくしていくのがベストですが、それだけでシステム品質が向上するかというとそうでもありません。 開発されたアプリケーションやシステムは要求通りに動いて当り前ですが、潜在的なバグや不具合すべてをテストでつぶすことはできません。上流工程での不具合の作り込みを減らすことと、不具合を早期につぶしておくことができるのがテスト検証の一つの特徴です。また、テストで分かるのは「不具合がある」ということで「不具合がない」ことは証明できないのです。つまり、テスト自体がシステムの品質を担保するものではないということです。 要求仕様や詳細仕様において早期に不具合を取り除き、不測のシステム停止を極力出さないような取組みが重要になります。
ハンドブックでは、テストの7原則を謳っており、是非それを参考に第三者検証サービスの役割を認識してほしいと思います。ハンドブックは無償ですので、こちら<ダウンロードページ>からダウンロードできます。
テストの7原則を知るだけでも、品質とはできた結果ではなく、作り込むものであるということが分かります。以前にも書きましたが、手戻りコストは「1:10:100」の法則が適用されますので、できるだけ上流工程で不具合の発生率を低下する取組みが必要になります。それを考えると、上流で「品質を作り込んでいく」ことが欠かせないということです。
テスト実施の概念図としてよく取り上げられるのが「V字モデル・W字モデル」と呼ばれるテストモデルです。多くのテストベンダーが取り上げるモデルで、次回は、このV字モデル・W字モデルが何を表しているかに焦点を当ててみましょう。