ソフトウェア開発とプロジェクト管理

テスト駆動開発(TDD)の進め方として、適切なものはどれか。

  1. Aまだ失敗するテストを先に書き、それを通す最小限のコードを書いてから、テストが通る状態を保ったままリファクタリングする
  2. B機能のコードをすべて書き終えてから、そのコードの分岐をたどってテストケースを作る
  3. Cテストは専任のテスト担当者が書き、開発者は結合テストの段階になるまでテストを実行しない
答えと解説を見る

正解:A. まだ失敗するテストを先に書き、それを通す最小限のコードを書いてから、テストが通る状態を保ったままリファクタリングする

テスト駆動開発では、これから作る機能の小さな仕様をテストとして先に書き、実行して失敗すること(レッド)を確かめます。次にそのテストを通す最小限のコードを書き(グリーン)、テストが通る状態を保ったまま重複などを整理します(リファクタリング)。この短い繰り返しで、テストがそろった状態を保ちながら少しずつ機能を増やします。組込みのファームウェアでも、ハードウェアに依存する部分を差し替えられるようにして、開発用のPC上で単体テストを繰り返し実行する使い方がされます。

  • A. 正しい。レッド(失敗するテスト)、グリーン(通す最小のコード)、リファクタリングの順に繰り返します。
  • B. コードを先に書いてからテストを作る従来の順です。テスト駆動開発ではテストを先に書きます。
  • C. テスト駆動開発では、開発者自身が書いたテストを、コードを書くたびに実行します。
この分野を解く 分野ページへ

関連する計算ツール

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

ソフトウェア開発とプロジェクト管理のほかの問題

  1. 継続的インテグレーション(CI)の説明として、適切なものはどれか。
  2. 継続的デリバリーと継続的デプロイの違いの説明として、適切なものはどれか。
  3. ある業務システムの要件のうち、非機能要件に当たるものはどれか。
  4. UMLで、炊飯器の制御ソフトウェアのように、イベント(ボタンの押下、タイマの満了、温度の到達など)によってオブジェクトの状態がどのように変わるかを表すのに適した図はどれか。
  5. UMLで、複数のオブジェクトの間でやり取りされるメッセージ(呼出しや応答)を、時間の順に上から下へ並べて表す図はどれか。