次の二つのif文は独立に評価される。すでにx = 3のテストを実施している。各if文の真と偽を少なくとも1回ずつ実行する分岐網羅を達成するため、追加するテストを一つだけ選ぶとき適切なxの値はどれか。 if (x > 0) 正数件数を増やす endif if (x < 0) 負数件数を増やす endif
本サイトで独自に作成。IPAの試験問題からの転載ではありません。
公開日:
選択肢を選んで、答え合わせをしましょう。
回答せずに正解・解説を確認する
正解:イ −2
この表示だけでは、回答数や正答率は変わりません。
解説
x = 3では、最初の条件x > 0が真、次の条件x < 0が偽です。未実行なのは最初の偽と次の真なので、負数のx = −2を加えると両方を一度に実行できます。0を加えても二つ目の真は実行されません。
x = 0では二つとも偽です。最初の偽は補えますが、二つ目の真が残ります。
負数なので最初が偽、二つ目が真となり、既存テストと合わせて全分岐を実行します。
正数なので既存のx = 3と同じ分岐の組合せとなり、未実行の分岐が残ります。
値が違っても正数であるため、既存テストと同じ二つの分岐を通ります。
関連知識
分岐網羅では条件の結果ごとの実行を確認します。分岐をすべて通しても、数値の境界や業務の期待結果がすべて正しいとは限りません。この例では0の業務要件を確かめるテストを別に追加する価値があります。
間違えやすいポイント
テスト入力の個数が増えれば網羅が進むとは限りません。条件ごとに真・偽の実行済み欄を作り、未実行の欄を埋める入力を選びます。
覚え方
入力値より、真と偽の通過記録を見る。
実務での意味
条件分岐を修正した後にカバレッジ結果を見て、まだ通っていない分岐を特定し、期待結果付きのテストケースを追加します。
解説:本サイト編集部によるオリジナル文章