テスト駆動開発(TDD)
Test-Driven Development
てすとくどうかいはつ
テストコードを先に書き、そのテストを通過するコードを実装する開発手法。Red(テスト失敗)→Green(テスト成功)→Refactor(リファクタリング)のサイクルを繰り返す。コードの品質向上とリグレッション防止に効果的。
Related
他の資格での定義
実装コードを書く前にテストコードを先に作成し、テストが成功するように実装を進める開発手法。TDDとも呼ばれ、テスト→実装→リファクタリングのサイクルを短期間で繰り返す。
テストコードを先に書き、そのテストを通過する最小限のコードを実装し、その後リファクタリングを行うサイクルを繰り返す開発手法。TDDと略され、XPやDevOpsのプラクティスとして広く採用されている。
テストコードを先に書き、そのテストを通過する最小限のコードを実装し、リファクタリングするサイクルを繰り返す開発手法。Red(テスト失敗)→Green(テスト成功)→Refactor(リファクタリング)のサイクルで品質と設計を向上させる。
テストコードを先に書き、そのテストを通過する最小限のコードを実装し、リファクタリングするサイクル(Red-Green-Refactor)を繰り返す開発手法。設計の改善と品質の作り込みを同時に実現する。XPのプラクティスの一つ。
テストコードを先に書き、そのテストを通過する最小限のコードを実装し、リファクタリングするサイクルを繰り返す開発手法。Red(テスト失敗)→Green(テスト成功)→Refactor(リファクタリング)のサイクルで品質と設計を向上させる。
Past Exams
過去問での出題
過去問で 14 回出題(情報処理安全確保支援士試験 4・応用情報技術者試験 3・ITパスポート試験 2・データベーススペシャリスト試験 2・基本情報技術者試験 1・プロジェクトマネージャ試験 1・高度試験 午前Ⅰ 1)
- 令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA の PDF を新しいタブで開きます)
- 令和6年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問23(IPA の PDF を新しいタブで開きます)
- 令和5年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22選択肢(IPA の PDF を新しいタブで開きます)
- 令和4年度 秋期 応用情報技術者試験 午前 問49(IPA の PDF を新しいタブで開きます)
- 令和4年度 秋期 応用情報技術者試験 午前 問50(IPA の PDF を新しいタブで開きます)
- 令和4年度 秋期 高度試験 午前Ⅰ 問17(IPA の PDF を新しいタブで開きます)
- 令和4年度 ITパスポート試験 公開問題 問42選択肢(IPA の PDF を新しいタブで開きます)
- 令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問23(IPA の PDF を新しいタブで開きます)
- 令和3年度 ITパスポート試験 公開問題 問48選択肢(IPA の PDF を新しいタブで開きます)
- 平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA の PDF を新しいタブで開きます)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
ウォーターフォールモデルの各開発工程と対応するテスト工程を V字型に対比させた開発モデル。要件定義に対して受入テスト、基本設計に対してシステムテスト、詳細設計に対して結合テスト、実装に対して単体テストが対応する。
プログラムを実行せずに、ソースコードを解析して誤りや規約違反、脆弱性を検出する手法。開発の早い段階で問題を発見でき、コーディング標準の遵守確認にも使われる。
テストの経過に伴うバグの発見数と解決数の推移をグラフに表したもの。曲線が寝てきたことがテスト終了判断の目安になる。想定と大きくずれる場合は品質やテストの問題を疑う。
テストの進行に伴うバグの累積検出数の推移をグラフ化したもの。バグ曲線とも呼ぶ。S字カーブを描くのが理想的で、バグ検出が収束に向かう(曲線が寝る)段階でテスト完了の判断材料とする。ゴンペルツ曲線やロジスティック曲線で近似する。
プログラムの内部構造(ソースコード)に基づいてテストケースを設計するテスト手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準を用いる。組込みソフトウェアの単体テストで広く使用される。
プログラムの仕様に基づき、内部構造を考慮せずにテストケースを設計するテスト手法。同値分割、境界値分析、デシジョンテーブルなどの技法がある。システムテストや受入テストで使用される。
