ホーム > システムアーキテクト試験 > 2019年
システムアーキテクト試験 2019年 午前2 問07
データが昇順に並ぶようにリストヘデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。
ウ: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, 3, 2, 4」は最初に最小値を入れ、途中挿入はあるが中間値から始まらず網羅性が低い。
- イ: 「3, 1, 4, 2」は多様な挿入位置をカバーし、網羅性が高い。
- ウ: 「3, 4, 2, 1」は途中挿入はあるが、降順に近い順序で先頭挿入の検証が不十分。
- エ: 「4, 3, 2, 1」は完全な降順で、昇順挿入の動作確認としては偏りが大きい。
補足コラム
昇順リストへの挿入テストでは、境界値分析と状態遷移の観点から、先頭・途中・末尾の挿入を必ず含めることが重要です。これにより、実装のバグや例外処理の漏れを防げます。
FAQ
Q: なぜ最初に中間値を入れるのが良いのですか?
A: 中間値から始めることで、リストの途中に挿入する動作を早期に検証でき、テストの効率が上がります。
A: 中間値から始めることで、リストの途中に挿入する動作を早期に検証でき、テストの効率が上がります。
Q: 昇順や降順だけのテストでは不十分ですか?
A: はい。単純な順序だけでは途中挿入のバグを見逃す可能性があるため、多様な挿入パターンが必要です。
A: はい。単純な順序だけでは途中挿入のバグを見逃す可能性があるため、多様な挿入パターンが必要です。
関連キーワード: 昇順挿入, テストデータ設計, 境界値分析, 網羅性, ソフトウェアテスト