테스트 자동화 도입과 우선순위 판단
전체 기능을 한 번에 자동화하기보다 반복 배포마다 항상 확인해야 하는 핵심 결제 플로우부터 자동화 테스트를 도입했습니다. 우선순위를 정해 단계적으로 적용한 결과, 배포 전 회귀 테스트에 걸리던 시간이 2시간에서 15분으로 줄었고 배포 빈도도 늘릴 수 있었습니다. 모든 것을 한 번에 자동화하려 하지 않고 영향도가 큰 부분부터 시작하는 것이 효율적이라고 생각합니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
전체 기능을 한 번에 자동화하기보다 반복 배포마다 항상 확인해야 하는 핵심 결제 플로우부터 자동화 테스트를 도입했습니다. 우선순위를 정해 단계적으로 적용한 결과, 배포 전 회귀 테스트에 걸리던 시간이 2시간에서 15분으로 줄었고 배포 빈도도 늘릴 수 있었습니다. 모든 것을 한 번에 자동화하려 하지 않고 영향도가 큰 부분부터 시작하는 것이 효율적이라고 생각합니다.
기능 추가 시마다 기존 기능이 깨지는 회귀 버그가 반복되던 문제를 해결하기 위해 주요 시나리오에 대한 E2E 테스트를 자동화했습니다. 처음에는 테스트가 불안정해 오탐이 잦았는데, 대기 조건과 테스트 데이터를 정비한 뒤 안정성을 확보했습니다. 이후 배포 전 자동 테스트에서 실제 회귀 버그 3건을 사전에 잡아낼 수 있었습니다.
테스트 자동화를 도입한 뒤 시간이 지나며 UI 변경마다 테스트가 함께 깨지는 유지보수 부담이 커졌던 경험이 있습니다. 이를 개선하기 위해 UI 요소 대신 안정적인 속성 기반으로 테스트 코드를 리팩터링했고, 이후 UI 변경 시에도 테스트가 쉽게 깨지지 않게 됐습니다. 자동화는 도입만큼 유지보수 설계도 중요하다는 것을 배웠습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.