これから何回か基本情報技術者試験について書いてみたいと思います。
問題の答えや解説は白い字で書きます。
7月26日に基本情報技術者試験の午前免除試験が行われましたが,その中のソフトウェアテストに関する問題を取り上げましょう。最近,ソフトウェアテストの重要性が高まっており,基本情報技術者試験でもソフトウェアテストに関する問題が出題されます。なお,
JSTQBというソフトウェアテストの資格がありますので,ソフトウェアテストについてもっと詳しく勉強したいときは
JSTQBのウェブページを参照するとよいでしょう。
問47
プログラムの誤りの1つに,繰り返し処理の判定条件としてA≧aとすべきところをA>aとコーディングすることがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで,Aは変数,aは定数とする。
ア 限界値分析
イ 条件網羅
ウ 同値分割
エ 分岐網羅
答え
ア
解説
システムへの入力データを同じ処理をするグループに分割することを同値分割といいます。同値分割したグループの境界上の入力データに対して多くの欠陥が潜んでいるこということがよく知られており,境界値をテストする技法を境界値分析といいます。(選択肢では限界値分析となっていますが同じ意味です)。条件網羅と分岐網羅はコード中の判定条件の結果をどれだけ網羅するかの用語です。
問48
次の流れ図において,判定条件網羅(分岐網羅)を満たす最小のテストケースはどれか。
ア (1) A=0, B=0 (2) A=1, B=1
イ (1) A=1, B=0 (2) A=1, B=1
ウ (1) A=0, B=0 (2) A=1, B=1 (3)A=1, B=0
エ (1) A=0, B=0 (2) A=0, B=1 (3)A=1, B=0
答え
イ
解説
判定条件網羅(分岐網羅)とはプログラム中のすべての判定条件の結果を網羅すること。アは最初の分岐のYesと二つ目の分岐のYesを通り,(2)で最初の分岐のNo,二つ目の分岐のNoを通るので網羅していない。イは(1)で最初の分岐のNoと二つ目の分岐のNoを通り,(2)で最初の分岐のNo,二つ目の分岐のNoを通るので網羅している。ウ,エは最小ではないので調べる必要がない。
問49
結合テスト工程のテスト項目未消化件数と不良摘出件数をグラフ化したところ,下図のようになった。このときの対策として適切なものはどれか。
ア テスト環境が悪いので,テスト環境の改善を検討する。
イ 投入マンパワーが不足しているので,増員を手配する。
ウ 特に対策検討の必要はない。このままテストを継続する。
エ 品質が悪いので,前工程のテスト項目と結果を見直す。
答え
エ
解説
グラフから不良が予想以上に増え,テスト項目が消化できない様が読み取れる。
問50
ウォーターフォールモデルによるソフトウェア開発において,テスト工程で実施されるシステムテストに関する記述として,最も適切なものはどれか。
ア 機能,性能,負荷などを確認する。
イ モジュール間のインターフェイスを確認する。
ウ モジュール内部のロジックを確認する。
エ ユーザが本番の環境で操作性を確認する。
答え
ア
解説
ウォータフォールモデルのテストはコンポーネントテスト→統合テスト→システムテスト→受け入れテストの順で進む。イは統合テスト,ウはコンポーネントテスト,エは受け入れテスト(の一部)である。