본문 바로가기
Back Side/etc

"Edge case를 발견하는데도 도움이 될 수 있다"의 Edge case란?

by developerBeluga 2022. 10. 11.
728x90
반응형

 

 

 

 

원티드 프리온보딩 백엔드 챌린지에서 시스템 설계 문제에 대한 접근 법으로 최초 설계안을 제시하기 라는 부분이 있었다. 근데 여기에서 시스템의 구체적 사용 사례를 살펴보면 Edge case를 발견하는데 도움이 된다고 멘토님이 말씀하셨다. 여기에서 Edge case가 무엇인지 몰라 정리하고자 한다.

 

Edge case에 대한 설명을 찾아보니 아래와 같은 설명을 읽었다.

알고리즘이 처리하는 데이터의 값이 알고리즘 특성에 따른 일정한 범위를 넘을 경우 발생하는 문제를 가리킨다.

바로 무슨 말인지 이해가 되지 않았다 😅

 

좀 더 찾아본 결과 극단적인 버그이지만 해결할 수 있는 상황라고 이해하게 되었다. 개발자와 기획자는 사용자들이 자신의 설계한 방식대로 서비스를 이용할 것이라 생각한다. 하지만 그것은 매우 위험한 생각이다. 사용자들은 전혀 생각하지 못한 경로와 사용법을 가지고 서비스를 이용하기 때문에 언제든지 극단적인 버그들이 발생할 수 있고 서비스를 이용하는데 어려움을 겪을 수 있다.

 

그렇기 때문에 개발자들은 극단적인 상황을 대비하여 테스트 코드를 작성하는 등 면밀히 검토하여 예상하면 미리 방지할 수 있다.

 

그와 반대되는 용어로는 Corner case가 있다. Edge case가 아닌 모든 버그 경우를 Corner case라고 생각하면 된다. 예를 들어, 본래 잘 동작했던 코드가 프레임워크 업데이트로 인해 동작하지 않는 경우가 생긴다. 이럴 경우 개발팀에서 재현하기도 쉽지 않고 미리 방지할 수 없다.

 

 

참고

https://bakyeono.net/post/2015-05-02-edge-case-corner-case.html

 

엣지 케이스(edge case)와 코너 케이스(corner case) | 박연오

엣지 케이스(edge case)와 코너 케이스(corner case)는 프로그래밍, 디버깅, 단위 테스트 등에서 사용되는 비슷하지만 다른 용어다.

bakyeono.net

 

https://airfocus.com/glossary/what-is-an-edge-case/

 

What Is an Edge Case? Definition and Examples in a Product

An edge case is a type of bug in software development that only occurs under uncommon circumstances. This means that most users won't encounter these types of bugs, which may change how a team approaches handling the bug.

airfocus.com

 

 

 

 

728x90
반응형

댓글