Showing Posts From

자동화

QA 자동화 투자, 언제까지 기다려야 하나

QA 자동화 투자, 언제까지 기다려야 하나

QA 자동화 투자, 언제까지 기다려야 하나 또 반려됐다 예산 요청서를 냈다. 세 번째다. 결과는 동일. "내년에 검토하겠습니다." 작년에도 들었던 말이다. 재작년에도 들었다. QA 자동화 도구 투자 건이다. 현재 수동 테스트 비중이 70%다. 회귀 테스트만 해도 팀원 3명이 2주를 쓴다. 계산해봤다. 한 달에 수동 테스트 공수가 팀 전체 리소스의 40%다. 이걸 자동화하면 20%로 줄어든다. 남는 시간에 탐색적 테스트를 더 할 수 있다.CFO한테 설명했다. "ROI가 명확하지 않네요." 명확하지 않다니. 수치로 다 보여줬는데. 인건비 절감액까지 계산했다. 도구 도입 비용 대비 2년 안에 회수된다. 장애 감소율까지 예측했다. 그래도 안 된다고 한다. "가시적 효과가 불분명"하단다. 가시적 효과. 지금 팀원들이 수동으로 클릭하는 게 가시적이란 건가. 악순환의 시작 자동화가 없으니 수동 테스트만 한다. 수동 테스트만 하니 시간이 부족하다. 시간이 부족하니 품질이 떨어진다. 품질이 떨어지니 장애가 난다. 장애가 나니 QA 팀이 욕먹는다. 욕먹으니 "QA 인력 충원이 필요하다"고 말한다. 그럼 답이 온다. "인력보다 자동화로 해결하세요." 자동화 예산 달라고 하면? "ROI를 보여주세요." 이게 뭐 하는 짓인가.지난주에 장애가 났다. 결제 프로세스 테스트를 놓쳤다. 수동으로 300개 케이스를 확인하다 빠뜨렸다. 회의가 소집됐다. "왜 놓쳤습니까?" 설명했다. "회귀 테스트 케이스가 너무 많습니다. 자동화가 필요합니다." 대답이 왔다. "그건 변명이고, 프로세스 개선으로 해결하세요." 프로세스로 해결할 수 있으면 진작 했다. 사람이 300개를 2주 안에 다 보는 게 물리적으로 불가능하다. 집에 와서 남편한테 말했다. "자동화하면 해결될 걸 왜 안 해주는 건지 모르겠어." 남편이 말했다. "너네 회사 개발팀도 CI/CD 투자 2년 걸렸어. 다 그래." 그게 위로가 되나. ROI의 함정 경영진은 ROI를 원한다. 명확한 숫자를 원한다. 그래서 계산했다. 자동화 도구 라이선스 비용: 연 3000만원 구축 비용: 초기 5000만원 유지보수 인력: 연 2000만원 총 투자액: 1년차 1억원, 2년차부터 연 5000만원 효과는? 수동 테스트 시간 50% 감소. 팀원 1인당 월 40시간 절감. 8명이니까 월 320시간. 연봉 평균 6000만원으로 계산하면 시간당 인건비 약 3만원. 월 960만원 절감, 연 1억 1500만원. 2년이면 본전이다. 3년차부터는 순이익이다.이 계산을 보여줬다. CFO가 물었다. "장애 감소는 어떻게 측정하죠?" 말했다. "자동화하면 회귀 테스트 커버리지가 올라갑니다. 현재 60%에서 90%로." "그게 장애 감소로 직결되나요?" 직결된다. 당연히 직결된다. 하지만 증명할 데이터가 없다. 아직 자동화를 안 해봤으니까. CFO가 말했다. "다른 회사 사례를 가져오세요." 가져왔다. 카카오, 네이버, 쿠팡 사례. 전부 자동화 투자 후 품질 지표 개선됐다. "우리 회사랑은 다르죠." 뭐가 다른데. 결국 ROI는 함정이다. 증명할 수 없는 걸 증명하라고 한다. 자동화를 해봐야 ROI를 알 수 있는데 ROI를 보여줘야 자동화를 할 수 있다. 닭이 먼저냐 달걀이 먼저냐. 팀원들은 지쳐간다 팀원들은 안다. 자동화하면 일이 편해진다는 걸. 신입 팀원이 물었다. "팀장님, 셀레니움 공부하고 있는데요. 회사에서 쓸 수 있나요?" 말했다. "개인 프로젝트로는 가능해. 회사 공식 도구는 아직이야." "언제 도입되나요?" "모르겠어. 예산이 안 나와." 신입의 눈빛이 꺼졌다. 이게 몇 번째인지 모르겠다. 의욕 있는 팀원들이 자동화를 배워온다. 그런데 회사에선 못 쓴다. 수동으로 클릭하고 엑셀에 결과 적는다. 이게 2024년에 QA 팀이 하는 일이다. 중견 팀원은 이직 준비 중이다. "팀장님, 죄송한데요. 다른 회사에서 제안이 왔어요." "자동화 환경이 잘 되어 있대요." 말렸다. 그런데 말릴 명분이 없었다. 우리 팀에서 배울 게 없다. 수동 테스트 고수가 되는 것 말고는. 이직률이 올라간다. 팀원이 나가면 또 뽑아야 한다. 교육 기간 3개월. 그동안 남은 팀원들이 업무를 커버한다. 자동화 투자 안 해서 생기는 비용이다. 보이지 않는 비용. CFO는 이걸 ROI에 안 넣는다. 우리끼리 시작했다 기다릴 수 없었다. 팀원들이랑 회의했다. "우리끼리 해보자." "오픈소스 도구로." 셀레니움으로 시작했다. 팀원 2명이 주도했다. 업무 시간 20%를 자동화 스크립트 작성에 썼다. 3개월 만에 주요 시나리오 50개를 자동화했다. 회귀 테스트 시간이 2주에서 3일로 줄었다. 수치를 정리해서 다시 보고했다. "실제로 이렇게 효과가 있습니다." 반응이 왔다. "좋네요. 그럼 계속 오픈소스로 하시죠." 허탈했다. 오픈소스로는 한계가 있다. UI 테스트만 가능하다. API, 성능, 보안 테스트는 전문 도구가 필요하다. 리포팅 기능도 없다. 스크립트 유지보수도 손이 많이 간다. 팀원 2명이 자동화 스크립트 관리하느라 다른 일을 못 한다. 자동화를 해도 결국 인력이 부족하다. 제대로 된 도구가 없으니까. 다시 보고했다. "전문 도구가 필요합니다." "성과 더 보여주시고요." 성과를 더 보여주려면 더 많은 스크립트가 필요하다. 더 많은 스크립트를 만들려면 도구가 필요하다. 또 함정이다. 다른 팀은 된다 개발팀은 CI/CD 구축했다. 예산이 나왔다. 깃랩 프리미엄, 쿠버네티스 클러스터, 모니터링 도구. 물었다. "개발팀은 어떻게 예산 받았어요?" 개발팀 리드가 말했다. "배포 자동화 안 하면 서비스 못 돌린다고 했죠." 그렇게 말할 수 있구나. 우리는? 테스트 자동화 안 해도 서비스는 돌아간다. 품질이 떨어질 뿐이다. 품질은 눈에 안 보인다. 장애 나기 전까지는. 인프라팀도 예산 받았다. 모니터링 도구 APM 솔루션. 연 5000만원짜리. "장애 감지 시간 단축"이 명분이었다. 우리는 "장애 예방"인데 안 된다. 감지는 되고 예방은 안 되는 게 이상하다. 마케팅팀도 예산 받았다. 광고 자동화 플랫폼. 연 8000만원. "매출 증대 효과"가 명분이었다. 우리는 매출을 늘리는 게 아니라 지키는 팀이다. 지키는 건 티가 안 난다. QA는 항상 그렇다. 잘하면 당연하고 못하면 욕먹는다. 예산도 마찬가지다. 개발, 인프라, 마케팅은 투자다. QA는 비용이다. 언제까지 기다려야 하나 다음 분기 예산 회의가 다가온다. 또 요청할 것이다. 네 번째다. 이번에는 뭐라고 하려나. "조금만 더 성과 보여주세요"일까. "내년에 본격 검토하겠습니다"일까. 팀원들한테 뭐라고 말해야 하나. "조금만 더 기다려"? 벌써 3년을 기다렸다. 업계 동향을 본다. 다른 회사들은 AI 기반 테스트 자동화를 한다. 우리는 아직 셀레니움도 제대로 못 쓴다. 격차가 벌어진다. 우리 팀원들의 경쟁력도 떨어진다. 이직한 팀원한테 연락이 왔다. "팀장님, 여기 진짜 좋아요. 자동화 환경 완벽해요." "팀장님도 이직 고려해보세요." 고민된다. QA 리드로 13년 일했다. 이 회사에서 팀을 키웠다. 하지만 투자받지 못하는 팀을 이끄는 게 의미가 있나. 집에 와서 남편한테 말했다. "나도 이직할까봐." 남편이 말했다. "투자 안 하는 회사는 다 그래. 떠나는 게 맞을 수도." 근데 어디를 가도 비슷하지 않을까. QA는 어디서나 우선순위가 낮다. 아니다. 지금보다 나은 곳은 있다. 최소한 자동화 환경은 있는 곳. 이력서를 꺼냈다. 수정할 게 많다.예산은 언제 나올까. 팀원들은 몇 명이나 더 나갈까.

