7.2 단위 테스트와 통합 테스트


단위 테스트: 애플리케이션 개별 모듈을 독립적으로 테스트하는 방식

통합 테스트: 애플리케이션을 구성하는 다양한 모듈을 결합해 전체적인 로직이 의도한 대로 동작하는지 테스트하는 방식

시스템 테스트: 소프트웨어 개발 프로세스의 일부로서 전체 시스템이 요구 사항을 충족하는지 확인하는 테스트방식
( 일반적으로 개발자가 아닌 테스트 엔지니어에 의해 수행되며, 사용자가 실제로 시스템을 사용하는 것과 유사한 환경에서 수행 )

인수 테스트: 사용자 또는 고객이 소프트웨어가 요구 사항을 충족하는지 확인하는 테스트
( 일반적으로 시스템 테스트 이후에 수행되며, 사용자가 실제로 소프트웨어를 사용하는 것과 유사한 환경에서 수행 )

7.2.1

단위 테스트의 특징

  • 테스트 대상의 범위를 기준으로 가장 작은 단위의 테스트 방식
  • 일반적으로 메서드 단위로 테스트를 수행하게 되며, 메소드 호출을 통해 의도한 결과값이 나오는지 확인하는 수준으로 테스트 진행
  • 테스트 비용이 적게 들기 때문에 테스트 피드백을 빠르게 받을 수 있음

7.2.2

통합 테스트의 특징

  • 모듈을 통합하는 과정에서의 호환성 등을 포함해 애플리케이션이 정상적으로 동작하는지 확인하기 위해 수행하는 테스트 방식
  • 단위 테스트는 모듈을 독립적으로 테스트하는 반면 통합 테스트는 여러 모듈을 함께 테스트해서 정상적인 로직 수행이 가능한지 확인
  • DB나 네트워크 등 외부 요인들을 포함하고 테스트를 진행하여 애플리케이션이 온전히 동작하는지 테스트함
  • 수행할 때마다 모든 컴포넌트가 동작해야 하기 때문에 태스트 비용이 큼

+ Recent posts