소프트웨어 개발과 프로젝트 관리
테스트 주도 개발(TDD)의 진행 방법으로 적절한 것은?
- A아직 실패하는 테스트를 먼저 작성하고, 그것을 통과시키는 최소한의 코드를 작성한 뒤, 테스트가 통과하는 상태를 유지한 채 리팩터링한다
- B기능 코드를 모두 작성한 뒤에, 그 코드의 분기를 따라가며 테스트 케이스를 만든다
- C테스트는 전담 테스트 담당자가 작성하고, 개발자는 통합 테스트 단계가 될 때까지 테스트를 실행하지 않는다
정답과 해설 보기
정답: A. 아직 실패하는 테스트를 먼저 작성하고, 그것을 통과시키는 최소한의 코드를 작성한 뒤, 테스트가 통과하는 상태를 유지한 채 리팩터링한다
테스트 주도 개발에서는 앞으로 만들 기능의 작은 사양을 테스트로 먼저 작성하고, 실행하여 실패하는 것(레드)을 확인합니다. 다음으로 그 테스트를 통과시키는 최소한의 코드를 작성하고(그린), 테스트가 통과하는 상태를 유지한 채 중복 등을 정리합니다(리팩터링). 이 짧은 반복으로 테스트가 갖춰진 상태를 유지하면서 조금씩 기능을 늘려 갑니다. 임베디드 펌웨어에서도 하드웨어에 의존하는 부분을 교체할 수 있게 하여, 개발용 PC에서 단위 테스트를 반복 실행하는 방식으로 쓰입니다.