AIが機能として組み込まれた製品も増えてきました。
そのようなAIシステムは従来の品質特性からのテストアプローチでは対応しきれないこともあるかと思います。
SQuaREの拡張として「ISO/IEC 25059: AIシステムの品質モデル」が策定されています。
| 拡張された品質特性 | 詳細な説明 |
|---|---|
| 自律性 (Autonomy) | 人間の介入なしに、AIシステムがタスクを実行できる度合い。 これには、システムが自らの判断で状況に適応し、目標を達成する能力が含まれます。 |
| 自己学習性 (Self-learnability) | AIシステムがデータや経験から学習し、その性能や振る舞いを改善していく能力の度合い。 継続的な精度向上や新たなパターンへの適応力が評価されます。 |
| 予測性 (Predictability) | AIシステムの振る舞いや出力が、どの程度予測可能であるかの度合い。 特に、システムの決定プロセスが解釈可能で、なぜその結論に至ったかを説明できるか(説明可能性)が重要視されます。 |
| 公平性 (Fairness) | AIシステムの判断や出力が、特定のグループに対して意図しないバイアス(偏り)を持たない度合い。 入力データに含まれる偏見を増幅せず、倫理的に公正な結果を出すことが求められます。 |
| 堅牢性 (Robustness) | 予期しない入力や敵対的な攻撃に対して、AIシステムが安定して動作し続ける能力の度合い。 ノイズの多いデータや未知の状況下でも、性能が著しく低下しないことが重要です。 |
それぞれの品質特性に対するテストアプローチを考えてみます。
自律性
考えられる期待値は「ある一定の基準まで自律的に行えること」となります。
対象システムごとにAIによる期待動作を定義し、確認を行います。
しかしAIの期待結果は入力ごとに異なります。
そのため複数回実行とその期待結果の通過率が重要となります。
ユーザー観点に立ち、通過率を80%~95%などに設定するようなテストが考えられます。
自己学習性
考えられる期待値は「ある時点からある時点までの精度向上があること」となります。
対象システムにおけるデータ投入や様々な操作パターンからの学習がされているか、が観点になります。
こちらも複数回実行と、さらに時間経過での結果計測が重要になります。
ある時点でのユーザー操作パターンと投入データ量を前提に、実行の容易さや期待結果の誤り率を日々計測し、週や月単位で結果確認を行い、学習による出力結果の正答率、複数の操作パターンでの適応率を確認し、出力精度が上がっていることを計測し、そのアップ率の高さを確認するテストが考えられます。
予測性
考えられる期待値は「入力に対し想定範囲内の結果出力となること」となります。
対象システムに対し、入力ごとに期待結果が変わる中で、予測範囲内の出力ができるか、出力結果の妥当性が説明可能かの観点になります。
入力値に対し境界値を用いたアプローチで範囲内/外入力をしても妥当な出力結果となることや、出力結果の妥G性を説明できるように入力と出力を一定数繰り返し、統計的に妥当な結果となることを確認するテストが考えられます。
公平性
考えられる期待値は「あるバイアスの観点から出力結果が分散されていること」となります。
倫理側面でのバイアスになるので、出力結果に対し、人種・地域差別、プライバシー、有害コンテンツなどの結果出力がなされないことが重要になります。
対象システムでの出力結果において、隠語も含む対象キーワードや文章が入っていないことの確認、または別のチェック用AIによる内容確認をするテストが考えられます。
堅牢性
考えられる期待値は「エラー、または異常な入力・データの元の上、正常稼働・復帰すること」となります。
対象システムに対する入力としては異常値やモンキー・ランダムな入力での結果確認、およびその後の正常入力で期待動作を確認するテストが考えられます。
またデータにおいてもエラー、異常データをRAG構成の中に投入した上での、正常時との出力結果差異の有無や、正常出力を行うまでの復帰までの処理回数、時間を確認するテストが考えられます。
以上の通り、品質特性からテストアプローチを考えてみました。
しかし、AIの進歩はすさまじいため、アプローチの方法はどんどん変化していくものでもあるかと思います。
今はまだAI活用について模索や変化が多い過渡期です。
画一的なQAソリューションよりも、お客様やシステムごとにテストアプローチを考える、プロジェクトの現場にいるQAエンジニアの設計力・課題解決力が今は重要ではないかと思います。

