단위 테스트
단위 테스트는 테스트 가능한 가장 작은 단위로 나누어 예상대로 실행되는지 확인 하는 테스트다.
- 정확하게 정해진 단위는 없다.
- 일반적으로 메소드, 클래스 단위로 진행한다.
- 더 작은 단위로 나눌수록 복잡성이 낮아지고 테스트하기 수월하다.
- 즉, 단위 테스트를 최대한 간단하고 디버깅하기 쉽게 작성 해야한다.
통합 테스트
통합 테스트는 단위 테스트보다 좀 더 큰 동작의 확인을 위해 여러 모듈들을 조합해서 이들이 서로 원하는대로 실행되는지 확인하는 테스트다.
- 주로 자신이 짠 코드 외에 다른 코드(라이브러리 등)을 포함하여 테스트를 진행한다.
- 단위 테스트보다 더 많은 코드를 실행하기 때문에 디버깅이 쉽지 않다는 단점이 있다.
- 그러나 단위 테스트에서는 발견하지 못했던 에러를 발견할 수 있다는 장점이 있다.
인수 테스트
인수 테스트는 유저 시나리오에 맞춰 수행하는 테스트다.
- 비즈니스적인 모임에 의해 시나리오가 결정된다.
- 개발자느 이에 의거하여 시나리오에 맞게 테스트를 작성한다.
- 누가, 어떻게, 무엇을 할 것인지 중점을 맞춰서 진행한다.
- API를 확인하는 테스트이기도 하다.