1. 에지 케이스(edge case) 테스트
단일 조건만 테스트하지 말고, 조건의 조합을 테스트해야 합니다. A만 참일 때는 통과하지만, A와 B가 동시에 참일 때 실패하는 경우는 매우 흔합니다. 더불어 실제 서비스에서는 생각하지 못한 입력이 들어오기 때문에 다음의 케이스를 테스트해야 합니다.
• 빈 값(null)
• 경계 값(최솟값, 최댓값)
• 반복문의 시작과 끝
2. 실행 흐름(flow)
코드 한 줄이 아니라, 실행 흐름 전체를 따라가며 검증해야 합니다. 특히 비동기 코드에서는 다음을 확인해야 합니다.
• await 누락 여부
• 병렬 처리와 순차 처리의 구분
• 모든 경로에서 에러 핸들링이 동작하는지
• 타임아웃, 재시도 같은 방어 로직이 있는지