基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成25年 秋期 基本情報技術者 午後 問05
問05   5問選択

問5 ソフトウェアのテスト設計に関する次の記述を読んで,設問1〜3に答えよ。

 システムインテグレータの N 社は,開発したプログラムに対するバグの摘出漏れの削減を 目的として,テストの方法を見直している。

〔 N 社のテスト方法に関する説明〕

 N 社では主にホワイトボックス法の一つである制御フローテストで, 開発したプログラムのテストを実施している。

 制御フローテストは,プログラムを構成する最小単位である命令,経路,判定条件に着目し, テスト計画時に定めたカバレッジ基準を満たすテストケース,テストデータを作成して, 開発したプログラムの動作を確認するテスト方法である。

 カバレッジ基準としては,テストにおいて全ての命令文を1回は実行する命令網羅, 全ての分岐について分岐後の全ての経路を1回は実行する判定条件網羅(以下, 分岐網羅という)などがある。

 N 社は,カバレッジ基準として分岐網羅を採用している。

〔 N 社が採用している分岐網羅の判定条件に関する説明〕

 分岐の判定条件には,一つの条件だけを評価する単独条件と,二つ以上の単独条件を and 又は or で組み合わせて評価する複数条件がある。単独条件と複数条件の例を次に示す。

  

 ここで,プログラムの実行時に,複数条件については短絡評価を行うものとする。 短絡評価とは,複数条件を構成する単独条件を左から右へ向かって順に評価し, 複数条件の結果が確定したら,残りの単独条件を評価しない方法である。 例えば,二つの単独条件を and で組み合わせた複数条件の場合,一つ目の単独条件を 評価した結果が偽ならば,複数条件は二つ目の単独条件に関係なく必ず儀になるので, 二つ目の単独条件を評価しない。

設問1 N 社が採用している分岐網羅の判定条件に関する次の記述中の に入れる正しい答えを,解答群の中から選べ。

 図1はテスト対象のプログラムの例,表1はこのプログラムのテストケースの 例である。N 社が採用している分岐網羅の判定条件に従って,このテストケースを 用いて,図1のプログラムをテストしたとき,テストケース@では 結果となり, テストケースAでは, 結果となる。


図1 テスト対象のプログラムの例

表1 テストケースの例

a,b に関する解答群 ア b < 20 が評価されない

イ b < 20 と c > 10 が評価されない

ウ b < 20 と d > 10 が評価されない

エ C > 10 が評価されない

オ c > 10 と d > 10 が評価されない

カ d > 10 が評価されない

キ 全ての単独条件が評価される

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

基本情報技術者試験


設問2 プログラムの制御構造は,制御フローグラフで記述することができる。 制御フローグラフは,処理を逐次実行する命令,繰返し命令,分岐命令に分け, それぞれを処理ブロック(以下,ノードという)として処理の実行順に有向線分(以下, エッジという)で結んだグラフである。ここで,複数条件は,それぞれの単独条件に 分解して制御フローグラフに置き換える。

 図2は,図1のテスト対象のプログラムの例にノード番号@〜Jを 付与したものであり,図3は,それに対応する制御フローグラフである。 図3のノード番号は,図2中のノード番号に対応する。図3のノード S とノード E は, それぞれプログラムの入口と出口を表す特別なノードであり,テスト対象のプログラムの 例には対応する処理はない。 図3の制御フローグラフ中の に入れる適切なノード番号を, 解答群の中から選べ。


図2 図1にノード番号を付与したプログラムの例


図3 図2のプログラムの例に対応する制御フローグラフ

c〜fに関する解答群 ア B      イ C      ウ D      エ E      オ G

カ I      キ J

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます

基本情報技術者試験


設問3 次の記述中の に入れた正しい答えを, 解答群の中から選べ。

 図1のプログラムのテストにおいて,N 社が採用している分岐網羅の場合, 最低限必要となるテストケースの数は である。

 これに対して,制御フローグラフから経路を抽出してテストケースを作成する方法がある。 制御フロ―グラフの全てのエッジとノードを網羅する,最小の経路の数(S)は, 次の式で求められる。

    S = エッジ−ノード+2  抽出した経路に対応した S 個のテストケースについてテストを行うことによって, 分岐網羅以上の高いカバレッジを保証することができる。

 図3の制御フローグラフから,S を求める となる。 N 社は,バグの摘出漏れの削減を目的として,制御フローグラフに基づくテストケースで プログラムのテストをすることとした。

g,h に関する解答群

ア 2     イ 3     ウ 4     エ 5     オ 6

カ 7

解答 g ←クリックすると正解が表示されます

解答 h ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]