
엣지 케이스와 코너 케이스는 소프트웨어 개발에서 테스트 케이스의 유형을 나타내는 용어입니다.
엣지 케이스는 소프트웨어의 경계나 극단적인 조건을 테스트하는 케이스를 가리킵니다. 이는 일반적인 사용 시나 기본적인 테스트 시나리오에서 벗어난 경우를 다룹니다. 예를 들어, 입력 값이 최대 또는 최소 허용 값에 도달하는 경우, 예상치 못한 입력 값이 들어왔을 때, 또는 특수한 조건에서 발생하는 버그를 확인하는 것이 엣지 케이스의 예시입니다.
예를 들어, 어떤 소프트웨어가 0부터 100까지의 값을 받는다고 가정해봅시다. 엣지 케이스로는 0과 100 사이의 값, 그리고 0 미만이나 100을 초과하는 값이 입력될 때의 동작을 테스트할 수 있습니다.
코너 케이스는 여러 조건이 동시에 만족되는 극단적인 상황을 테스트하는 케이스를 말합니다. 이는 엣지 케이스보다 더 극단적이며 복잡한 조건을 다룹니다. 보통 두 가지 이상의 조건이 조합된 경우를 다룹니다. 이를 통해 소프트웨어가 예상치 못한 조합에 대해 어떻게 동작하는지를 테스트합니다.
예를 들어, 어떤 은행 애플리케이션이 계좌 잔액 확인 기능을 가지고 있다고 가정해봅시다. 코너 케이스로는 잔액이 0인 상태에서 출금을 시도하거나, 잔액이 충분하지만 인터넷 연결이 끊긴 상태에서 이체를 시도하는 경우 등이 있을 수 있습니다.
요약하자면, 엣지 케이스는 경계값이나 극단적인 상황을 테스트하는 것이고, 코너 케이스는 여러 조건이 결합된 극단적인 상황을 테스트하는 것입니다.