Testing

운영 방식

  • 이 문서는 Testing 학습 인덱스로만 사용한다.
  • 상세 내용은 02-practical-backend/testing/ 아래 개념별 문서로 나눈다.
  • 학습한 내용은 하나의 작은 문서에 정리한다.
  • 아직 학습하지 않은 내용을 미리 길게 채우지 않는다.
  • 각 문서는 테스트 목적, 범위, 격리, 유지보수 비용, 기술 답변을 중심으로 작성한다.

학습 산출물

  • 다룰 개념 또는 문제 상황 하나를 고른다.
  • 실제 개발자가 마주치는 증상, 원인, 확인 방법을 먼저 쓴다.
  • 해결책은 장점과 한계를 같이 적는다.
  • 마지막에 핵심 요약과 꼬리 질문을 남긴다.

학습 순서

  1. 테스트가 필요한 이유
  2. Unit Test
  3. Integration Test
  4. Mock과 Stub
  5. Test Fixture
  6. Transactional Test
  7. Test Container
  8. E2E Test

핵심 질문

  • Testing 영역에서 실무적으로 중요한 문제는 무엇인가?
  • 문제를 발견하면 어떤 순서로 원인을 좁히는가?
  • 어떤 해결책이 있고 각각의 한계는 무엇인가?
  • 프로젝트 경험과 어떻게 연결할 수 있는가?
  • 질문을 받으면 어떻게 설명할 수 있는가?

실무 관점

  • 테스트는 버그가 없음을 증명하는 것이 아니라 변경 위험을 줄이는 장치다.
  • 테스트 범위가 넓을수록 신뢰도는 높아지지만 속도와 유지보수 비용이 커진다.
  • 질문을 받으면 어떤 로직을 왜 단위/통합 테스트로 나눴는지 설명한다.

관련 문서

5건의 항목