非機能テスト
⚡ スマートサマリー
非機能テストは、ソフトウェアアプリケーションの信頼性、ユーザビリティ、セキュリティ、拡張性、その他の品質特性に関する性能を検証するものです。この解説では、非機能テストの目的、パラメータ、特性、一般的なテストの種類、および品質保証チームが使用する実践的なテストケース例について説明します。

非機能テストとは何ですか?
非機能テスト これは、ソフトウェアテストの一種で、アプリケーションのパフォーマンス、ユーザビリティ、信頼性、および同様の品質特性といった非機能的な側面を検証するものです。機能テストでは決して扱われない基準に基づいてシステムの準備状況を評価し、アプリケーションが実際の運用環境下で企業の期待を満たしていることを保証します。
非機能テストの典型的な例は、パフォーマンスの低下なしにアプリケーションに同時ログインできるユーザー数を測定することです。非機能テストは、顧客満足度や製品全体の評価に直接影響するため、機能テストと同様に重要です。
非機能テストの目的
非機能テストは、製品の全体的な品質と寿命を向上させるために実施されます。主な目的は以下のとおりです。
- 製品の使いやすさ、効率性、保守性、携帯性を向上させる。
- 生産リスクと、機能不良に伴うコストを削減する。
- 製品のインストール、設定、実行、管理、監視の方法を最適化する。
- 社内研究開発のために、測定値と指標を収集する。
- 製品の動作や使用されている技術についての理解を深める。
非機能テストの特徴
非機能テストの計画と実行方法を定義する特性は以下のとおりです。
- それは測定可能でなければならず、良い、より良い、最高といった主観的な表現の余地があってはならない。
- 要件定義プロセスの開始時点では、正確な数値は通常不明である。
- 要件には優先順位を付け、最もリスクの高い領域から優先的に対処する必要がある。
- 品質特性は、ソフトウェアエンジニアリングの段階で正確に特定される。
非機能テストパラメータ
非機能テストの範囲を定める際には、通常11のパラメータが使用されます。
- セキュリティ: システムが内部または外部からの意図的および偶発的な攻撃からどのように保護されているかを測定します。セキュリティテストによって検証されています。
- 信頼性: システムが故障なく規定された機能を継続的に実行する度合い。信頼性試験によって検証される。
- 生存性: システムが障害発生後も正常に動作し、自己復旧することを確認します。復旧テストによって検証済みです。
- 在庫: ユーザーがシステム運用中にどの程度信頼できるかを判断する指標です。安定性テストによって検証済みです。
- ユーザビリティ: ユーザーがシステムを習得し、操作し、入力データを準備し、出力データを利用する際の容易さ。ユーザビリティテストによって検証済み。
- スケーラビリティ: ソフトウェアアプリケーションが、需要の増加に対応するために処理能力を拡張できる度合い。スケーラビリティテストによって検証済み。
- 相互運用性 ソフトウェアシステムが他のソフトウェアシステムとどのように連携するかを確認します。相互運用性テストによって検証されます。
- 効率性: システムが負荷がかかった状態で、容量、数量、応答時間をどの程度適切に処理できるか。
- 柔軟性: アプリケーションが、RAMやCPUの仕様など、さまざまなハードウェアおよびソフトウェア構成で容易に動作できること。
- 移植性: ソフトウェアが現在のハードウェア環境またはソフトウェア環境から別の環境へ移行できる柔軟性。
- 再利用性: ソフトウェアシステムのうち、他のアプリケーションで使用できるように改変可能な部分を指します。
ソフトウェアテストの種類
ソフトウェアテストは大きく3つのカテゴリに分類されます。
- 機能テスト
- 非機能テスト
- メンテナンステスト
各カテゴリには複数のテストレベルが含まれており、チームはこれらをテストタイプと呼ぶことが多い。書籍や参考資料によって分類方法が若干異なる場合があるので、多少の違いがあることをご了承ください。
テストの種類はこれだけにとどまりません。100種類以上のテストが存在し、新たな種類も次々と登場しています。すべてのテストの種類がすべてのプロジェクトに適用されるわけではなく、適用範囲はテスト対象アプリケーションの性質、リスクプロファイル、複雑さによって異なります。
非機能テストの種類
QAチームが実施する最も一般的な非機能テストの種類は以下のとおりです。
- 性能試験
- 負荷テスト
- フェイルオーバーテスト
- 互換性テスト
- ユーザビリティテスト
- ストレステスト
- 保守性テスト
- スケーラビリティテスト
- ボリュームテスト
- セキュリティテスト
- ディザスタ リカバリ テスト
- コンプライアンステスト
- 移植性テスト
- 効率テスト
- 信頼性テスト
- ベースラインテスト
- 耐久試験
- ドキュメントのテスト
- 回復テスト
- 国際化テスト
非機能テストのテストケース例
以下の例は、実際のプロジェクトで非機能テストケースがどのように記述されるかを示しています。
| テストケース # | テストケース | ドメイン |
|---|---|---|
| 1 | 最大1000人のユーザーが同時にアクセスする場合、アプリケーションの読み込み時間は5秒を超えてはならない。 | 性能試験 |
| 2 | ソフトウェアは、サポートされているすべてのバージョンにインストール可能である必要があります。 Windows (NAIST) と macOS. | 互換性テスト |
| 3 | すべてのウェブ画像には、説明的なaltタグを含める必要があります。 | アクセシビリティテスト |


