Manual QA Team에서 자동 회귀 테스트 코드를 인수인계하면서...

Dahun Yoo·2022년 1월 6일
0

Lessons learned

목록 보기
3/13
post-thumbnail

Manual위주의 QA Team에서 자동화 코드를 작성하고, 유지보수하다가 퇴사하게 되었을 때, 인수인계 후기를 작성해봅니다.

아울러 이 글은 아래 글의 후속이기도 합니다.
https://velog.io/@dahunyoo/Manual-QA-Engineer가-UI기반-E2E-회귀-테스트를-자동화-한-후기


퇴사, 그리고 인수인계

개인적인 사정으로, 일본에서 회사를 다니던 저는 퇴사 후 한국으로 귀국을 결심하게 되었습니다.
급여는 글쎄(?) 였지만, 나름 만족하던 회사였고, 해외에서의 생활도 지루한듯 지루하지 않은듯 그냥저냥 만족하고 있었습니다만, 어쩔 수 없는 상황이 있었습니다.

그리고는 매니저와 팀원들에게 말했죠. 퇴사한다고.

팀원 중 한 명이 말했습니다.

"자동화 코드는 어떻게 되는거냐, 현재 테스트에서 자동 회귀 테스트 실행비중이 높지 않은가?"

인수인계를 위해 다른 업무들과 담당 기능 이외에, 코드에 관한 것들도 준비해야했습니다.


인수인계에 대한 계획작성 및 실행

기존 코드들 다시 확인하기 👀

제가 기존에 작성했던 코드들에 대해, 적어도 실행에는 문제없을 지에 관해 둘러보았고, 일부 몇몇 코드에서 Path지정이 조금 문제가 있을 수 있겠따 싶어서 수정하였습니다.
저는 업무용 PC가 Windows였는데요, 인텔리제이에서 일부 Copy path방법에, 윈도우즈에서 실행하면 경로상에 역슬래시(\)가 들어가게 되는데, 인수인계받는 팀원은 맥을 사용하고 있었으므로 실제 실행 시에 파일을 못찾는 issue가 있었습니다. Path From Repository Root 옵션으로 경로를 복사하여 재설정해주었습니다.

코드 실행 방법 및 유지보수 방법 Wiki작성 📝

첫 자동화 코드 작성하면서, 다른 사람도 최대한 유지보수를 쉽게하기 위해 여러 고심을 하였고, 어떻게 하면 코드가 실행되는지, Triggering이 되는 부분부터 유지보수 및 테스트케이스 추가 시의 경우까지 전부 Wiki로 작성하고 있었습니다만, 알기 어려운 부분은 없는지, 추가로 작성이 필요한 부분은 없는지 확인하였습니다.

개발도구 설치 🛠

당연히 인텔리제이를 설치하였습니다. 팀에서 서버에 코드를 올려 사용하기보다는, 로컬에서 실행하는 수준이었으므로, 유지보수를 하던 실행을 하던 어차피 개발도구는 설치해야했습니다.

Git 설치 🐈

코드의 형상관리를 위해 Git부터 설치해야했습니다.

코드 내려받기 ⏬

사내 Github에 코드를 올리긴 했는데....
아래에서 좀 더 자세히 설명합니다.

의존관계 라이브러리 / 패키지 다운받기 📚

일단 Maven으로 의존성을 관리하고 있었고, 인텔리제이가 기본으로 maven이 들어있었기 때문에 큰 어려움은 없었습니다.

chormedriver 설치하기 ⚙️

코드를 실행할 환경의 chrome버전에 맞추어, 새롭게 chromedriver를 설치해주었습니다.

Testrail API 정보 변경 🖋

테스트 실행 결과를, 사내 testrail에 API를 이용하여 리포트하고 있었습니다. 이 API 접근 정보가, 퇴사하는 저의 정보로 되어있었기 때문에, 팀원의 정보로 변경했습니다.

실행해보기 🚎

실제로 실행하며 코드 실행부터 테스트 결과 리포트까지 문제없는지 확인하였습니다.

