AP23 — テスト、品質、開発手法

応用情報技術者試験の科目Aに向けて、テストレベル、同値分割と境界値、短絡評価を含む判定・条件網羅の計算、欠陥密度と品質特性、ウォーターフォール・アジャイル・TDD・CI/CDを、例題とオリジナル問題5問で学びます。

応用情報技術者試験科目Aテスト品質開発手法

AP科目A・第23回 · 2026年度・シラバスVer.7.2に基づく独立した学習資料です。IPAとの提携はなく、合格を保証しません。 シリーズ一覧を見る

  • 改訂日/出典確認日:2026-10-21
  • 試験基準:2026年のIPA応用情報技術者試験シラバスVer.7.2。後年の試験制度に関する提案・検討資料を、2026年の試験範囲の代わりに使用しません。

学習インデックス

PDFページと印刷フッターページは異なる番号体系です。

PDF/印刷 シラバス位置 本稿の範囲
67/63 大分類4 > 中分類12 > 2. 設計 ユニット・統合テスト設計、ソフトウェア品質
71/67 同中分類 > 3. 実装・構築 > (8) ユニットテスト、ブラック/ホワイトボックス、網羅、同値・境界値
72/68 同中分類 > 4. 統合・テスト ソフトウェア統合・検証、ドライバ・スタブ、回帰など
73/69 同節の続き システム統合、システム検証テスト
75/71 同中分類 > 5. 導入・受入れ支援 > (5) 受入れレビュー・テスト、基準、文書
78/74 大分類4 > 中分類13 > 1. 開発プロセス・手法 開発モデル、Agile、XP、Scrum、TDD、CI、CD
79/75 同節 > (3) DevOps 開発・運用連携、CI/CD、Four Keys、オブザーバビリティ、DevSecOps

共通用語表

次の表は三つの言語版でバイト単位に同一である。

English 한국어 日本語
test level 테스트 레벨 テストレベル
unit test 단위 테스트 ユニットテスト
integration test 통합 테스트 統合テスト
system test 시스템 테스트 システムテスト
acceptance test 인수 테스트 受入れテスト
black-box test 블랙박스 테스트 ブラックボックステスト
white-box test 화이트박스 테스트 ホワイトボックステスト
equivalence partitioning (equivalence analysis) 동치 분할(동치 분석법) 同値分割(同値分析法)
boundary-value analysis (limit-value analysis) 경계값 분석(한계값 분석법) 境界値分析(限界値分析法)
statement coverage 구문 커버리지 命令網羅
decision/branch coverage 결정/분기 커버리지 判定条件網羅
condition coverage 조건 커버리지 条件網羅
defect density 결함 밀도 欠陥密度
quality characteristic 품질 특성 品質特性
waterfall 폭포수 ウォーターフォール
Agile 애자일 アジャイル
test-driven development 테스트 주도 개발 テスト駆動開発
continuous integration 지속적 통합 継続的インテグレーション

1. テストをレベルと目的で読む

図書貸出システムの要件R-F01を「貸出資格のある会員が、利用可能な図書個体を借りられる」とする。

学習用の一般的レベル R-F01の追跡例
ユニット Copy.checkoutの状態遷移と規則を分離して確認
統合 LoanService + Copy + LoanRepositoryの連携とインタフェースを確認
システム検証 システム要件に対するエンドツーエンドの貸出を確認
受入れ 購入者・利用者が受入れ基準と業務適合性を評価

IPAはライフサイクル上のテスト作業を示す。この四レベルは有用な学習上の対応付けであり、全組織が同じ名称・境界を使うという主張ではない。**検証(verification)**は成果物が仕様どおりか、**妥当性確認(validation)**は意図した利用と利用者ニーズに適するかを問う。両観点は重なり得る。

ブラックボックステストは仕様と観測可能な振る舞いから設計し、ホワイトボックステストは内部の制御フローやデータ構造を利用する。どちらか一方でも欠陥の不在は証明できない。統合ではボトムアップのドライバ、トップダウンのスタブなどを使える。システムでは機能、非機能、性能、負荷、セキュリティ、回帰テストなどをリスクに応じて組み合わせる。

2. 同値分割と境界値 — 例題1

有効な貸出期間が整数 1..14日なら、同値クラスは<=0無効、1..14有効、>=15無効である。代表値は0, 7, 15。両境界の直外と境界上を選ぶ簡潔で価値の高い集合は {0, 1, 14, 15}。これはこの仕様に対する実用的集合で、網羅的な普遍集合ではない。

3. 構造網羅 — 例題2

短絡評価する判定D = eligible && availableを考える。

  • T1:eligible=true, available=true → Dは真。両条件を真として評価。
  • T2:eligible=false, available=trueを与える → Dは偽。短絡によりavailableは評価されない。
  • T1,T2では判定結果2個中2個で、判定条件網羅は2/2=100%。観測した条件真理値はeligibleのT/FとavailableのTだけなので、条件網羅は3/4=75%。
  • T3:eligible=true, available=false → Dは偽、availableの偽も観測。条件網羅は4/4=100%、判定条件網羅は100%のまま。

命令網羅=実行した対象命令数/全対象命令数×100、判定条件(分岐)網羅=実行した判定結果数/可能な全判定結果数×100、条件網羅=観測した原子条件の真理結果数/全真理結果数×100。高い網羅率は構造を実行した証拠であり、正しさや要件網羅の証明ではない。

4. 品質と測定

