밤 늦게까지 여는 카페

단위 테스트란? 본문

For Fun/잡학 지식

단위 테스트란?

Jㅐ둥이 2024. 9. 20. 02:03
반응형

안녕하세요. 9월이지만 아직도 뜨거운 여름이네요.

이번에는 단위 테스트에 대해 공부하고 간단하게 정리해봤습니다.

 

단위 테스트에 대해 공부한 이유는 순전히 인턴십으로 들어오신 분에게 단위 테스트가 무엇인지 명확히 설명하지 못했기 때문입니다.

  • 저와 함께 Playwright를 이용해서 테스트 자동화 프로젝트를 진행했는데 처음에 테스트에 대해 공부하는 시간을 가졌습니다.
  • 이 때, 테스트의 종류에 대해서 공부하며 단위 테스트를 설명해줄 시간을 가졌는데 명확하게 설명을 못 드렸습니다 ㅜ

제가 알고 있는 단위 테스트란 가장 작은 모듈, 함수가 의도한대로 동작하는지 확인하는 것을 의미합니다.

  • 백엔드 쪽 작업을 많이 하다보니 작성하는 테스트 케이스도 함수, 클래스에 대한 것이 많았습니다.

그래서 UI를 이용해서 클릭/터치하며 테스트 하는 것은 단위 테스트와는 거리가 멀다고 생각했습니다.

하지만 실무에서는 단위 테스트를 얘기할 때 UI를 통해서 기능 단위로 테스트를 진행하는 경우도 포함시키는 경우가 많았습니다.
조직, 업무에 따라서 통합 테스트의 간단한 케이스를 단위 테스트라고 칭하는 것으로 이해했습니다.

사실 작업자간 논의를 통해서 합의를 이뤄낼 수 있는 사안이기 때문에 그렇게 중요한 문제는 아니라고 생각합니다만
제 생각이 정리되어 있지 않았어서 가볍게 공부해봤습니다.


1. 단위 테스트

  • 소프트웨어의 가장 작은 단위인 모듈이나 함수 단위로 수행됨
  • 주로 개발자가 작성함


2. 통합 테스트

  • 여러 단위 모듈이 함께 작동하는지 확인하기 위해 모듈 간의 인터페이스나 데이터 흐름이 올바른지 확인함
  • 주로 개발 및 QA팀이 수행함


3. 시스템 테스트

  • 전체 시스템이 요구사항에 맞게 작동하는지를 검증함
  • 실제 사용 환경과 동일한 환경을 준비해서 테스트를 수행함
  • 주로 개발 및 QA팀이 수행함


4. 인수 테스트

  • 최종 사용자가 소프트웨어를 수용할 준비가 되었는지를 확인함
  • 주로 고객이나 사용자에 의해 수행됨
반응형