Trouble shooting 🎯

앞서말한 경로설정때문에 몇몇 설정파일 등을 제대로 읽어들이지 못하는 문제가 있어서, 구글링해가며 해결했습니다.


인수인계 도중

계획을 작성하고, 실행하였으나.. 큰 난관이 있었습니다.

일단 기본업무 및 담당 기능 인수인계만으로도 벅찼다.


테스트 자동화가 주된 업무가 아니라, End to End Blackbox 테스트가 메인 업무였던 저희 팀에서, 저의 담당 기능에 대해, 다른 팀원에게 인수인계하는 것만으로도 시간이 매우 소요되었습니다.
인수인계로는 약 한 달간의 시간이 주어졌으나, 기능의 범위가 워낙 방대했을뿐더러, Background의 Domain지식을 새로 습득해야하는 과정이 필요했기 때문에, 시간이 많이 소요되어 자동 테스트 및 관련 문서에 관한 인수인계가 제대로 진행되지 않았습니다.
또한 후임자의 업무도 동시에 진행되다 보니, 인수인계 시간 자체도 촉박하게 느껴지기도 하였습니다.

코딩에 관한 흥미와 지식 부족

인수받는 팀원 본인이, 코딩에 관한 지식이 일절 없었으며 흥미 또한 없다는 점이 매우 컸습니다. 본인 스스로도, 다각도에서의 테스트 자동화에 대한 욕구와 필요성은 인지하고 있었으나, 코딩 자체에 관한 흥미가 부족하였으며 기본지식인 Java의 문법적 지식 또한 0에 가까웠으므로, 학습코스트가 매우 크게 소모되는 상황에 애시당초 유지보수가 거의 불가능에 가까웠습니다...
Git과 Github 설치도 본인이 어려워하고, 인수인계 시간이 부족하였기 때문에 제대로 Input이 되지 않았고, 급한대로 Zip파일로 export하여 넘겨주는 사태에 이르렀습니다.. Git에 대한 지식을 이해하기 전에, 테스트케이스를 추가/수정하게된다면, remote repository와는 차이가 점점 발생하게 될 것이라 일단 간단한 git의 조작방법을 알려주면서, 관련 교육 사이트들을 알려주기도 하였습니다..

급하게나마 다른 팀원들에게도 지식 공유

자동 테스트에 관한 wiki를 작성하면서, 팀원들에게 공유하긴 했지만 다시금 인수자 이외의 팀원들에게도 공유하였습니다. 혹시나 관심있는 사람이 유지보수 업무를 진행해주었으면 하는 바램이 있었고, 다행히도 몇몇이 관심을 가져주었습니다.


퇴사 후...

퇴사 후 새해인사를 주고받으며 이전 회사 팀원들에게 연락해보고, 이런저런 얘기를 듣게되었습니다. 안건은 바쁘고 이런저런 문제도 있었지만 잘 해결하고 있다. 한국은 춥다던데 얼마나 추운거냐 등등등...

코드에 관한 얘기도 나왔는데 인수자를 제외한 다른 팀원이 조금씩 뜯어가며 씹고맛보고 즐기고 있다고는 하는데...
당장 추가될 테스트케이스는 없지만 앞으로 제대로 쓰여질 수나 있을지 걱정이긴 합니다.


느낀 점

누구나 나와 같은 목표를 생각하고 있는 것도 아니다. 커리어 패스에 관해.

많은 사람들이 자신의 커리어를 위해, 끊임없이 자기계발하고, 도전하고, 성과를 내고 싶어하고, 계속적인 성장을 하고 싶어하고, 그렇게 다음 단계로 나아가고자 합니다. 그러나 또 다른 많은 사람들은 현재의 직장과 업무에 만족하며, 남는 시간을 좀 더 자신이 사용할 가치가 있다고 판단하는 다른 곳에 사용하고자하는 사람들도 많이 있습니다. 그리고 그것은 개인의 선택이므로 존중받아야하고, 비난해야할 것도 아닙니다.
또한 같은 직무라 하더라도, 성장해나가고자하는 방향이 다를 수도 있습니다. 그렇기에 성장을 위해 내가 하는 방향이 옳다고 생각하여도, 다른 사람의 입장에서는 충분히 다를 수 있습니다.


