# 14-8. テスト ## テストって何? - バグの洗い出しと修正を行うこと ## どうやってテストするの? - 単体テスト - 結合テスト - システムテスト の流れ #### 単体テストって何? - 各モジュールごとにテストを行うこと - **ブラックボックステスト**や**ホワイトボックステスト**という方法を使って検証を行う #### 結合テストって何? - 複数のモジュールをつなぎあわせて検証を行うこと - **トップダウンテスト**や**ボトムアップテスト**という方法がある #### システムテストって何? - システム全体の検証を行うこと - 機能テスト - 要求された機能がちゃんと動くか - 負荷テスト - 高い負荷の下でも問題ないか - 性能テスト - 処理能力が十分か などを行う ## ブラックボックステストって何? - 入力に対し出力が適切かどうかを検証する - **モジュールの内部構造は意識しない** #### 入力にどのデータを使うかが重要! - 「何を検証するため」に与えるデータなのかを明確にすべき - 基準として**同値分割**と**限界値分析**がある #### 同値分割って何? - データ範囲を種類ごとのグループに分ける - それぞれから代表値を抜き出し、テストデータにする #### 限界値分析って何? - 種類ごとのグループの境界を重点的にチェックする - 境界前後の値をテストデータにする ## ホワイトボックステストって何? - モジュールの内部構造が正しく作られているかを検証する - 「どこまでのテストパターンを網羅するか」を決めた上でテストする #### 網羅基準 - 命令網羅 - 判定条件網羅 - 条件網羅 - 複数条件網羅 ## トップダウンテストって何? - 上位モジュールから先にテストをしていく - **スタブ**という仮モジュールをつけて確認をする ## ボトムアップテストって何? - 下位モジュールから先にテストをしていく - **ドライバ**という仮モジュールをつけて確認をする ## リグレッションテストって何? - プログラムを修正したときに行うテスト - 修正内容が、新たなバグを誘発していないかを確認する ###### tags: `基本情報技術者試験`