基本情報 平成22年度 春期 問48:テクノロジ系に関する問題
ブラックボックステストにおけるテストケースの設計方法として, 適切なものはど れか。
- aプログラム仕様書の作成文はコーディングが終了した段階で, 仕様書やソースリ ストを参照して, テストケースを設計する。
- bプログラムの機能仕様やインタフェースの仕様に基づき, テストケースを設計する。正答
- cプログラムの処理手順. すなわちロジック経路に基づき, テストケースを設計する。
- dプログラムのすべての条件判定で, 真と備をそれぞれ 1 回以上実行させることを 基準に. テストケースを設計する。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは b です。
ブラックボックステストは「中身を見ずに、入力と出力だけでチェック」するテスト。「機能仕様書」を見て「この入力を入れたらこの結果が出るべき」を確認します。
中身(ソースコード)は見ないので、テスト担当者がプログラム書けなくてもOK。「使う側の目線」でチェックできるのが強み。
👉 覚え方:「black box=中身が見えない箱」=仕様だけ見るテスト。
ほかの選択肢:a 仕様書とソースを両方見る(→ホワイトボックス寄り)/c 処理手順(ロジック)に基づく=ホワイトボックステスト/d 条件判定で真偽を実行=ホワイトボックステスト(分岐網羅)。
なぜこれが正解か
正解は b。ブラックボックステストは、プログラムの内部実装に関する情報を使わず、機能仕様書・インタフェース仕様書のみに基づいてテストケースを設計する。「入力に対し期待される出力が正しく得られるか」を確認する利用者視点のテスト。
各選択肢の解説
- a 仕様書とソースを参照:内部参照する場合はホワイトボックスのアプローチが入る。
- c プログラム処理手順(ロジック経路)に基づく:ホワイトボックステスト(コード網羅)。
- d すべての条件判定で真偽を実行:条件網羅/分岐網羅(ホワイトボックスの一種)。
覚え方・ひっかけ注意
テスト技法の二大分類:ブラックボックス(仕様ベース、利用者視点、同値分割・限界値分析・原因結果グラフ・状態遷移テスト・組合せテスト)/ホワイトボックス(構造ベース、コード網羅、命令網羅・分岐網羅・条件網羅・経路網羅)。「仕様ベース=黒、コードベース=白」と色のメタファで覚える。
理論的背景
ブラックボックステスト技法:(1) 同値分割(Equivalence Partitioning、同等な入力をグループ化し代表値でテスト)、(2) 限界値分析(Boundary Value Analysis、境界値±1でバグが発生しやすい原理)、(3) デシジョンテーブル(条件×アクションの組合せを表形式で網羅)、(4) 原因結果グラフ(論理関係を視覚化、条件間の依存性表現)、(5) 状態遷移テスト(状態マシンの全遷移網羅)、(6) 直交表/All-Pairs(多因子組合せの効率的削減、Pairwise Testing)、(7) シナリオテスト/ユースケーステスト。ISTQB(International Software Testing Qualifications Board)のテスト技法体系として標準化されている。
実務での使われ方
アジャイル・DevOpsではTDD(Test-Driven Development、Red→Green→Refactor)、BDD(Behavior-Driven Development、Given-When-Then、Cucumber/Gherkin)、ATDD(Acceptance Test-Driven Development)が浸透。Property-Based Testing(QuickCheck起源、Hypothesis/jqwik/fast-check、ランダム生成入力で性質検証)は限界値・同値分割の高度版。Mutation Testing(コード変異でテスト品質測定、PIT/Stryker)でテストスイートの強さを定量化。Fuzzing(AFL、libFuzzer、OSS-Fuzz、ランダム入力で脆弱性発見)は大規模に実用化、Google/Microsoft主要OSSの品質を支える。Visual Regression Testing(Percy、Chromatic、Playwright)はUI変更検知の自動化。
試験での位置づけ
FE科目Aでブラックボックス/ホワイトボックスの識別が定番。応用情報・システムアーキテクト・プロジェクトマネージャでは具体的なテスト技法選択、テスト計画策定、品質メトリクス(不具合密度、テストカバレッジ)、リスクベーステスト、テスト自動化戦略(テストピラミッド:Unit→Integration→E2E)が問われる。情報処理安全確保支援士ではセキュリティテスト(SAST/DAST/IAST、ペネトレーションテスト)が深く扱われる。
選択肢の発展補足
品質保証の現代潮流:Shift-Left Testing(開発初期からテスト実施、リリース直前に問題発見しない)/Shift-Right Testing(本番環境での継続テスト、Canary Release、A/B Testing、Feature Flag、Chaos Engineering)/Continuous Testing(CI/CDパイプライン統合)。AI支援テスト:GitHub Copilot/Cursorによるテスト自動生成、機械学習による不具合予測、ビジュアル比較の機械学習化(Applitools)、テストケース自動最適化。LLM活用テスト:仕様書からテストケース自動生成、テストデータ生成、テスト結果の自然言語要約。Quality Gates(SonarQube、Codacy)でCI/CDに品質基準を埋め込む実践が標準化。FE午後やソフトウェア開発技術者で具体テスト技法問題が頻出。ISO/IEC 25010(システム/ソフトウェア品質モデル、8品質特性:機能適合性・性能効率性・互換性・使用性・信頼性・セキュリティ・保守性・移植性)も基本知識。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成22年度 春期 問48/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。