Spring/test

[테스트 코드] 테스트 코드의 개념과 필요한 이유

라임온조 2023. 3. 8. 10:21

1. TDD와 단위테스트

1) TDD

개념

테스트가 주도하는 개발

방법

  • 테스트 코드를 먼저 작성
  • 테스트가 통과하는 프로덕션 코드를 작성
  • 테스트가 통과하면 프로덕션 코드를 리팩토링

2) 단위테스트

개념

기능 단위의 테스트 코드를 작성하는 것

특징

  • 테스트 코드를 꼭 먼저 작성해야 하는 것은 아님
  • 리팩토링이 포함되지 않음

2. 테스트 코드

1) 장점

  • 빠른 피드백이 가능
    • 테스트 코드가 없으면 코드 수정이 발생한 경우 톰캣을 껐다가 켜는 행위를 반복해야 해서 비효율
  • 자동 검증 가능
    • 포스트맨이나 System.out.println()을 사용해서 수동 검증을 하지 않아도 돼서 편리
  • 개발자가 만든 기능을 안전하게 보호
    • A라는 기능이 있고 B라는 기능을 추가했을 때 테스트코드가 있으면 A기능이 여전히 되는지 편리하게 확인할 수 있고, 오류 있을 경우 빠르게 찾아내서 수정 가능

2) 종류

  • 자바 - junit
  • DB - DBUnit