개발이나 테스트 과정에서 모든 것이 완벽히 돌아간다고 생각하는 낙관주의는 매우 위험합니다.
대표적으로 오버플로우나 소수점 연산 등을 예시로 들 수 있을 것 같습니다.
위와 같이 개발이나 유닛 테스트 과정에서 오류가 발생하는 경우를 엣지 케이스(Edge case)
문제나 극한의 상황(Value가 최소 또는 최대일 때), 예를 들어 스피커 볼륨을 최대로 올리니 소리가 왜곡되는 현상을 의미합니다.
이 현상은 엔지니어에게 예상되거나 예상되지 않을 수 있으며, 유연하게 처리할 필요가 있습니다.
소프트웨어 개발자 측면에서 엣지 케이스란
입력하는 value를 알고리즘에 따라 특별하게 처리하는데, 정상 동작하는지 유닛 테스트를 돌릴 때 최소/최대 값 즉 경계값을 넣어 엣지 케이스 테스트를 모두 성공하면 다른 값도 정상 동작한다는 동작 범위와 신뢰할 수 있는 코드라는 의미를 주게 됩니다.