問題32:システム連携における品質特性の優先度
問題 #32
Section titled “問題 #32”あなたは、レンタル電動キックボードを管理するシステムを開発しているチームのテストアナリストとして働いています。このシステムは、以下の3つのパーツで構成されています。
- スマートフォン用のクライアントアプリ
- キックボードのモニタリング機能
- 全体の動作を監督するサーバーアプリ
あなたのチームにとって最も重要な目標は、「モジュール間の連携を確実にすること」です。
この記述のみに基づいた場合、あなたにとって最も重要であり、最初にテストすべき品質特性はどれですか?
- a) 使用性(Usability)
- b) 相互運用性(Interoperability)
- c) セキュリティ(Security)
- d) パフォーマンス(Performance)
b) 相互運用性(Interoperability)
この問題は、システム構成と「最も重要な目標」の記述から、どの品質特性のテストを最優先すべきかを判断する問題です。
- a) 不正解。 使用性は特にクライアントアプリにおいて重要な非機能特性ですが、この設問は「この記述のみに基づいた場合」という制約があります。連携が最重要課題とされている中で、使用性を最初のテスト対象とする根拠はありません。(※実際の電動キックボードのユーザーは若年層が多く、一般的なインターフェースであれば使用上の問題は起きにくいという側面もあります)。
- b) 正解。 システムが異なるコンポーネント(スマホアプリ、キックボードのIoT機能、サーバー)で構成されており、それぞれが連携・協調(cooperate)しなければならないことは明らかです。問題文に「モジュール間の連携を確実にすることが最重要」と明記されているため、相互運用性がこのシステムにとって最も重要な特性となります。
- c) 不正解。 セキュリティテストは非常に重要ですが、JSTQBの役割定義において、これはテストアナリスト(TA)ではなく、主にテクニカルテストアナリスト(TTA)の責任範囲となります。
- d) 不正解。 パフォーマンスも望ましい品質特性かもしれませんが、問題文にパフォーマンスに関する具体的な要件(応答時間や同時接続数など)は明記されておらず、いずれにせよ「連携」を優先する相互運用性よりも重要度は下がります(また、これも主にTTAの領域です)。
JSTQB AL TA試験において、「問題文に書かれていることだけを根拠に答える」という制約は、深読みによるミスを防ぐための重要なサインです。
- 「モジュール間の連携」=相互運用性の確定フラグ: 前回の問題(#31)でも確認した通り、相互運用性とは「複数のシステムやコンポーネントが情報を交換し合えるか」という特性です。クライアント、モニタリング機能、サーバーという3層構造でのデータ連携がテーマになっている時点で、相互運用性が最有力候補になります。
- 「この記述のみに基づいた場合」の罠: 実務経験が豊富なエンジニアほど、「キックボードなら屋外で使うからスマホの通信が途切れた時のパフォーマンスやセキュリティが重要では?」と想像を膨らませてしまいます。しかし、JSTQBのシナリオ問題では 「問題文に書かれていない要件を勝手に推測してはいけない」 という鉄則があります。
- TA と TTA の責任分界点(再確認): 問題文に「あなたはテストアナリストとして働いています」と書かれているのも大きなヒントです。選択肢(c)のセキュリティや(d)のパフォーマンスは、テクニカルテストアナリスト(TTA)のメイン領域であるため、TAの試験において「最優先すべきもの」として選ばれる確率は非常に低くなります。