確認済み欠陥18件、コード6 KLOCなら、欠陥密度は18/6 = 3 defects/KLOC。分母と単位を明記する。言語、複雑度、測定工程、計数方針の文脈なしに製品間比較するのは危険である。一つの尺度が品質全体を表すわけではない。

Ver.7.2/JIS X 25010の範囲にある八つの製品品質特性は、機能適合性、性能効率性、互換性、使用性、信頼性、セキュリティ、保守性、移植性。後年のモデルを2026年範囲に混ぜない。目的とリスクを特性・基準・測定値に結び付ける。

5. 開発手法

  • ウォーターフォールは段階と成果物を順次計画・管理しやすいが、変更コストを考慮する。プロトタイピングは不確実な要件やUIの早期フィードバックに有効。インクリメンタル・進化的モデルは機能と設計を反復的に拡張する。
  • アジャイルは短いフィードバックと変化への対応を重視する。Scrumは反復的・漸進的で経験主義に基づく。規制、不確実性、フィードバック需要、リスクに応じて手法と統制を選ぶ。
  • テスト駆動開発(TDD)は **失敗するテスト(red)→通る最小コード(green)→リファクタリング(refactor)**という開発プラクティスで、テストレベルではない。
  • 継続的インテグレーション(CI)は頻繁な統合と自動チェックによる迅速なフィードバックであり、本番への自動配備ではない。継続的デリバリは配備可能状態を保つが本番承認を残し得る。継続的デプロイメントは合格した変更を本番へ自動配備する。
  • DevOpsは開発と運用の連携、フィードバック、自動化を改善する。オブザーバビリティ、Four Keys、セキュリティを流れに含むDevSecOpsも範囲である。一つのツールだけでDevOpsが完成するわけではない。

6. オリジナル四肢択一問題

Q1

LoanServiceとLoanRepositoryインタフェースの連携を最も直接確認するテストレベルはどれか。

  • ア ユニットテスト
  • イ 統合テスト
  • ウ システムテスト
  • エ 受入れテスト

正解:イ (2)。 アは一単位の規則を分離する。イは構成要素間の連携・インタフェースを確認するので正しい。ウは完成システムをシステム要件に照らす。エは購入者・利用者の受入れ基準と業務適合性を見る。

Q2

整数1..14日が有効な貸出期間のとき、簡潔で価値の高い境界値集合はどれか。

  • ア {1, 7, 14}
  • イ {0, 7, 15}
  • ウ {1, 2, 13, 14}
  • エ {0, 1, 14, 15}

正解:エ (4)。 アは外側値がない。イは同値代表にはよいが各境界内側の値を欠く。ウは有効域だけである。エは各境界の直外と境界上を含む。

Q3

上のT1とT2だけを実行したとき正しい組合せはどれか。

  • ア 判定50%、条件50%
  • イ 判定75%、条件100%
  • ウ 判定100%、条件75%
  • エ 判定100%、条件100%

正解:ウ (3)。 アは判定の真偽が共に出たことを見落とす。イは分母を混同する。ウは判定2/2、条件結果3/4で正しい。エは短絡によりavailable=falseを観測していない点を見落とす。

Q4

確認済み欠陥18件、コード6 KLOCの最も適切な解釈はどれか。

  • ア 3 defects/KLOCであり、製品間比較には言語・複雑度・工程・計数方針の文脈が必要。
  • イ 0.33 KLOC/defectだけが許される品質尺度。
  • ウ 108 defects/KLOCで、品質全体を証明する。
  • エ 欠陥密度に分母は不要。

正解:ア (1)。 アは計算と注意点が正しい。イは逆数で、唯一という主張も誤り。ウは除算せず乗算し、過大な結論を出す。エは密度の分母を欠く。

Q5

TDDの正しい順序はどれか。

  • ア 最小コード → リファクタリング → 失敗テスト
  • イ 失敗テスト → 通る最小コード → リファクタリング
  • ウ リファクタリング → 本番配備 → テスト
  • エ 要件削除 → テスト省略 → 統合

正解:イ (2)。 アは失敗テストから始まらない。イはred→green→refactor。ウはTDDサイクルでなく、本番配備は別事項。エは要件とテストを除くためTDDではない。

全問が独自作成であり、IPA過去問を使用・翻案していない。

クイックシート

  • 仕様・外部動作→ブラックボックス、内部構造→ホワイトボックス。相互補完する。
  • 1..14:同値代表0,7,15、主要境界0,1,14,15。
  • 網羅率の分子・分母と短絡評価を確認。高率≠無欠陥。
  • 欠陥密度=欠陥数/規模。単位と比較文脈を記録。
  • ユニット→統合→システム→受入れの目的をR-F01につなぐ。
  • TDDはred→green→refactor。CI≠本番自動配備。delivery≠deployment。

セルフチェックと1/3/7日復習

見ずに、(1) R-F01を四テストレベルへ対応、(2) 1..14の同値・境界値を記述、(3) T1〜T3の網羅率を計算、(4) 八品質特性を列挙、(5) TDDとCI/CDの違いを説明する。

  • 1日目:用語とクイックシートを想起しQ1〜Q5を再解答。
  • 3日目:数値・条件を変えて境界、網羅率、欠陥密度を再計算。
  • 7日目:R-F01をテストレベルから開発手法まで一枚に接続し、誤答だけ再試験。

公式出典と注意事項

本資料はIPAその他の出典組織と提携せず、承認も受けていない。学習、合格、試験結果を保証しない。

ブログへ