ホーム > システムアーキテクト試験 > 2012年
システムアーキテクト試験 2012年 午前2 問07
データが昇順に並ぶようにリストヘデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。
イ:3, 1, 4, 2(正解)
ア:1, 3, 2, 4
ウ:3, 4, 2, 1
エ:4, 3, 2, 1
解説
データが昇順に並ぶようにリストへデータを挿入するサブルーチンのテストデータ選定【午前2 解説】
要点まとめ
- 結論:昇順リストへの挿入テストでは、データの順序がバラバラで挿入位置が多様な「イ: 3, 1, 4, 2」が適切です。
- 根拠:昇順を保つためには、先頭・中間・末尾への挿入を網羅し、順序が乱れた入力で動作確認が必要だからです。
- 差がつくポイント:単純な昇順や逆順だけでなく、途中で順序が入れ替わるパターンを含めることでバグ検出率が高まります。
正解の理由
「イ: 3, 1, 4, 2」は入力順が昇順でも逆順でもなく、途中で大小関係が入れ替わるため、リストの先頭・中間・末尾への挿入を自然にテストできます。これにより、昇順リストを維持するための挿入処理のあらゆるケースを網羅的に検証可能です。
よくある誤解
昇順リストのテストは単に昇順や逆順のデータを入れれば十分と考えがちですが、実際には挿入位置が多様な順序でテストすることが重要です。
解法ステップ
- 昇順リストへの挿入で考慮すべき挿入位置(先頭・中間・末尾)を確認する。
- 各選択肢のデータ順序を見て、挿入位置の多様性を評価する。
- 単純な昇順・逆順だけでなく、途中で順序が入れ替わるパターンを含むものを選ぶ。
- その観点から「イ: 3, 1, 4, 2」が最も網羅的であると判断する。
選択肢別の誤答解説
- ア: 1, 3, 2, 4
→ 途中で順序が乱れるが、挿入位置の多様性がやや不足し、先頭挿入のテストが弱い。 - イ: 3, 1, 4, 2
→ 先頭・中間・末尾への挿入を自然に含み、順序もバラバラで網羅的。 - ウ: 3, 4, 2, 1
→ 逆順に近く、末尾挿入のテストはできるが、途中の挿入位置の多様性が不足。 - エ: 4, 3, 2, 1
→ 完全な逆順で、先頭挿入が中心。中間や末尾の挿入テストが不足。
補足コラム
昇順リストへの挿入処理は、単純な線形探索や二分探索で挿入位置を特定します。テストデータは、挿入位置の多様性を確保することで、境界条件や例外処理のバグを発見しやすくなります。特に、先頭・中間・末尾の挿入を網羅することが品質向上に直結します。
FAQ
Q: なぜ昇順や逆順だけのテストでは不十分ですか?
A: 昇順や逆順だけでは挿入位置が偏り、特定のケース(中間挿入など)がテストされずバグを見逃す可能性があるためです。
A: 昇順や逆順だけでは挿入位置が偏り、特定のケース(中間挿入など)がテストされずバグを見逃す可能性があるためです。
Q: 挿入位置の多様性はどうやって判断すれば良いですか?
A: 入力データの大小関係が途中で変化し、先頭・中間・末尾の挿入が自然に発生する順序を選ぶことがポイントです。
A: 入力データの大小関係が途中で変化し、先頭・中間・末尾の挿入が自然に発生する順序を選ぶことがポイントです。
関連キーワード: 昇順リスト, 挿入ソート, テストデータ設計, 境界値分析, 網羅性, ソフトウェアテスト