開発技術
基本情報技術者試験|テスト駆動開発(TDD)における基本的な開発サイクルの順序
テスト駆動開発(TDD)における基本的な開発サイクルの順序として最も適切なものはどれか。
ア設計書を完成させてから全テストを後でまとめて作成し実行する
イ実装を全機能分まとめて仕上げてしまってから最後にテストコードを書いて一括検証する
ウ失敗するテストを先に書き、通す最小実装をしてから整理する
エテストは書かず動作確認を手作業で繰り返して品質を保つ
正解
ウ.失敗するテストを先に書き、通す最小実装をしてから整理する
テスト駆動開発は、まず期待動作を表す失敗するテスト(レッド)を書き、それを通過させる最小限の実装(グリーン)を行い、続いて重複除去など内部構造の改善(リファクタリング)を行う小さなサイクルを繰り返す。設問の順序がこのレッド・グリーン・リファクタに正確に一致する。
?選択肢ごとの解説
ア ×設計書完成後にテストを後でまとめて作る進め方は従来型に近く、テストを先行させて実装を導くTDDの本質とは順序が逆である。
イ ×全機能を実装してから最後にテストを書くのは事後テストであり、テストが実装をリードするTDDの考え方に反する。
ウ ○テスト駆動開発は、まず期待動作を表す失敗するテスト(レッド)を書き、それを通過させる最小限の実装(グリーン)を行い、続いて重複除去など内部構造の改善(リファクタリング)を行う小さなサイクルを繰り返す。設問の順序がこのレッド・グリーン・リファクタに正確に一致する。
エ ×テストを書かず手作業の動作確認に頼る方法は自動テストを前提とするTDDと相いれず、回帰確認も困難になる。
開発技術の他の問題
アジャイル開発で重視される『YAGNI』の考え方を最もよく表しているものはどれか。スクラムにおけるプロダクトバックログの説明として最も適切なものはどれか。スクラムにおいて、バックログの内容と優先順位に責任をもち、製品価値の最大化を担う役割はどれか。あるスプリントは作業見積りの合計が40ポイントで、5営業日で完了予定である。理想的には毎日同じ量を消化するとして、バーンダウ…ソフトウェア開発のカンバン方式において、各工程の仕掛り作業数に上限(WIP制限)を設ける主たる目的として最も適切なものはどれ…リーンソフトウェア開発の原則の一つに『ムダをなくす』がある。この文脈でいうムダ(価値を生まない活動)の具体例として最も適切な…継続的デリバリ(Continuous Delivery)と継続的デプロイ(Continuous…プロセス成熟度モデルであるCMMIの目的の説明として最も適切なものはどれか。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a2-0099
