본문 바로가기
QA

2021년 나의 QA Engineer 커리어 회고

by Zeromk2 2022. 1. 2.
728x90

이제 2022년이 되었네요. 

정말 자동차가 날라다닐까 상상하던 원더키디의 배경이였던 2020년도 훌쩍 지나 이제 2022년이라니 

아니 근데 이거 엔딩 보신분 있나요?

 

 

 

이건 완전 빼박 콩진호의 해

흑호의 해라니 멋지기도 하고 기대도 되는 한해가 될 것 같습니다.

2021년은 참 많은 일이 있던 해 였습니다. 커리어 적으로 거의 폭팔적인 성장을 했던 해 이고 몸이 안좋아 수술도 하고

이직도 역대급으로 많이 했던 해 였지요.

제 커리어에 있어 역대급의 한해였기 때문에 회고를 해볼까 합니다.

 

1. 테스트 자동화, 독학으로 유종의 미를 거뒀다.

저는 Web 자동화는 Selenium + Python을, App 자동화는 Appium + Python을 사용합니다.

2021년 초반에는 이러한 테스트 자동화 셋팅을 처음부터 끝까지 모두 직접 할 수 있게 되었고, 팀 내에 다른 인원의 셋팅까지 도와줄 수 있게 되었습니다. 이 덕분에 Appium 트러블 슈팅법을 많이 알게 되었고 Python으로 테스트 스크립트 작성을 용이하게 하기 위해 코드 구조까지 계속 개선해나가며 어느정도 프레임워크 형태를 갖춘 테스트 자동화 스크립트 환경을 만들게 되었습니다.

그리고 API 테스트는 Postman을 사용합니다.

2021년 초반에는 Postman을 사용해서 매뉴얼 테스트의 지원을 해주는 방식이였지만, 이후에는 API테스트를 위한 시나리오를 collection으로 구상해서 newman 모듈을 통해서 환경변수 파일을 참조하여 돌리는 방식으로 진행할 수 있게 되었습니다. API 하나당 많게는 60개가 넘는 검증 항목도 넣어서 테스트 결과를 Slack 알림으로 받을 수 있게 되었습니다.

Jenkins로 CI/CD 환경을 구축합니다.

2021년 초반에는 단순히 자동화 스크립트를 돌리는 목적으로 사용했지만, 조금 더 잘 활용할 수 있는 방안을 고안해서 Pipeline으로도 만들어 보고 코드 내에서 Jenkins의 파라미터를 사용할 수 있도록 하고 원격 실행도 가능하도록 해서 조금 더 유연하게 Jenkins를 사용할 수 있도록 했습니다.

 

2. 테스트 자동화 전 자동화를 해봤다.

Jenkins를 조금은 마음대로 사용할 수 있게 되었을 때 쯤, 앱 빌드를 하는 개발팀 CI/CD 도구에 QA쪽 Jenkins 트리거를 하는 방법을 구상하게 되었습니다. 그래서 빌드가 완료되면 해당 빌드의 다운로드 URL과 파일명을 파라미터로 QA쪽 젠킨스에 전달해주면 제가 설정해놓은 자동화 파이프라인이 실행되어서 

1. 앱 다운
2. 설치 앱 삭제
3. 다운 받은 앱 설치
4. 앱 실행
5. 앱 실행결과 Slack 알림으로 전송

의 과정을 통해 해당 앱이 정상구동 되는지 자동으로 확인하게 됩니다.
(이후 4번에 BVT 시나리오를 계속해서 붙이게 됩니다)

이렇게 해서 빌드가 되면 따로 신경쓰지 않아도 자동화 머신에서 모든 테스트 과정을 실행하고 결과를 알림으로 주게되었습니다.

 

3. 가지고 있는 노하우를 아낌없이 전달했다.

이게 정말 중요한 과정이였습니다. 
개인적으로 QA주니어 시절 너무 많은 고생을 했어서 (게임회사 출신이다보니...)
후배분들은 그냥 막일처럼 QA업무를 하는게 아니라 조금 더 전문성있는 QA로 시작하기를 바랬습니다.
그래서 회사를 이직할 때마다 같은 팀 분들의 테스트 자동화 셋팅을 도와주고 그들이 스스로 할 수 있도록 모두 문서화 하고 정기적으로 테스트 자동화 내부 세미나도 진행하여서 제가 독학으로 얻었던 것들을 아낌없이 공유했습니다.

'그렇게 하면 본인의 라이벌을 도와주는거 아닌가요?' 라는 말을 하시는 분들이 가끔 계신데.

