사용자 스토리 기반 요건 정의+엣지 케이스 테스트 설계로 결
신규 기능 요건을 정의할 때 먼저 사용자가 어떤 목적으로 이 기능을 사용하는지를 정리합니다. 기능 설명보다 사용자 행동 흐름이 먼저입니다. 어떤 상황에서, 어떤 사람이, 무엇을 원하는가를 스토리 형태로 작성하면 구현 방향이 더 명확해집니다. 요건이 정리되면 정상 경로뿐 아니라 예외 상황과 잘못된 입력을 함께 정의합니다. 테스트는 그 요건을 기준으로 케이스를 나눠서 설계하였고, 엣지 케이스를 빠뜨리면 나중에 발견 비용이 더 크다는 것을 경험으로 배웠습니다.
요건 정의가 명확해야 테스트 케이스도 완성도가 올라갑니다. 처음에 요건이 모호한 상태에서 개발을 시작하였다가 나중에 방향을 바꾸는 경험을 한 이후로 이 순서를 지키고 있습니다. 잘못된 출발이 더 큰 비용을 발생시킵니다.