Testing
운영 방식
- 이 문서는 Testing 학습 인덱스로만 사용한다.
- 상세 내용은
02-practical-backend/testing/ 아래 개념별 문서로 나눈다.
- 학습한 내용은 하나의 작은 문서에 정리한다.
- 아직 학습하지 않은 내용을 미리 길게 채우지 않는다.
- 각 문서는 테스트 목적, 범위, 격리, 유지보수 비용, 기술 답변을 중심으로 작성한다.
학습 산출물
- 다룰 개념 또는 문제 상황 하나를 고른다.
- 실제 개발자가 마주치는 증상, 원인, 확인 방법을 먼저 쓴다.
- 해결책은 장점과 한계를 같이 적는다.
- 마지막에 핵심 요약과 꼬리 질문을 남긴다.
학습 순서
- 테스트가 필요한 이유
- Unit Test
- Integration Test
- Mock과 Stub
- Test Fixture
- Transactional Test
- Test Container
- E2E Test
핵심 질문
- Testing 영역에서 실무적으로 중요한 문제는 무엇인가?
- 문제를 발견하면 어떤 순서로 원인을 좁히는가?
- 어떤 해결책이 있고 각각의 한계는 무엇인가?
- 프로젝트 경험과 어떻게 연결할 수 있는가?
- 질문을 받으면 어떻게 설명할 수 있는가?
실무 관점
- 테스트는 버그가 없음을 증명하는 것이 아니라 변경 위험을 줄이는 장치다.
- 테스트 범위가 넓을수록 신뢰도는 높아지지만 속도와 유지보수 비용이 커진다.
- 질문을 받으면 어떤 로직을 왜 단위/통합 테스트로 나눴는지 설명한다.
관련 문서