システムアーキテクト試験 2012年 午前207


データが昇順に並ぶようにリストヘデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。
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」は入力順が昇順でも逆順でもなく、途中で大小関係が入れ替わるため、リストの先頭・中間・末尾への挿入を自然にテストできます。これにより、昇順リストを維持するための挿入処理のあらゆるケースを網羅的に検証可能です。

よくある誤解

昇順リストのテストは単に昇順や逆順のデータを入れれば十分と考えがちですが、実際には挿入位置が多様な順序でテストすることが重要です。

解法ステップ

  1. 昇順リストへの挿入で考慮すべき挿入位置(先頭・中間・末尾)を確認する。
  2. 各選択肢のデータ順序を見て、挿入位置の多様性を評価する。
  3. 単純な昇順・逆順だけでなく、途中で順序が入れ替わるパターンを含むものを選ぶ。
  4. その観点から「イ: 3, 1, 4, 2」が最も網羅的であると判断する。

選択肢別の誤答解説

  • ア: 1, 3, 2, 4
    → 途中で順序が乱れるが、挿入位置の多様性がやや不足し、先頭挿入のテストが弱い。
  • イ: 3, 1, 4, 2
    → 先頭・中間・末尾への挿入を自然に含み、順序もバラバラで網羅的。
  • ウ: 3, 4, 2, 1
    → 逆順に近く、末尾挿入のテストはできるが、途中の挿入位置の多様性が不足。
  • エ: 4, 3, 2, 1
    → 完全な逆順で、先頭挿入が中心。中間や末尾の挿入テストが不足。

補足コラム

昇順リストへの挿入処理は、単純な線形探索や二分探索で挿入位置を特定します。テストデータは、挿入位置の多様性を確保することで、境界条件や例外処理のバグを発見しやすくなります。特に、先頭・中間・末尾の挿入を網羅することが品質向上に直結します。

FAQ

Q: なぜ昇順や逆順だけのテストでは不十分ですか?
A: 昇順や逆順だけでは挿入位置が偏り、特定のケース(中間挿入など)がテストされずバグを見逃す可能性があるためです。
Q: 挿入位置の多様性はどうやって判断すれば良いですか?
A: 入力データの大小関係が途中で変化し、先頭・中間・末尾の挿入が自然に発生する順序を選ぶことがポイントです。

関連キーワード: 昇順リスト, 挿入ソート, テストデータ設計, 境界値分析, 網羅性, ソフトウェアテスト
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