팀원이 자동화 테스트를 짜지 않고 수동으로 진행했다

팀원이 자동화 테스트를 짜지 않고 수동으로 진행했다

또 수동으로 했다 월요일 아침이다. 스탠드업 미팅에서 민준이가 말했다. "금요일 배포된 기능, 수동 테스트 완료했습니다." 순간 머리가 아팠다. 저번 주에 말했다. 저번 달에도 말했다. "이거 반복되는 거니까 자동화 스크립트 짜두자." 민준이 대답은 똑같다. "네, 다음엔 꼭 하겠습니다." 다음은 안 온다. 항상 지금이다.회의 끝나고 민준이 붙잡았다. "왜 또 수동으로 했어?" 민준이가 말한다. "자동화 짜는 게 2시간 걸리는데, 수동으로 하면 30분이면 돼요." 맞는 말이다. 지금 당장은. 그런데 이 테스트, 매주 한다. 한 달이면 4번. 1년이면 48번. 30분 × 48번 = 24시간. 자동화 2시간 투자하면 22시간 세이브다. 이 계산을 설명했다. 민준이가 고개를 끄덕인다. "아, 그렇네요." 그런데 다음 주에 또 수동으로 한다. 설득이 일이 됐다 점심 먹으면서 팀원들한테 또 말했다. "자동화 가능한 건 자동화하자. 우리가 수동 테스트만 하려고 QA 한 거 아니잖아." 다들 고개를 끄덕인다. 이해는 한다. 실천을 안 할 뿐이다. 지현이가 말한다. "팀장님, 자동화 스크립트 짜면 나중에 유지보수도 해야 되잖아요." 맞다. 유지보수는 필요하다. 그런데 수동 테스트는 유지보수가 없나? 매번 똑같은 걸 클릭하는 게 유지보수 아닌가? "UI 바뀌면 스크립트 다 고쳐야 돼요." "그럼 테스트케이스 엑셀도 다 고쳐야 되잖아." "근데 엑셀은 빨리 고치잖아요." "스크립트도 잘 짜두면 빨라." 이런 대화를 3년째 하고 있다.팀장 된 지 3년. 처음엔 직접 자동화 스크립트 짰다. 팀원들한테 보여주면서 "이렇게 하는 거야" 했다. 효과는 있었다. 한 달 정도. 그 다음엔 다시 수동 테스트로 돌아간다. 왜일까. 고민했다. 결론은 간단했다. 당장 급한 일이 자동화보다 많다. 버그 터지면 수정 확인해야 되고. 기획 바뀌면 테스트 다시 짜야 되고. 개발팀에서 "이거 테스트 좀 급하게" 하면 달려가야 되고. 자동화는 중요한데 급하지 않다. 그래서 영원히 미뤄진다. 기술 부채가 쌓인다 우리 팀 자동화 커버리지 37%. 작년에 35%였다. 2% 올랐다고 자랑할 순 없다. 기능은 매달 늘어나는데 자동화는 제자리걸음이다. 계산해봤다. 지금 수동으로 돌리는 테스트 케이스 650개. 한 케이스당 평균 3분. 650 × 3분 = 1950분 = 32.5시간. 배포 전에 풀 테스트 돌리면 팀원 8명이 하루 종일 달라붙는다. 그래서 요즘엔 풀 테스트 안 한다. 리스크 높은 것만 골라서 한다. 리스크 낮다고 판단한 곳에서 버그가 나온다. 그럼 또 내 책임이다. 경영진한테 보고할 때마다 물어본다. "자동화율이 왜 이렇게 낮죠?" 설명한다. "인력 대비 기능 증가 속도가 빨라서, 자동화 짤 시간이 없습니다." "그럼 자동화 전담 인력 뽑으시죠." "예산 승인 부탁드립니다." "지금은 어렵고요." 이 대화도 2년째다.개발팀은 기술 부채 쌓이면 리팩토링 스프린트 만든다. QA팀은 그런 거 없다. 테스트 자동화 부채는 눈에 안 보인다. 배포는 된다. 품질이 낮아질 뿐이다. 품질이 낮아지면 장애가 난다. 장애 나면 포스트모템 쓴다. "재발 방지 대책: 해당 케이스 테스트 자동화" 그 자동화, 누가 언제 하나. 또 급한 일 밀려온다. 악순환이다. 다른 회사는 어떨까 QA 리드 모임에서 만난 선배가 말했다. "우리 회사는 자동화 안 하면 코드 리뷰에서 반려해." 부럽다. 그 회사는 자동화가 문화다. 우리 회사는? 자동화는 "하면 좋은 것". 필수가 아니라 옵션이다. 옵션은 항상 스킵된다. 다른 선배는 말했다. "자동화 전담팀 만들었어. 3명." 더 부럽다. 우리 팀은 8명 전부 기능 테스트에 매달린다. "그 전담팀이 자동화 프레임워크 다 구축해놨어. 다른 팀원들은 거기다 케이스만 추가하면 돼." 완벽한 구조다. 우리 팀은 프레임워크도 제각각이다. Selenium 쓰는 사람, Playwright 쓰는 사람, Cypress 쓰는 사람. 통일하자고 했는데 각자 익숙한 게 다르다. "그냥 편한 거 쓰세요." 이렇게 말한 내가 문제다. 내가 할 수 있는 건 고민했다. 팀원들 탓할 수는 없다. 바쁜 건 사실이니까. 그럼 뭘 바꿔야 하나.자동화 시간을 업무 시간에 명시적으로 넣기.매주 금요일 오후는 자동화 작업 시간. 다른 일 시키지 않기.자동화 성과를 평가에 반영.수동 테스트만 하면 보통. 자동화 구축하면 좋음.작은 것부터 시작.30분짜리 테스트부터 자동화. 성공 경험 쌓기.템플릿 만들기.자동화 스크립트 시작 템플릿. 복붙해서 시작할 수 있게.이걸 이번 주 1on1 때 팀원들한테 말할 것이다. 그래도 답답하다 솔직히 말하면. 이런 걸 내가 챙겨야 한다는 게 피곤하다. 자동화는 기본이어야 한다. "자동화 하세요"가 아니라 "자동화 안 한 이유가 뭐죠?"가 되어야 한다. 그런데 현실은 반대다. 개발자들은 테스트 코드 안 짜면 리뷰 통과 안 된다. QA는 자동화 안 해도 아무도 안 물어본다. 이게 QA의 현실이다. 13년 했는데 이건 안 바뀐다. 개선은 되는데 본질은 그대로다. 자동화는 여전히 옵션이고. 품질은 여전히 QA만의 책임이고. 기술 부채는 여전히 눈에 안 보인다. 퇴근길에 생각했다. 내년에도 똑같은 고민 할 것 같다. 그래도 해야 한다. 안 하면 더 심해지니까.수동 테스트는 빠르지만, 반복되면 가장 느리다.