基本情報のテスト技法|ブラックボックス・同値分割を解説

基本情報のテスト技法を学ぶデスクとチェックリスト

基本情報技術者試験の開発技術で、ブラックボックステスト、ホワイトボックステスト、同値分割、境界値分析といった言葉が並ぶと、どれを選べばよいのか迷いやすいですよね。用語の意味だけを暗記しても、問題文の「外部仕様に基づく」「内部構造に着目する」「境界の値を選ぶ」のような表現を読み取れないと失点につながります。

この記事では、基本情報のテスト技法を試験で使う順番に整理します。まず全体像をつかみ、次にブラックボックスとホワイトボックスの違い、同値分割と境界値分析、網羅基準、デシジョンテーブルまでを、選択肢で迷わない形に落とし込みます。

細かい実務のテスト設計をすべて覚える必要はありません。基本情報では、問題文がどの観点を聞いているかを切り分け、代表値・境界値・内部経路・条件の組合せを選べる状態にすることが大切です。

この記事のポイント
  • ブラックボックスとホワイトボックスの違いがわかる
  • 同値分割と境界値分析の使い分けがわかる
  • 網羅基準やデシジョンテーブルの見分け方がわかる
  • 過去問で失点しにくい解き方がわかる
無料

基本情報技術者試験 過去問アプリ

本番形式で繰り返し解ける。スキマ時間に1問から

2,000問以上収録
無料で過去問を解く
目次

基本情報のテスト技法の全体像

ブラックボックステストとホワイトボックステストの違いを表すイメージ

試験範囲での位置づけ

基本情報のテスト技法は、科目Aのソフトウェア開発技術やシステム開発技術の中で問われやすいテーマです。IPAのシラバスでも、ソフトウェア開発の流れ、レビュー、テスト、保守などが扱われています。最新のシラバスや試験範囲は、必要に応じてIPAの試験要綱・シラバスで確認しておくと安心です。

試験で問われるポイントは、実務でテスト計画書を詳細に作れるかというより、どの技法がどの場面で使われるかを判断できるかです。たとえば「プログラムの内部構造を考慮しない」という文があればブラックボックステスト、「条件式の真偽を少なくとも一度ずつ通す」という文があれば網羅基準の話だと見抜く必要があります。

ここを混ぜて覚えると、同値分割の問題なのにホワイトボックスの選択肢を選んだり、条件網羅と判定条件網羅を逆にしたりします。まずは、テスト対象を外から見るのか、内部から見るのか、入力値を分けるのか、条件の通り方を数えるのか、という四つの軸で整理するとかなり楽になります。

先に押さえる軸

基本情報では、技法名そのものよりも「何に着目してテストデータを選ぶか」が問われます。外部仕様、内部構造、入力範囲、条件分岐のどれに注目しているかを最初に見ます。

また、テスト技法は単独の暗記テーマではなく、要件定義、設計、プログラミング、レビューとつながっています。要件が曖昧ならブラックボックステストの期待結果も曖昧になり、設計やコードの分岐が複雑ならホワイトボックステストで確認すべき経路も増えます。基本情報では全工程を深掘りする必要はありませんが、テストは開発の最後に何となく行う作業ではなく、仕様や設計の正しさを確認する活動だと押さえておくと、文章問題のニュアンスも読みやすくなります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

ブラックボックステスト

ブラックボックステストは、プログラムの内部構造を見ずに、入力と出力の関係や外部仕様に基づいて確認するテストです。箱の中身を見ないので「黒い箱」と考えると覚えやすいですね。仕様書に「年齢は0以上120以下なら登録できる」と書かれていれば、内部でどんなif文を書いているかではなく、その範囲に対して正しい結果が返るかを見ます。

基本情報でブラックボックステストが出るときは、同値分割、境界値分析、デシジョンテーブル、状態遷移テストなどとセットで出ることが多いです。全部の入力値を試すのは現実的ではないため、同じ結果になりそうな範囲から代表値を選んだり、エラーが起きやすい境界の周辺を選んだりします。