제가 QA엔지니어로 근무하면서 제안받거나, 혹은 동료/선배들이 다음 스텝으로의 성장을 지켜보며, 그리고 업계의 다른 분들께서 위와 같은 여러 직군으로 커리어를 성장시켜나가는 것을 보았습니다.

자동 회귀 테스트를 설계할 때부터, 코딩과 친하지 않은 팀원들을 위해, 어떻게하면 유지보수를 쉽게할 수 있을까? 란 고민을 하였지만, 인수자는 인수인계받으며 코드와 자동화에 대한 지식의 습득보다는, 현재 Manual로도 문제없이 회귀 테스트가 진행되고 있기에 이것에 만족하는 그러한 모습을 인수자로부터 볼 수 있었습니다.
평소의 인수자는, 오히려 전체 일정을 관리하고 테스트 결과를 산출해내어 분석하고, 토의하고 품질을 끌어올리는 그러한 관리역할에 더 중점을 두고 능력을 발휘하는 것을 보아, 테크니컬한 커리어보단 매니지먼트적인 커리어로 성장하길 원해하는 것 같았습니다.

나 개인의 욕심으로 인해 남겨진 팀원들에게 부담을 만든 것은 아닐까?

회귀 테스트를 자동화한 것은 제 개인적인 욕심이 있기도 하였습니다.
물론 저의 업무 효율화를 위한 것이기도 하였지만, 저 개인의 성장을 위한 것이기도 하였으니까요. 이직하면서도 느꼈지만 많은 QA직군에서 자동화에 대한 지식을 요구하고 있고, 앞으로도 테스트 자동화에 대한 기술을 습득하지 않으면 이 업계에서 성장하기 어려울 것이라 느꼈습니다.
개인 포트폴리오로는 E2E 테스트의 자동화에 대해서는 한계가 있다고 생각했고, 실무에서 직접 부딫히면서 여러 issue를 해결해본 경험이 필요하다 생각하였습니다.

비록 퇴사하면 이제 안볼사이라고 퉁칠수도 있고, 심지어 저는 일본에서 한국으로 귀국하기 때문에 동종업계지만 마주칠 일도 없을 수도 있을테지만, 그럼에도 불구하고 인수인계가 제대로 되지 않아 불편한 것은 사실이었습니다.
처음에 거창하게 시작하였으면, 마무리 또한 누구나가 인정할만큼 좋은 결과를 내고 싶었으나, 너무 제 개인적으로만 생각했던 것 같습니다.

회귀 테스트 자동화라는 개인과제를 진행하며, 미래의 일도 나름 고민한다고 하였지만, 좀 더 중요성을 검토하고 조직을 위해서라면 구현하지 말았어야 하지 않았나 싶기도 했습니다.


다음 회사는 감사하게도, 제가 원하던 기술적인 방향으로의 성장이 가능할 것 같은 그러한 조직으로 가게 되었습니다.
다른 팀원들도 기술적인 부분에 있어서 훨씬 많은 지식을 가지고 계실테고, 저는 기존 레거시의 확인을 비롯하여 관련 지식들을 습득해야해서 부단히 노력해야할 그런 환경으로 가기에, 인수인계 시의 지금과 같은 고민은 조금 줄어들 것 같습니다.

그러나 그럼에도 불구하고, 계속해서 조직에 소속되어 일할 신분이기 때문에, 무엇인가를 도입하고 새롭게 시작할때에는 좀 더 신중하게 조직과 내 개인의 입장 사이에서 충분히 고민을 해야겠다고 생각하게 된 계기가 되었습니다.

새해에는 어떻게하면 조직과 함께 성장하고, 조직에 좀 더 기여할 수 있을지 깊게 생각하며 성장하는 한 해가 되도록 노력하여야겠습니다.

새해 복 많이 받으세요!

profile
QA Engineer

0개의 댓글