ソフトウェア品質特性

ソフトウェア品質特性は、品質を標準化して一定のレベルを保つために定められた主要なカテゴリです。
ソフトウェア品質特性では、ソフトウェアが特定の要件を満たしてユーザの期待に応えられているかを測る指標となります。

ソフトウェア品質特性のテスト

ソフトウェア品質特性でテストアナリストが対応するものは前述していますがISO/IEC 25010で定義している品質特性と副特性は以下になります。

1

機能適合性

機能完全性、機能正確性、機能適切性

2

性能効率性

時間効率性、資源効率性、容量満足性

3

互換性

共存性、相互運用性

4

使用性

適切度認識性、習得性、運用操作性、ユーザーエラー防止性、ユーザーインターフェース快美性、アクセシビリティ

5

信頼性

成熟性、可用性、障害許容性、回復性

6

セキュリティ

機密性、インテグリティ、否認防止性、責任追跡性、真正性

7

保守性

モジュール性、再利用性、解析性、修正性、試験性

8

移植性

適応性、設置性、置換性

テストアナリストは、テストタイプの機能テストがメイン業務になります。
機能テストは品質特性の機能適合性になりますが、非機能テストの使用性、互換性、移植性もテストアナリストは対応します。

移植性は、テクニカルテストアナリストも対応します。
テストアナリストが実施する品質特性と副特性についての詳細を以下に記載していきます。

機能適合性

要件で定義された機能が仕様通りに適合しているかを評価します。
テストアナリストは、テストベースを分析・設計してドメイン知識や適切なテスト技法を使用して実装します。

機能完全性

実装した機能が要件で定義した機能を網羅しているか評価します。
テストベースと実装した機能のトレーサビリティを行い、カバレッジ(網羅性)を判定します。
指定されたタスクとユーザーの目標がカバーされているかです。
テストアナリストは、プロジェクトで変化するテストベースや機能を追従し、トレーサビリティを維持します。

トレーサビリティには、垂直トレーサビリティと水平トレーサビリティがあります。

機能完全性のテスト例を次に記載します。

機能正確性

要件で定義された機能が正確に実行されて期待通りの結果になるか評価します。
暗黙の要件に準拠しているかも確認します。
すべてのテストレベルで実施します。

機能正確性のテスト例を次に記載します。

機能適切性

要件で定義された機能が要求された機能を満たしているか評価します。
ユーザストーリやユースケースなどのテストベース通りに動作するか確認します。
結合テストの後半またはシステムテストで実施します。

機能適切のテスト例を次に記載します。

互換性

ソフトウェアが他のシステムやソフトウェアとどれだけうまく連携できるか評価します。

相互運用性

システム間のやり取りが効率的で正しく機能として動作するかを評価します。
テストベースは、インターフェース仕様書や通信規格などのコンポーネントとソフトウェアがデータのやり取りをするインターフェース仕様になります。

相互運用性のテストは、環境(ハードウェア・ミドルウェア・ソフトウェアなど)が重要で。
コンポーネント統合テスト、システム統合テスト、システムテストで実施します。

相互運用性が高いソフトウェアは、大きな変更を加えても、非機能的な動作に大きな影響を与えることはなく、他の多くのシステムと統合できます。

テストアナリストは、相互運用性のテストで以下が重要になります。

相互運用性のテスト例を次に記載します。

使用性

使用性は、ユーザーがソフトウェアを効率的に使用できるか評価します。
テストアナリストは、使用するペルソナ(年齢、性別などの属性を想定した使用者)やユーザのニーズを理解してそれらに影響を与えないかをテストの対象とします。

すべてのテストレベルで適用されます。 使用性の一部は状況に応じて、専門にテストするグループに依頼する場合があります。

テストアナリストは、使用性・ユーザエクスペリエンス・アクセシビリティの側面でテスト分析、設計する必要があります。

使用性評価

使用性テスト、使用性レビュー、使用性の調査およびアンケートから使用性を評価していきます。

使用性のテスト例を次に記載します。

使用性ヒューリスティック評価法

ヒューリスティック評価法は、ユーザビリティの専門家が経験則に基づいてUI/UXを評価する手法です。
代表的な評価項目として、ニールセンの10原則があります。

「システムの状態の可視化」「実世界とシステムの一致」「エラーの防止」などの評価項目があります。

使用性レビューのチェックリスト

使用性レビューのチェックリストは、ソフトウェアやサービスの使いやすさを評価するためのガイドラインです。

チェックリストには、「機能を定義している。」「 エラーメッセージを定義している。」「ヘルプを利用できる。」があります。

使用性ガイドライン

使用性ガイドラインは、特定の製品やサービスの使用方法や最適な利用方法のガイドラインです。
例えば、医薬品の最適使用推進ガイドラインでは、患者や医療機関が医薬品を適切に使用するための要件や留意事項が記載されています。

WAMMI(Website Analysis and MeasurMent Inventory)

WAMMIとは、ウェブサイトのユーザーエクスペリエンスを評価するための標準的なアンケートです。
WAMMIは、ウェブサイトの使いやすさやユーザーの反応を測定し、ウェブサイトの改善に役立てる仕組みです。
測定には、魅力、操作性、効率、有用性、学習可能性、ユーザビリティの6つがあります。

「遅くないか?」「分かりやすいか?」「画面は移動しやすいか?」「目的にたどり着いたか?」などの質問があります。

SUMI(ソフトウェア使用性測定一覧表)

SUMIとは、ソフトウェアの使用性を評価するための標準的なアンケートで、50あります。
SUMIは、ユーザの視点でソフトウェアの品質を測定して改善が行える仕組みです。
アンケートには、入力後の反応が遅いや他の方へすすめられるかなどがあります。

「レスポンスは遅くないか?」「人に薦めれるか?」「支持とプロンプトは役にたつか?」「ソフトウェアが予期せず停止しないか?」などのアンケートがあります。

ユーザエクスペリエンスのテスト例を次に記載します。

アクセシビリティのテスト例を次に記載します。

移植性

ソフトウェアが異なる環境でどれだけ容易に使用できるか評価します。
各環境でのソフトウェアのインストールや再インストール、既存環境から移行が行えるかを確認します。

設置性

設置性は、インストーラやインストールウィザードなどのテストです。
インストーラやインストールウィザードなどの使用性も含まれます。

設置性のテスト例を次に記載します。

環境適応性

環境適応性とは、新しい環境に新設または既存環境から新しい環境に移行した場合にソフトウェアが正しく動作するかを評価します。
単に環境での動作の確認だけでなく、事前に定義した手順を確認する必要があります。
以下の流れで確認していきます。

環境適応性のテスト例を次に記載します。

置換性

置換性とは、ソフトウェアやハードウェアなどを他のものに置き換えたときに正しく動作するかを評価します。
既存のハードウェアが生産中止になり、互換性のある新しいハードウェアになった場合の置き換えやソフトウェアのアップグレードがあります。

置換性のテスト例を次に記載します。