Showing Posts From

5시

금요일 오후 5시 59분, 배포 요청이 들어왔다

금요일 오후 5시 59분, 배포 요청이 들어왔다

5시 59분 금요일 오후 5시 59분. 슬랙이 울렸다. "민수님, 급한 배포 건이 있어서요. 월요일 아침까지 올려야 해요." 기획팀 김과장이다. 배포는 내일 토요일 오전 10시래. 내일. 10시. 지금부터 15시간.무슨 변경인데 "어떤 기능이요?" "결제 플로우 일부 수정이요. UX 개선." 결제. 플로우. 가장 건드리면 안 되는 부분이다. "스펙 문서 있어요?" "아, 지금 정리 중이에요. 30분 뒤에 드릴게요." 30분. 6시 30분이면 된다는 거다. 개발은 언제 끝나냐고 물었다. "밤 10시쯤요? 늦어도 11시?" 밤 11시. 그럼 테스트 시작은 자정. 토요일 새벽부터 오전 10시까지. 10시간. 결제 플로우 전체를 10시간 안에. 계산 책상 앞에 앉았다. 계산기를 켰다. 결제 테스트 케이스: 총 147개. 풀 테스트하면 8시간. 리그레션까지 하면 12시간. 시간이 4시간 부족하다. 범위를 줄여야 한다. 어디를.스펙 문서 7시 10분. 스펙이 왔다. 40분 늦었다. 열어봤다. 4페이지. "결제 버튼 위치 변경" "카드 선택 UI 개선" "쿠폰 적용 로직 수정" 로직 수정? "쿠폰이랑 포인트 동시 사용 가능하게" 이건 단순 UI가 아니다. 비즈니스 로직이다. 쿠폰, 포인트, 할인율, 최종 금액. 경우의 수가 몇 개지. 쿠폰 3종류, 포인트 전액/일부, 상품 할인... 최소 20개 케이스. 개발자 호출 개발팀 이대리한테 전화했다. "대리님, 쿠폰이랑 포인트 동시 사용. 테스트 어디까지 해야 돼요?" "음... 일단 정상 케이스만요. 시간 없잖아요." 정상 케이스만. "근데 쿠폰 여러 개 적용은요?" "아, 그건 원래 안 되는 거라 괜찮아요." 원래 안 되는 게 괜찮다는 게 아니라, 이번에 안 건드렸다는 거다. "포인트 부족하면요?" "그것도 기존 로직 그대로요." 기존 로직. 그럼 새로 테스트 안 해도 되나. "근데 화면은 바뀌잖아요." "네, 화면만요." 화면만. 그래도 확인은 해야 한다. 범위 결정 화이트보드에 적었다. 필수:쿠폰+포인트 동시 사용 (정상) 결제 버튼 위치 확인 카드 선택 UI 동작준필수:포인트 부족 시나리오 쿠폰 단독 사용 최종 금액 계산 검증제외:쿠폰 여러 개 조합 배송지 변경 (이번 건 무관) 리워드 적립 (서버 로직, 별도)제외 항목을 보니 불안하다. 배송지는 정말 무관할까. 최종 금액이 배송비에 영향 주지 않나.PM한테 물었다 "배송비 로직은 변경 없죠?" 기획팀 김과장이 답했다. "네, 그건 안 건드렸어요." "확실해요?" "...개발팀한테 확인할게요." 5분 뒤. "아, 배송비 무료 조건이 '할인 전 금액' 기준으로 바뀌었대요." 바뀌었다고. "그럼 쿠폰 쓰면 배송비 나올 수 있다는 거네요?" "네... 그렇네요?" 그렇네요가 아니다. 테스트 케이스 15개 추가다. 8시 30분 여자친구한테 문자 왔다. "저녁 먹자. 치킨?" "오늘 야근. 미안." "또? 금요일인데." "배포." "배포가 뭐길래 매번." 설명할 기운이 없다. "내일 저녁에. 내가 살게." "...ㅇㅇ" ㅇㅇ. 화났다는 거다. 빌드 대기 밤 10시. 빌드를 기다렸다. 개발팀 단톡방을 봤다. "빌드 언제 나와요?" "조금만요. 충돌 해결 중." "11시는 될 것 같아요." 11시. 또 늦는다. 컵라면을 끓였다. 사무실 비상 재고. 매운 맛. 밤샘할 때 먹는 맛. 11시 47분 빌드가 올라왔다. 바로 다운로드. 설치. 앱 실행. 로그인. 상품 담기. 결제 화면 진입. UI가 바뀌었다. 버튼 위치가 아래로. 카드 선택 탭이 깔끔해졌다. 쿠폰 선택. 포인트 입력. 최종 금액 확인. 정상이다. 첫 번째 케이스 통과. 시간은 자정 넘어 12시 3분. 두 번째 케이스 포인트만 사용. 쿠폰 없이. 결제 진행. "오류가 발생했습니다." 터졌다. 재현해봤다. 또 터진다. 찰스 프록시 켰다. 로그 확인. "couponId: null" null을 못 받는다. 개발팀 단톡에 올렸다. "포인트만 쓰면 에러나요. couponId null 처리 안 됨." 이대리가 답했다. "아... 수정할게요. 30분?" 새벽 1시에 30분. 1시 30분이면 다시 빌드. 대기 시간 책상에 엎드렸다. 30분. 잘 수는 없다. 테스트 케이스를 다시 봤다. 우선순위를 재조정했다. null 처리 버그. 심각도 높음. 다른 곳에도 있을까. 배송지 null, 카드 정보 null, 쿠폰 코드 invalid... 체크리스트를 만들었다. Null/Empty 체크:쿠폰 미선택 포인트 0원 배송 메모 없음 카드 없을 때전부 확인해야 한다. 2시 10분 빌드가 또 올라왔다. 1시 30분 약속은 지켰다. 다시 설치. 로그인. 포인트만 사용. 테스트. 통과. 쿠폰만 사용. 통과. 둘 다 사용. 통과. 쿠폰+포인트+배송비. 금액 계산 확인. 9,800원 상품. 2,000원 쿠폰. 3,000원 포인트. 결과: 4,800원 + 배송비 3,000원. 맞다. 근데 할인 전 금액 기준 배송비 무료는 10,000원부터. 9,800원은 300원 모자라니까 배송비 나온다. 이게 맞나. 유저는 혼란스러울 것 같은데. PM한테 물었다 새벽 2시 30분에 슬랙을 보냈다. "배송비 무료 기준이 할인 전 금액이면, 9,800원 상품에 쿠폰 써도 배송비 나와요. 의도 맞아요?" 답이 없다. 당연하다. 잘 시간이다. 기획 의도를 모르겠으면 테스트를 어떻게 하나. 일단 버그는 아니니까 통과 처리. 이슈로 남겼다. "배송비 정책 UX 혼란 가능성 있음. 기획 검토 필요." 3시 47분 결제 완료까지 갔다. 주문 내역 확인. 정상. 쿠폰 차감됨. 포인트 차감됨. 리워드 적립. 확인. 여기까지 8개 케이스 완료. 남은 건 7개. 배송지 변경 케이스, 카드 여러 개 케이스, 할부 개월 수... 눈이 감긴다. 커피를 마셨다. 네 번째. 결제 취소 환불 테스트를 시작했다. 쿠폰 쓴 주문 취소. 쿠폰 복구돼야 함. 취소 완료. 쿠폰함 확인. 없다. 쿠폰이 안 돌아왔다. 다시 해봤다. 또 안 돌아온다. 심각하다. 단톡에 올렸다. "결제 취소 시 쿠폰 복구 안 됨. Blocker." 4시 21분 개발자가 답했다. 이대리가 아니라 팀장이다. "확인했습니다. 수정 중. 5시까지." 5시. 배포까지 5시간 남았다. 5시 13분 빌드 올라왔다. 다시 테스트. 쿠폰 결제. 취소. 쿠폰함 확인. 돌아왔다. 포인트도 확인. 정상. 통과. 남은 케이스 6개. 시간은 5시간. 할 수 있다. 7시 카드 할부 케이스 테스트 중. 3개월 할부. 정상. 6개월. 정상. 12개월. 금액 계산 이상함. 수수료가 두 번 붙었다. 또 버그다. 심각도는 중간. Blocker는 아니다. 12개월 할부 쓰는 사람 많지 않음. 하지만 금액 오류는 민감하다. 올렸다. "12개월 할부 수수료 중복 계산." 답이 없다. 아직 개발팀이 안 왔다. 8시 40분 개발팀이 출근했다. 이대리가 단톡 확인했다. "12개월 할부 버그는 배포 후 핫픽스 가능할까요?" 가능할까요가 아니라. PM이 답했다. "일단 배포하고 다음 주에 수정해요." 다음 주. 유저가 12개월 할부 쓰면 손해 본다. 그냥 배포한다고. 9시 20분 남은 케이스 2개. 배송 메모 특수문자, 긴 텍스트. 둘 다 통과. 테스트 완료. 총 15개 케이스. 버그 3건. Blocker 1건 수정 완료. 중간 심각도 1건 다음 주 수정. 낮은 심각도 1건 이슈 등록. 배포 승인 PM한테 보고했다. "테스트 완료. 배포 가능합니다. 단, 12개월 할부 버그 있음. 다음 주 수정 예정." "고생하셨어요. 10시에 배포 진행할게요." 고생하셨어요. 15시간 일하고 듣는 말. 10시 배포 앱스토어에 올라갔다. 배포 완료. 모니터링 시작. 슬랙, 센트리, 파이어베이스 크래시 리포트. 에러 없다. 30분 지났다. 아직 조용하다. 1시간. 여전히 조용하다. 다행이다. 11시 30분 집에 왔다. 샤워하고 침대에 누웠다. 여자친구한테 문자 보냈다. "끝났어. 저녁 먹자. 7시?" 답이 바로 왔다. "ㅇㅇ 어디?" 아직 화났나. "네가 고르면 내가 살게." "그럼 스테이크." 비싸다. 근데 어쩔 수 없다. "ㅇㅇ" 월요일 출근했다. 슬랙에 알림 하나. CS팀이다. "결제 관련 문의 들어왔어요. 12개월 할부 금액이 이상하대요." 시작됐다. 개발팀 단톡에 포워딩했다. "금요일에 리포트한 버그입니다. 수정 일정 알려주세요." 이대리가 답했다. "오늘 수정해서 내일 배포 가능해요." 내일 배포면 내가 또 테스트한다.금요일 5시 59분. 그 1분이 주말을 날렸다. 근데 배포는 성공했다. 그게 다행인 건가, 불행인 건가. 모르겠다.