---
# System prepended metadata

title: 14-8. テスト
tags: [基本情報技術者試験]

---

# 14-8. テスト
## テストって何？
- バグの洗い出しと修正を行うこと

## どうやってテストするの？
- 単体テスト
- 結合テスト
- システムテスト
の流れ

#### 単体テストって何？
- 各モジュールごとにテストを行うこと
- **ブラックボックステスト**や**ホワイトボックステスト**という方法を使って検証を行う

#### 結合テストって何？
- 複数のモジュールをつなぎあわせて検証を行うこと
- **トップダウンテスト**や**ボトムアップテスト**という方法がある

#### システムテストって何？
- システム全体の検証を行うこと
- 機能テスト
  - 要求された機能がちゃんと動くか
- 負荷テスト
  - 高い負荷の下でも問題ないか
- 性能テスト
  - 処理能力が十分か

などを行う

## ブラックボックステストって何？
- 入力に対し出力が適切かどうかを検証する
- **モジュールの内部構造は意識しない**

#### 入力にどのデータを使うかが重要！
- 「何を検証するため」に与えるデータなのかを明確にすべき
- 基準として**同値分割**と**限界値分析**がある

#### 同値分割って何？
- データ範囲を種類ごとのグループに分ける
- それぞれから代表値を抜き出し、テストデータにする

#### 限界値分析って何？
- 種類ごとのグループの境界を重点的にチェックする
- 境界前後の値をテストデータにする

## ホワイトボックステストって何？
- モジュールの内部構造が正しく作られているかを検証する
- 「どこまでのテストパターンを網羅するか」を決めた上でテストする

#### 網羅基準
- 命令網羅
- 判定条件網羅
- 条件網羅
- 複数条件網羅

## トップダウンテストって何？
- 上位モジュールから先にテストをしていく
- **スタブ**という仮モジュールをつけて確認をする

## ボトムアップテストって何?
- 下位モジュールから先にテストをしていく
- **ドライバ**という仮モジュールをつけて確認をする

## リグレッションテストって何？
- プログラムを修正したときに行うテスト
- 修正内容が、新たなバグを誘発していないかを確認する



###### tags: `基本情報技術者試験`