ソフトウェア品質モデルの国際的な標準規格としては、長らくISO/IEC 9126が一般的でした。ただ規格が置換されたこともあり、最近はISO/IEC 25000シリーズ(通称SQuaRE)が使われるようになっています。
ISO/IEC 25000シリーズでは、ISO/IEC 9126と比べていろいろ変更や拡張が行われています。特になかでも目を引くのがISO/IEC 25012でデータの品質モデルを新たに追加している点です。データの品質モデルはこれまでなかったものではないものの、システムの品質モデルと並ぶ位置づけで定義しているのが印象強いです。
このデータの品質モデルについてですが、上位のレベルのテスト設計・実装で活用できそうなものとなっています。
というのも、データ駆動テストやキーワード駆動テストを行うと、データ(キーワード含む)と、それ以外のスクリプトやフレームワーク部分で利用者・利用状況が異なる場合が出てくるためです。そうした場合では、データの品質モデルに基づいて、データやキーワードに要求される品質の抽出・分析・確保を行うとしばしば効果的です。
ISO/IEC 25012についてはまだまとまった情報が少ないようなので、今回はテストデータをターゲットと想定して、品質モデルの概要をまとめたいと思います。
なおISO/IEC 25012は、使っていて保守性についての品質モデルの定義が弱いと感じています。これについては運用の際に各自補強した方が良いかもしれません。
全体の構成
ISO/IEC 25012の品質モデルでは、15個程度の品質特性を定義している。それらは以下の「固有のデータ品質」「システム依存のデータ品質」の2つの属性でタグ付されている。
- 固有のデータ品質
- データそのものの品質。データ領域の値や制限、関係性からなる。
- システム依存のデータ品質
- データの利用手段となるシステムについて扱う。システムの能力や技術領域に依存するデータ品質。システム・ソフトウェアにとってのデータの品質、ツールとデータの関係性等を含む。
各品質特性
正確性
データが構文的・意味的に正しいかどうかの度合。
例えばデータがテストケース仕様が意図したデータとなっているか。データに誤字・脱字はないか等。
完全性
利用状況や目的に対して、属性や実態インスタンスを持っているかの度合。
例えばテスト十分性基準を満たすテストデータを用意できているか等。
一貫性
データ間で矛盾がないか、全体整合がとれているかの度合。
信憑性
利用時のデータの信用度。
例えばテストデータはレビューされたものか、信頼できるツールで生成されたものか等
最新性
利用時点でデータが最新かどうかの度合。
例えばテストで使用する際にデータが望ましい最新版となっているか等。
アクセシビリティ
データや、データの利用手段となるシステムのアクセシビリティ(障害や制約を持つ人でも使いやすいものになっているか)
例えばシステムが弱視でも扱えるようにフォントサイズ変更機能を持っているか等。
標準適合性
データや、データの利用手段となるシステムを対象とする、標準的な規格や規則の順守度。
例えばシステムがCSVで認可されているか等。
機密性
データについて、承認された条件下でのみ利用可能であることの保証度。例えば暗号化されているか等。
またはデータの利用手段のシステムの機密性。例えば認証を通したときのみデータにアクセスできるか等。
効率性
データやデータの利用手段のシステムが、どれぐらい記憶容量や処理量といった資源を必要とするかの度合。
例えば全テストデータを用いたテスト実行時間等。
精度
データやデータの利用手段のシステムが、どれぐらいの精度で利用可能かを示す度合。
例えばテストデータの有効桁数がどれぐらい大きいか、テストデータで表現できる最小値がどれぐらい小さいか等。
追跡可能性
データやデータの利用手段のシステムが監査証跡をどの程度提供しているかの度合。
例えばデータの変更履歴や使用履歴を追えるか等。
理解性
データやデータの利用手段のシステムを対象とした場合の、利用者にとっての理解しやすさや説明しやすさ。
例えばテストデータの可読性等。
可用性
データの利用がどの程度できるか。
例えばテストデータに同時にアクセスできるか、自動ツールでもアクセスできるか等
移植性
データのシステム間の移植のしやすさ。
回復性
データの維持やバックアップのしやすさ。例えばデータのバックアップシステムがどの程度充実しているか等。