제가 가장 이해 못하는 말 중에 하나입니다.
제가 독학으로 배우기는 했지만 이미 몇달전, 수년전에 이미 누군가 남겼던 흔적으로 저도 공부를 했고 저 스스로 무에서 유를 창조한 것은 없습니다.
이미 다 공유되어져 오던건데 이걸 나만의 것인냥 혼자 가지고 있으려고 하는게 저는 더 이상하다고 생각합니다.
그리고 만약 그렇게 하다가 QA Engineer의 명맥이 끊기거나 QA가 점점 IT업계에서 도퇴된다면 저는 정말 너무 슬플 것 같네요.
이렇게 되지 않기 위해 저는 하나라도 더 제가 아는 것을 알려드릴 예정입니다.

 

4. 또 입원... 건강 적신호

저는 과거 게임회사를 다닐때 부터 수술을 자주 했습니다.
어깨에 혹이 생겨서 수술하고, 혹이 재발해서 수술하고, 맹장염으로 수술하고...

그런데 올해에는 담석으로 쓸개를 제거하는 수술을 받았습니다. 어흑 마이깟. 이제 수술 그만하고 싶네요.

내년부터 헬스 끊습니다 (진지)

 

5. 인생에 가장많은 한 해 이직 횟수 (연 3회)

 

2021년 한 해에만 다닌 회사가 3군데였습니다.

모빌리티 회사 -> 전문가 매칭 서비스 -> 핀테크 기업 이렇게 옮기게 되었는데 

저는 '나를 찾는 회사가 있다면 간다' 라는 주의이고, 제 나름대로의 회사 퇴사 기준의 3 OUT 항목이 있습니다.
역대급으로 빨리 만족시킨 회사는 '전문가 매칭 서비스' 였던 것 같네요.

그래서 지금의 핀테크 회사로 오게 되었는데 굉장히 만족 중입니다.

가장 많은 도움을 준 2곳!

 

6. 새롭게 시도해본 것 

 

- 정적 분석
해외 QA 관련 포스팅을 보면 이제는 거의 잘 포스팅 되지 않지만 '정적분석' 에 대한 이야기가 있었던 때가 있었습니다.

요고요고 아주 그림의 떡인줄 알았지만


과거 프로그램린이 시절에는 '아니 이걸 어케함?' 이였지만 이제 어느정도 Python을 쓰다듬을 수 있게 되자 관심이 생기게 되었습니다. 
그래서 정적분석 도구인 'Sonarcube'를 그 때 당시 코드형상관리 툴인 Bitbucket에 연동해서 적용해봤습니다.
그래서 master에 merge될 때 마다 소나큐브가 분석한 코드 결과를 볼 수 있게 되었습니다.
도커 이미지로 연동했고 기본 룰만 적용했는데 제 자동화 코드에 제기된 문제점이 250개가 넘었었습니다... 따흑


지금 회사에는 아직 적용하지 않았지만 이것도 필요하게 되면 적용하게 될 것 같습니다.

 

- Slack 알림
Slack 알림도 그냥 Jenkins Slack Notification 플러그인으로 사용하고 있었는데 원하는 양식이 아니라서 뒤적이다가 
Slack에 Blocks 라는 구조의 메시지 양식이 있어서 요것으로 직접 슬랙 알림 함수를 만들어서 사용해봤습니다.
아주 즐거운 경험이였습니다.


- Flask로 API 만들기
항상 필요한 API가 있으면 개발팀에 만들어 달라고 했었는데 QA 내부에서만 필요한 기능이 있어서 직접 만들기로 결심하고 Django보다는 조금 덜 무거운 Flask를 선택해서 공부를 하게 됐습니다. 그래서 자동화 머신에 Flask로 서버를 띄우고 JSON파일의 정보를 가져오거나 수정/삭제 할 수 있는 API를 만들었고 Postman으로 잘 사용중입니다. 

API 늘 새로워 짜릿해 최고야

 

 

 

제 2021년 회고는 여기까지입니다.

이걸 쓰기전에 다른 분들의 회고를 여러개 보았습니다. 
역시나 당연하게도 제가 안해본것들을 시도해서 성공적으로 마무리 하신 분들도 있었고 실패에 대한 회고를 하신 분들도 있었습니다.
사실 성공은 정의할 수 있어도 실패는 정의할 수 없는거라고 보는 편입니다.
성공할 때 까지 한다면 실패한적은 한번도 없는게 아닐까요? 그냥 성공으로 가는 과정이였을 뿐인거겠죠.

이제 2022년에도 저는 작년에 시도조차 해보지 못했던 것들, 조건이 안되서 머리속에서만 넣어놨던 것들, 내가 해보고 싶었던 것들을 하나하나씩 꺼내서 도전해서 성공까지 가볼 예정입니다. 

이제 1년 뒤 2022년 회고에서는 한층 더 성장한 제가 있기를 기대해봅니다!

 

댓글