Chapter 4では「品質特性(Quality Characteristics)」を中心に、機能性・相互運用性・ユーザビリティ・移植性などを理解することが求められます。
ここでは実際に出題されるサンプル問題を通じて、それぞれの考え方を確認していきましょう。
問題1:アジャイル開発で行うテストの種類
シナリオ:
あなたは通信業界のアジャイル開発プロジェクトに参加しています。
新しいアプリケーションでは、顧客が自分で携帯電話プランを変更できる新しいインターフェースを開発中です。
あなたはシステムテストを担当しており、「US-34」というユーザーストーリーをテストしています。
「顧客として、オンライン上で新しいモバイルプランを選択し、変更できるようにしたい。」
テストの一環として、あなたとプロダクトオーナーはビジネスの専門家を招き、画面を使って探索的テストを実施し、改善点があるか確認しています。
質問:
このとき、あなたたちはどの種類のテストを実施しているでしょうか?
選択肢:
-
ユーザビリティテスト
-
機能適切性テスト(Functional Appropriateness Testing)
-
相互運用性テスト
-
移植性テスト
正解:
👉 2. 機能適切性テスト
解説:
このシナリオでは、「システムがユーザーの要求(モバイルプラン変更)を適切に満たしているか」を確認しています。
したがって、これは**機能が目的に適しているかを確認する「機能適切性テスト」**に該当します。
問題2:機能適合性(Functional Suitability)テストの実施段階
シナリオ:
あなたの会社は外国為替取引用のソフトウェアを開発しています。
新しいバージョンでは、取引量に応じて異なる手数料を計算できる機能が追加されました。
さらに、「初心者」「中級者」「上級者」という3つのユーザーカテゴリがあり、それぞれ異なる機能が提供されます。
あなたは機能適合性テストを担当しています。
質問:
これらのテストは、どの開発ライフサイクル段階で最初に実施すべきでしょうか?(2つ選択)
選択肢:
A. 低取引量の手数料計算をコンポーネントテストで確認する
B. ユーザーカテゴリ別の機能割り当てを受け入れテストで確認する
C. 他システムとの連携をシステムテストで確認する
D. 高取引量の手数料計算をシステムテストで確認する
E. 高レベルのビジネスケースをシステム統合テストでカバーする
正解:
👉 D と E
解説:
機能適合性(Functional Suitability)は、通常統合テストやシステムテストで実施されます。
-
D:高取引量の手数料計算はシステムレベルで確認するのが適切
-
E:高レベルのビジネスケースを網羅するのは統合テストレベルが妥当
問題3:相互運用性(Interoperability)の欠陥に該当しないもの
シナリオ:
あなたの会社はパスワード管理コンポーネントを開発しています。
Google Chromeのように、ログイン時に「パスワードを保存しますか?」と表示する仕組みです。
このコンポーネントは世界中の数百のウェブサイトに統合されており、次のバージョンでは特定のOSとの統合機能が追加されます。
ただし、一部のOSはこのコンポーネントをサポートしていません。
質問:
次のうち、相互運用性の欠陥ではないものはどれでしょうか?
選択肢:
A. 一部のウェブサイトでパスワードが保存されない
B. 一部のウェブサイトが特定のOS上で動作しない
C. 一部のブラウザでパスワードが途中で切れてしまう
D. 一部のユーザーにとって、パスワード保存手順が複雑すぎる
正解:
👉 D
解説:
A~Cは「システム間のやり取り(連携)」に関する問題=相互運用性の欠陥です。
一方、Dは「ユーザーが使いづらい」という**ユーザビリティ(使いやすさ)**の問題に分類されます。
問題4:移植性(Portability)テストで考慮しない欠陥
質問:
次のうち、移植性テストで通常考慮しない欠陥はどれでしょうか?(2つ選択)
選択肢:
A. すべての対象環境でアプリが正常に動作しない
B. 特定の設定ではソフトウェアをインストールできない
C. 障がいのあるユーザーがアプリを操作できない
D. 一部のソフトウェアコンポーネントが交換できない
E. コンポーネント間で誤ったデータがやり取りされる
正解:
👉 C と E
解説:
-
C:これは**アクセシビリティ(Accessibility)**の問題であり、移植性ではない。
-
E:データ交換の不具合は**相互運用性(Interoperability)**の問題。
一方、A・B・Dはすべて「環境間の移行」「インストール」「置換性」に関わるため、移植性に該当します。
問題5:ユーザビリティテストに関する正しい記述
質問:
次のうち、ユーザビリティテストに関して正しい記述はどれでしょうか?
選択肢:
A. ヒューリスティック評価を使ってユーザーにアンケートを取り、問題を見つける
B. 既存の不合格製品と比較してユーザビリティを確認する
C. 要件に基づきユーザビリティを検証し、実際のユーザーによって妥当性を確認する
D. 製品リリース後にユーザーを巻き込んで検証する
正解:
👉 C
解説:
ユーザビリティテストは「ユーザー視点での使いやすさ」を評価します。
したがって、要件に基づいて評価し、実際のユーザーが検証(Validation)を行うことが最も適切です。
Dのようにリリース後に検証するとコストが増大するため、テスト段階で実施するのが理想です。
まとめ
Chapter 4のサンプル問題は、単に定義を暗記するだけではなく、どの品質特性がどのシナリオに当てはまるかを判断する力が問われます。
|
テストタイプ |
主な目的 |
実施レベル |
|---|---|---|
|
機能適切性テスト |
システムが要求に合致しているか確認 |
システムテスト |
|
相互運用性テスト |
他システムとの連携確認 |
統合テスト |
|
ユーザビリティテスト |
使いやすさ・理解しやすさを確認 |
システムテスト/受入テスト |
|
移植性テスト |
環境間の互換性やインストール性確認 |
システムテスト後期 |
これらを区別できるように、試験前にそれぞれの定義と例題を整理しておくことをおすすめします。


コメント