選択肢では「仕様に基づく」「入力データと出力結果に着目」「内部の制御構造は考慮しない」といった表現が目印です。逆に「命令を少なくとも1回実行」「分岐を通す」「条件式の真偽」といった表現が出てきたら、ブラックボックスではなくホワイトボックスや網羅基準の可能性が高いです。

観点ブラックボックスで見ること
前提内部構造を見ず、外部仕様を見る
代表例同値分割、境界値分析、デシジョンテーブル
よくある表現入力、出力、仕様、利用者の操作
注意点すべての値を総当たりする技法ではない

たとえばログイン機能なら、正しいIDとパスワードでログインできるか、誤った入力でエラーになるか、未入力のときにどう表示されるかを確認します。このとき、内部でどの関数が呼ばれるかを知らなくても、利用者から見た動作が仕様通りかを判断できます。基本情報では、この「利用者や仕様から見た動作」という視点がブラックボックステストの核心です。内部の行数や分岐ではなく、入力条件と期待結果を対応させる問題だと考えると、選択肢を選びやすくなります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

ホワイトボックステスト

ホワイトボックステストは、プログラムの内部構造、制御の流れ、条件分岐、命令の通過状況に着目するテストです。箱の中身が見えているので「白い箱」と考えると覚えやすいです。ソースコードや設計情報を前提に、どの経路を通したか、どの条件を真と偽にしたかを確認します。

基本情報では、命令網羅、判定条件網羅、条件網羅、複数条件網羅のような網羅基準が絡みます。たとえば、if文の中の処理を一度でも実行したかを見るのか、if文の判定結果を真と偽の両方にしたかを見るのか、条件Aと条件Bそれぞれの真偽を確認したかを見るのかで、必要なテストデータが変わります。

ここで大切なのは、ホワイトボックステストを「詳しく調べるテスト」とだけ覚えないことです。試験問題では、何を網羅したいのかが具体的に書かれます。命令なのか、分岐の結果なのか、個々の条件なのか、条件の組合せなのかを読み分けると、選択肢の消し込みがしやすくなります。

用語着目点ざっくりした見方
命令網羅各命令全ての処理文を通したい
判定条件網羅分岐結果判定を真と偽にしたい
条件網羅個々の条件条件ごとに真偽を出したい
複数条件網羅条件の組合せ真偽の組合せを全て試したい

ホワイトボックステストでよくある勘違いは、コードを全部読むこと自体が目的だと思ってしまうことです。試験で問われるのは、内部構造を前提にして、どの命令や分岐を通したかを確認する考え方です。フローチャートや擬似コードが示され、どの入力なら特定の経路を通るかを考える問題もあります。科目Bの擬似言語学習と完全に別物ではなく、条件分岐を丁寧に追う力がそのまま役に立つ分野だと考えておくと、学習効率も上がります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

同値分割の考え方

同値分割は、同じような結果になる入力値をグループに分け、そのグループから代表値を選ぶ考え方です。たとえば「1以上100以下なら正常、それ以外はエラー」という仕様なら、1〜100の有効同値クラス、0以下の無効同値クラス、101以上の無効同値クラスに分けられます。

この技法の狙いは、すべての値を試さずに効率よくテストすることです。1、2、3、4、5と全部入れるのではなく、同じ扱いになる範囲から代表を選びます。基本情報の問題では「同じ結果が期待されるデータの集合」「有効同値クラスと無効同値クラス」「代表値を選ぶ」という表現が出たら、同値分割を疑うとよいです。

ただし、同値分割だけでは境界のミスを拾いにくい場合があります。プログラムでは「以上」と「より大きい」、「以下」と「未満」を書き間違えることがよくあるため、代表値だけでなく境界の周辺も確認する必要があります。そのため、同値分割と境界値分析はセットで理解するのが自然です。

