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


データが昇順に並ぶようにリストヘデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。
3, 4, 2, 1
4, 3, 2, 1
1, 3, 2, 4
3, 1, 4, 2(正解)

解説

データが昇順に並ぶようにリストへデータを挿入するサブルーチンのテストデータ選定【午前2 解説】

要点まとめ

  • 結論:テストデータは「3, 1, 4, 2」の順で入力するのが網羅性の観点で最適です。
  • 根拠:昇順挿入の動作を多様なケースで検証でき、境界条件や途中挿入、末尾挿入を含むためです。
  • 差がつくポイント:単純な昇順や降順だけでなく、途中で順序が乱れるパターンを含めることが重要です。

正解の理由

選択肢イの「3, 1, 4, 2」は、最初に中間値を挿入し、次にそれより小さい値を入れて先頭挿入を確認、続いて最大値を入れて末尾挿入を検証、最後に途中に挿入される値を入れることで、挿入位置の多様なパターンを網羅しています。これにより、昇順リストの維持が正しく行われるかを包括的にテスト可能です。

よくある誤解

単純に昇順や降順でデータを入れれば十分と考えがちですが、途中挿入や先頭・末尾挿入の動作を検証しないとバグを見逃します。

解法ステップ

  1. 昇順リストへの挿入動作を理解する(先頭・途中・末尾の挿入)。
  2. テストデータの順序が挿入位置の多様性をカバーしているか確認。
  3. 各選択肢のデータ順を比較し、挿入パターンの網羅性を評価。
  4. 最も多様な挿入パターンを含む選択肢を選ぶ。

選択肢別の誤答解説

  • ア: 「1, 3, 2, 4」は最初に最小値を入れ、途中挿入はあるが中間値から始まらず網羅性が低い。
  • イ: 「3, 1, 4, 2」は多様な挿入位置をカバーし、網羅性が高い。
  • ウ: 「3, 4, 2, 1」は途中挿入はあるが、降順に近い順序で先頭挿入の検証が不十分。
  • エ: 「4, 3, 2, 1」は完全な降順で、昇順挿入の動作確認としては偏りが大きい。

補足コラム

昇順リストへの挿入テストでは、境界値分析と状態遷移の観点から、先頭・途中・末尾の挿入を必ず含めることが重要です。これにより、実装のバグや例外処理の漏れを防げます。

FAQ

Q: なぜ最初に中間値を入れるのが良いのですか?
A: 中間値から始めることで、リストの途中に挿入する動作を早期に検証でき、テストの効率が上がります。
Q: 昇順や降順だけのテストでは不十分ですか?
A: はい。単純な順序だけでは途中挿入のバグを見逃す可能性があるため、多様な挿入パターンが必要です。

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

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