品質要求から利用時品質および製品品質を考える話は次回で行うものとして、具体的に品質特性を開発プロジェクトで使う方法について簡単な例を挙げておきます。
例えば、あるシステムで「負荷テスト」を行う場合、負荷テストには次のようなパターンがあります。
システムの仕様を基に、「どのパターンの負荷テストを行うか」を考えることになりますが、この「システムの仕様から考える」アプローチは「開発指向」のアプローチといえます。利用時品質を考慮した「顧客志向」で考える場合、まず負荷テストは「どんな品質が確保されているか」を評価するための検証作業となります。
顧客指向で考えた場合、負荷テストはなぜ行うのでしょうか。想定されている負荷に耐え得ることは当然ですが、想定負荷の状態でもシステムが本来行うべき業務を支援でき、業務が停止するなどのリスクが発生しないことを確認するためです。また、こういった環境下であっても「どのようにシステムが振る舞っているか」を知りたいためだと思います。
このような要求から負荷テストで確保すべき利用時品質を考えると、図4-1の「利用時品質」の品質特性の赤字部分である「リスク回避性」の「経済緩和性」と「利用状況網羅性」の「利用情報完全性」となります。
この2つの利用時品質には、「システムが導入企業に利益をもたらす」または「何らかの生産性向上を実現できる」という「有効性」(図4-1の紫字部分)が確保されている必要があります。
では、負荷テストで確認される製品品質とはどのようなものでしょうか。品質特性は、図4-2の赤字の特性となり、紫字が前提となる品質特性です。
負荷テストを始めるためには、機能が要求仕様通りに正しく実装されていることを確認することは当然です。つまり、機能テストで、機能品質、ここでは図4-2の「機能適合性」の「機能完全性」と「機能適切性」の確保が必要です。
また、負荷テストを行うためには「試験しやすい設計になっている」、つまり「テスタビリティが考慮されている」「負荷に耐え得る」「多様な環境に対応できる」システムである必要があります。これが負荷テストの前提条件です。
利用時品質は製品品質を包括しているので、上図2つにある項目の関連性は図4-3のようになります。
このようにテスト作業を品質特性にマッピングしていくことで「そのテストはどのような品質特性が確保されているか」を考えていくことができます。
本連載では品質特性の定義は説明しません。ぜひ、前回紹介したIPAが発行している『「つながる世界のソフトウェア品質ガイド」の発行 〜経営者が知っておくべきソフトウェアの品質・評価と国際規格「SQuaRE」〜』を参照してください。
次回は、品質要求を品質特性ごとに分類することで、構築するシステムの品質のバランスを意識できることについて説明しながら製品品質についてもう少し説明します。
日本ナレッジ株式会社 エグゼクティブコンサルタント
ソフトウェアベンダーおよびメーカーで、25年以上ソフトウェア開発およびソフトウェアの品質保証を担当。2019年から日本ナレッジでエグゼクティブコンサルタントとしてさまざまな企業の品質の課題に取り組んでいる。
首都大学東京ソーシャルビッグデータ研究センター研究員やISO 25000シリーズ(SQuaRE)の国際規格を策定している「ISO/IEC JTC1/SC7/WG6」のエキスパートなど、ビッグデータやソフトウェア品質の研究者としても活動している。
Copyright © ITmedia, Inc. All Rights Reserved.