仕様例同値クラス代表値の例
1〜100は正常有効同値クラス50
0以下はエラー無効同値クラス0
101以上はエラー無効同値クラス101
空欄はエラー無効同値クラス未入力

試験で同値分割を使うときは、有効な範囲だけでなく、無効な範囲も忘れないことが大切です。正常データを一つ選べば十分に見えても、エラーになるはずのデータを確認しなければ、入力チェックの欠陥を見落とす可能性があります。選択肢に「正常な値だけ」「異常な値だけ」のような偏りがある場合は注意してください。有効同値クラスと無効同値クラスの両方から代表を取る、という意識を持つと、問題文の要求に合うテストデータを選びやすくなります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

境界値分析で数を絞る

境界値分析は、同値クラスの境界とそのすぐ隣の値に注目するテスト技法です。入力範囲が「1以上100以下」なら、1、100だけでなく、0、2、99、101のような境界周辺を候補にします。基本情報では、境界値を選ぶ問題で「最小個数」や「適切なテストデータ」を聞かれることがあります。

境界値分析が重要なのは、プログラムのバグが境界に出やすいからです。たとえば、条件式を「x >= 1」と書くべきところを「x > 1」と書けば、1だけが不正に弾かれます。普段の値では問題が見えなくても、境界の値を入れるとミスが表面化します。

問題を解くときは、まず正常範囲と異常範囲を線で分けます。次に、境界そのもの、境界の内側、境界の外側を候補にします。選択肢に大量の数値が並んでいると焦りますが、範囲の中央よりも端を優先する、と覚えておくと判断しやすいです。

  • 範囲条件の上限と下限を探す
  • 以上・以下・未満・より大きいを正確に読む
  • 境界の内側と外側を候補にする
  • 同値分割の代表値と混同しない

なお、開発技術全体の出題範囲を先に整理したい場合は、基本情報技術者試験の出題範囲を科目別に確認してから戻ると、テスト技法の位置づけがつかみやすいです。

境界値分析では、境界そのものを含めるか含めないかが得点の分かれ目です。「1以上」と「1より大きい」はまったく違いますし、「100以下」と「100未満」も違います。問題文の日本語を読み飛ばすと、0、1、100、101のどれを選ぶべきかがずれてしまいます。数値が多く見える問題ほど、まず条件式に直してから数直線に置くのがおすすめです。上限と下限を別々に処理すれば、複雑そうな選択肢でも落ち着いて確認できます。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

基本情報のテスト技法の解き方

同値分割と境界値分析でテストデータを整理するイメージ

網羅基準の見分け方

網羅基準は、ホワイトボックステストでどこまで内部構造を通したかを示す考え方です。基本情報で特に混乱しやすいのは、命令網羅、判定条件網羅、条件網羅、複数条件網羅の違いです。名前が似ていますが、見ている単位が違います。命令、判定、条件、条件の組合せという順番で細かくなると考えると整理しやすいです。

判定条件網羅は、if文全体の判定結果を真と偽の両方にすることを重視します。一方、条件網羅は、判定式の中にある個々の条件が真と偽の両方になることを重視します。たとえば「AかつB」という判定では、判定結果全体と、A・Bそれぞれの真偽は別物です。ここを分けないと、選択肢で引っかかります。

複数条件網羅はさらに厳しく、AとBの真偽の組合せをすべて確認します。条件が二つなら、真真、真偽、偽真、偽偽の四通りです。条件が増えるほど組合せは増えるため、実務では負担も増えますが、試験では「すべての組合せ」という言葉が強いヒントになります。

網羅基準見る単位問題文の目印
命令網羅処理文各命令を少なくとも1回
判定条件網羅判定結果分岐の真偽を両方
条件網羅個々の条件各条件の真偽を両方
複数条件網羅条件の組合せ真偽の全組合せ

