사용자 플로우 기반으로 정상·예외 케이스 분리
기능 테스트를 처음 설계할 때 정상 동작만 확인하고 넘어갔다가, 배포 후 엣지 케이스에서 오류가 발생한 경험이 있었습니다. 그 이후로 저는 꼭 예외 상황을 먼저 생각합니다.
사용자가 예상하지 않은 방식으로 기능을 쓸 때 어떻게 되는가를 기준으로 케이스를 작성합니다. '이렇게 쓸 리 없다'고 생각한 케이스에서 오류가 나는 경우가 의외로 많았습니다. 예외를 고려하지 않은 테스트는 절반만 한 것이라고 생각합니다.
예외를 빠뜨린 테스트는 절반입니다. 배포 후 오류보다 설계 시 예측이 낫습니다. 예외를 고려한 테스트가 촘촘합니다. 예외 설계가 배포 후 오류를 막습니다.