테스트 주도 개발(TDD)의 테스트 기법
테스트 기법의 종류
  • TDD

수동 테스트

  • 품질 담당자가 UI 를 사용해 기능을 검증
  • 최종 사용자의 사용 경험과 가장 비슷하게 검증
  • 상대적으로 실행 비용이 높고 결과의 변동이 큼
  • 가장 온전한 코드 실행
  • 인수 테스트

소프트웨어 회귀 (Software regression)
원래는 동작했지만 어떠한 시점이후(기능의 수정, 추가 등)로 동작을 하지 않음

image

회귀 테스트 대상은 시간이 갈수록 늘어남

테스트 자동화

  • 기능을 검증하는 코드를 작성
  • 테스트 코드 작성 비용이 소비되지만 실행 비용이 낮고 결과의 신뢰도가 높음
  • 테스트 코드 작성과 관리가 프로그래머 역량에 크게 영향 받음

인수 테스트

인수받기 전 테스트

  • 배치된 시스템을 대상으로 검증
  • 전체 시스템 이상 여부 신뢰도가 높음
  • 높은 비용 (작성비용, 관리비용, 실행비용)
  • 피드백 품질이 낮음 (현상은 드러나지만 원인은 숨겨짐)

단위 테스트

  • 시스템의 일부(하위 시스템)을 대상으로 검증
  • 낮은 비용
  • 높은 피드백 품질
  • 전체 시스템 이상 여부 신뢰도가 높음