網羅基準の問題は、必要なテストケース数だけを丸暗記しても対応しにくいです。条件が一つの問題なら簡単でも、条件が二つ以上になると、判定全体の真偽と個々の条件の真偽がずれることがあります。そのため、式を見たら小さな真偽表を作るつもりで整理しましょう。AとBのどちらが真になったか、判定全体が真になったかを分けて書くだけで、条件網羅なのか判定条件網羅なのかを見抜きやすくなります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

デシジョンテーブル

デシジョンテーブルは、複数の条件と、その条件の組合せによって決まる処理結果を表に整理する技法です。原因結果グラフや決定表という言い方で出ることもあります。条件が一つだけなら単純ですが、条件が二つ、三つと増えると、頭の中だけで組合せを追うのが難しくなります。

基本情報の問題では、「会員である」「購入金額が一定以上」「クーポンを持っている」のように、複数条件で処理が変わる場面が出ます。このとき、条件の真偽を列に並べ、どの列でどの結果になるかを整理するのがデシジョンテーブルです。条件の組合せ漏れを防ぎやすいのが強みです。

デシジョンテーブルと網羅基準でテストケースを選ぶイメージ

選択肢では「複数の条件の組合せ」「条件と動作の対応」「決定表」という表現が目印になります。同値分割や境界値分析が入力値の範囲を分ける話なのに対し、デシジョンテーブルは条件の組合せと結果を整理する話です。入力範囲か、条件組合せかを見分けるだけでも、かなり選びやすくなります。

見分けるコツ

入力値の範囲を代表で選ぶなら同値分割、境界の周辺を選ぶなら境界値分析、条件の組合せと結果を表にするならデシジョンテーブルです。

デシジョンテーブルは、条件が増えたときに特に便利です。条件が二つなら四通り、三つなら八通りと組合せが増えるため、文章だけで追うと漏れが出ます。表にすると、どの条件の組合せでどの処理を行うかが見えるため、仕様の抜けや矛盾も発見しやすくなります。基本情報では実務ほど大きな表は出にくいですが、条件と処理を対応させる問題では、頭の中で小さな決定表を作るだけでも正答率が上がります。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

選択肢を消す手順

基本情報のテスト技法問題は、用語を丸暗記していなくても、問題文の着目点を拾えれば選択肢をかなり削れます。最初に見るべきなのは、問題が「外部仕様」を聞いているのか、「内部構造」を聞いているのかです。外部仕様ならブラックボックス寄り、内部構造ならホワイトボックス寄りです。

次に、数値範囲が出ているかを確認します。範囲が出ていて、同じ結果になるグループから代表値を選ぶなら同値分割です。範囲の端や端の隣を選ぶなら境界値分析です。条件A、条件B、結果Xのように組合せが並んでいるならデシジョンテーブル、if文の条件を通す話なら網羅基準です。

最後に、「すべて」「少なくとも」「組合せ」という言葉を拾います。命令を少なくとも1回なら命令網羅、判定結果の真偽なら判定条件網羅、個々の条件の真偽なら条件網羅、真偽の全組合せなら複数条件網羅です。言葉だけ見ると似ていますが、見る単位を分けると判断できます。

STEP
外部か内部かを見る

仕様・入力・出力ならブラックボックス、制御・条件・命令ならホワイトボックスを疑います。

STEP
範囲か組合せかを見る

数値範囲なら同値分割や境界値分析、複数条件ならデシジョンテーブルを疑います。

STEP
網羅の単位を見る

命令、判定結果、個々の条件、条件の組合せのどれを網羅するのかを読み取ります。

この手順は、過去問を解くときに毎回同じ型で使えます。最初から選択肢を眺めると似た用語に引っ張られるので、まず問題文だけで技法を仮決めします。その後、選択肢を見て、仮決めした観点と合わないものを消します。たとえば「外部仕様」と書かれているのに内部構造の網羅を説明している選択肢は外せます。こうした消去を積み重ねると、完全に覚えていない用語があっても正解に近づけます。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

