3. 동시성(concurrency)
요청 하나로 테스트하면 문제가 드러나지 않습니다. 열 개, 백 개가 동시에 들어왔을 때 어떻게 동작하는지를 확인해야 합니다. 더불어 다음 상황이 발생할 수 있기 때문에 확인하는 것이 좋습니다.
• 같은 리소스에 동시 접근하면 어떻게 되는지
• 상태 확인과 상태 변경 사이에 다른 요청이 끼어들 수 있는지
• 원자적으로 실행되어야 할 연산이 분리되어 있지는 않은지
이것은 단위 테스트가 아니라 부하 테스트, 통합 테스트의 영역입니다. 특히 모든 요청이 성공으로 응답했는데, 실제 처리 결과는 누락이나 중복이 있는지를 반드시 검증해야 합니다. 이것이 조용한 버그의 특징이기 때문입니다.