Skip to content

4.3 柔軟性テスト (Flexibility Testing)

柔軟性テスト(Flexibility testing、かつては移植性テストと呼ばれていました)は、テスト対象がその「利用状況」や「システム環境」の変化にどの程度適応できるかを検証するものです。

ISO/IEC 25010 (2023) のプロダクト品質モデルでは、柔軟性を以下の4つのサブ特性に分類しています。

  • 適応性(Adaptability)
  • スケーラビリティ(Scalability)
  • インストール性(Installability)
  • 置換性(Replaceability)

柔軟性には技術的および非技術的な側面の両方が含まれます。このセクションでは、テストアナリスト(TA)が主に関与する「適応性」と「インストール性」のテストへの貢献に焦点を当てます。なお、スケーラビリティと置換性はより技術的な側面が強いため、それぞれパフォーマンス・テスト(PT)やテクニカルテストアナリスト(TTA)の領域で扱われます。


1. 適応性テスト (Adaptability Testing)

Section titled “1. 適応性テスト (Adaptability Testing)”

適応性テストは、テスト対象が意図されたターゲットハードウェア、ソフトウェア、またはその他の運用・利用環境に適応できるか、あるいは移行できるかを検証します。
TAは以下のようなアプローチで適応性テストをサポートします。

  • ターゲット環境の特定と組み合わせ: サポートされるモバイルOSのバージョンや使用される可能性のあるブラウザのバージョンなど、意図されたターゲット環境を特定し、それらの環境の組み合わせを網羅するテストを設計します。この際、多様な環境パラメータ構成を表すテストデータが必要になるため、「組み合わせテスト(Combinatorial testing)」などのテスト技法がよく適用されます。
  • スモークテストとテストスイートの実行: プロダクトリスクに応じて、ターゲット環境に正しく適応しているかを確認するためのスモークテストや、より包括的なテストスイートを設計・実行します。

適応性テストのメリット: 適応性テストのベストプラクティス(ターゲット環境の早期定義、組み合わせテストの使用、新環境でのスモークテスト、環境特有の欠陥の監視など)に従うことで、TAはソフトウェアの寿命やユーザビリティ(様々な画面サイズでの使いやすさなど)を制限する可能性のある欠陥を早期に発見できます。厳密な適応性テストは、展開(デプロイ)後の頻繁なメジャーアップデートや再設計を避け、保守コストを削減することに役立ちます。また、TAの活動はテスト自動化エンジニアによる「クロスプラットフォームテストの自動化」によってサポートされるべきです。


2. インストール性テスト (Installability Testing)

Section titled “2. インストール性テスト (Installability Testing)”

インストール性テストは、指定された環境において、テスト対象が正しくインストール、アンインストール、アップデート、および再構成できるかを検証します。これは、単に「インストール手順が最後まで完了するか」を確認するだけにとどまりません。

TAが焦点を当てるべき典型的なインストール性テストの目的は以下の通りです。

  • 多様な環境構成での実行確認: 様々な環境パラメータの構成下で、インストール手順が正しく実行されるかを検証します。適応性テストと同様に、「組み合わせテスト」のような技法が役立ちます。
  • インストール後の動作確認: インストールやアップデートの完了後に、テスト対象が「正常に機能するかどうか」を判断するためのテストを設計・実行します。
  • ユーザーの利便性の確認: ユーザーにとってソフトウェアのインストール、アンインストール、アップデートがどれくらい簡単かを確認します。これには、「インストールドキュメント(マニュアル)のレビュー」も含まれます。
  • 権限に関する動作のテスト: 特にモバイルアプリケーションにおいて、パーミッション(権限)に関連する振る舞いが正しく行われるかをテストします。