過去問演習の進め方

テスト技法は、読むだけで理解したつもりになりやすい分野です。過去問演習では、正解したかどうかだけでなく、なぜ他の選択肢が違うのかまで確認すると力がつきます。特にブラックボックスとホワイトボックス、同値分割と境界値分析、条件網羅と判定条件網羅は、誤答選択肢として出やすい組み合わせです。

演習の最初は、問題文に線を引くつもりで読むとよいです。「内部構造」「入力と出力」「境界」「条件の組合せ」「真と偽」のような語句を拾い、どの技法に対応するかをメモします。解答後にそのメモと解説を照合すると、単語暗記ではなく判断パターンとして定着します。

また、開発技術だけを長時間続けるより、科目A全体の中で少しずつ混ぜる方が忘れにくいです。テスト技法は計算問題ほど時間がかからない一方、似た用語で失点しやすいので、過去問を解くたびに「何を見て判断したか」を短く言語化しておきましょう。

  • 解説を読む前に技法名を自分で分類する
  • 誤答選択肢がなぜ違うかを一言で説明する
  • 境界値問題は数直線にして考える
  • 網羅基準は真偽表にして確認する

科目Bのアルゴリズム対策と並行して進めたい人は、基本情報の科目B対策で勉強順を確認すると、学習全体の優先順位を決めやすくなります。過去問量の目安に迷う場合は、基本情報の過去問を何年分解くかも参考になります。

復習では、ノートに長いまとめを作るより、技法名、問題文の目印、選んだ理由の三つだけを残す方が続きやすいです。たとえば「境界値分析、上限と下限、端と隣を選ぶ」のように短く書けば、次に似た問題を見たときに判断軸を思い出せます。間違えた問題は、用語を知らなかったのか、問題文の条件を読み落としたのか、選択肢の日本語を取り違えたのかに分けて復習すると、同じ失点を減らせます。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

まとめ

基本情報のテスト技法は、暗記量が多いように見えて、実は着目点を分けると整理しやすい分野です。外部仕様を見るならブラックボックス、内部構造を見るならホワイトボックス、入力範囲を分けるなら同値分割、境界周辺を見るなら境界値分析、条件と結果の組合せを見るならデシジョンテーブルです。

網羅基準は、命令、判定結果、個々の条件、条件の組合せという単位で見分けます。特に条件網羅と判定条件網羅は混同しやすいので、問題文に出てくる「判定全体」なのか「条件一つひとつ」なのかを丁寧に読むのが大切です。ここが分かると、選択肢をかなり絞れます。

まずはこの記事の表を使って、技法ごとの目印を覚えてください。そのうえで過去問を数問解き、問題文のどの言葉から判断したのかを確認します。基本情報のテスト技法は、短時間で得点源にしやすいテーマなので、苦手な人ほど早めに一度整理しておくと安心です。

復習の結論

「外部仕様・内部構造・入力範囲・境界・条件組合せ・網羅単位」のどれを聞かれているかを見れば、基本情報のテスト技法は選びやすくなります。

テスト技法は、基礎理論の計算や科目Bの擬似言語ほど時間を取られない一方で、きちんと整理すれば安定して得点しやすいテーマです。この記事で扱った目印を使って、まずは数問だけでも過去問を解いてみてください。正解した問題でも、なぜ他の技法ではないのかを説明できれば理解はかなり固まっています。逆に説明できない場合は、ブラックボックス、ホワイトボックス、同値分割、境界値分析、網羅基準のどこで混ざったかを戻って確認しましょう。

この観点は、問題を解いた直後に一文で言い換えると定着しやすいです。用語名だけで終わらせず、「何を見て判断する技法か」まで確認しておくと、似た選択肢が並んだときにも落ち着いて処理できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次