소프트웨어 개발과 프로젝트 관리

테스트 주도 개발(TDD)의 진행 방법으로 적절한 것은?

  1. A아직 실패하는 테스트를 먼저 작성하고, 그것을 통과시키는 최소한의 코드를 작성한 뒤, 테스트가 통과하는 상태를 유지한 채 리팩터링한다
  2. B기능 코드를 모두 작성한 뒤에, 그 코드의 분기를 따라가며 테스트 케이스를 만든다
  3. C테스트는 전담 테스트 담당자가 작성하고, 개발자는 통합 테스트 단계가 될 때까지 테스트를 실행하지 않는다
정답과 해설 보기

정답: A. 아직 실패하는 테스트를 먼저 작성하고, 그것을 통과시키는 최소한의 코드를 작성한 뒤, 테스트가 통과하는 상태를 유지한 채 리팩터링한다

테스트 주도 개발에서는 앞으로 만들 기능의 작은 사양을 테스트로 먼저 작성하고, 실행하여 실패하는 것(레드)을 확인합니다. 다음으로 그 테스트를 통과시키는 최소한의 코드를 작성하고(그린), 테스트가 통과하는 상태를 유지한 채 중복 등을 정리합니다(리팩터링). 이 짧은 반복으로 테스트가 갖춰진 상태를 유지하면서 조금씩 기능을 늘려 갑니다. 임베디드 펌웨어에서도 하드웨어에 의존하는 부분을 교체할 수 있게 하여, 개발용 PC에서 단위 테스트를 반복 실행하는 방식으로 쓰입니다.

이 분야 연습하기 분야로 돌아가기

소프트웨어 개발과 프로젝트 관리의 다른 문제

  1. 지속적 통합(CI)의 설명으로 적절한 것은?
  2. 지속적 전달과 지속적 배포의 차이에 대한 설명으로 적절한 것은?
  3. 어떤 업무 시스템의 요구사항 중 비기능 요구사항에 해당하는 것은?
  4. UML에서 전기밥솥의 제어 소프트웨어처럼 이벤트(버튼 누름, 타이머 만료, 온도 도달 등)에 의해 객체의 상태가 어떻게 바뀌는지를 나타내는 데 적합한 다이어그램은?
  5. UML에서 여러 객체 사이에서 주고받는 메시지(호출이나 응답)를 시간 순서대로 위에서 아래로 늘어놓아 나타내는 다이어그램은?