품질 인사이트
-
테스트 너머의 QA 엔지니어링 집필 후기
안녕하세요! QA 엔지니어 김명관입니다.제 주위에 계시거나 강의를 통해 만나는 많은 QA 엔지니어, 테스트 엔지니어 분들과 이야기를 나누다 보면 공통된 고민과 오해를 하고 계신 경우가 많이 있었습니다. 제게 따로 고민을 터놓으시는 분들께 제 나름대로의 QA 엔지니어로서 가지고 있는 소신에 대해 이야기 해 드리곤 했어요. 그러나 공통된 고민들을 듣다 보니 '내 주위에 있는 분들만 이런 고민을 하는게 아닐 수도 있겠다.' 라는 생각이 들었습니다.저도 QA 엔지니어로서 아주 긴 시간을 지내오지 않았고 모든 도메인에 존재하는 QA 엔지니어의 깊이와 전문성을 알지는 못합니다. 다만 QA 엔지니어로서 성장에 고민이 있거나 직무에 대한 확신을 가지지 못한 분들께 제가 알고있는, 제가 믿고있는 이야기를 해 드리고 싶었..
2024.12.11
-
LLM 기반 체크리스트 생성 툴 공유
안녕하세요! 원티드랩 QA팀 김명관 입니다. 이전 포스팅에서 원티드의 AI 플랫폼인 LaaS를 이용해 요구사항으로부터 체크리스트를 만들었던 경험을 공유해 드렸습니다. 그 이후 사내에서 관련 내용을 공유드렸고 해당 제품을 담당해주시는 PO님과 미팅을 가지게 되었습니다. 그 과정에서 프롬프트를 더욱 고도화했고 링크만 있으면 누구나 무료로 사용할 수 있도록 개선했습니다. 그 결과 이전보다 훨씬 유효한 체크포인트를 잘 만들어주게 되어 체크리스트와 TC 작성에 많은 시간을 아낄 수 있게 되었습니다. 게다가 누구나 무료로 사용할 수 있게 되어서 공유드리려고 합니다.Wanted LaaS원티드의 LaaS(LLM as a Service)는 고객이 자신의 비즈니스에 적합한 대규모 언어 모델을 손쉽게 도입하고 활용할 수 있..
2024.11.04
-
QA 직무 오프라인 강의 진행 후기
안녕하세요! 원티드랩 QA팀 김명관입니다.올해 초 모 대기업의 직무전환 대상자를 위한 QA 직무 오프라인 강의를 제안받아 준비하고있었습니다. 해당 기업과는 안타깝게도 끝내 일정이 맞지 않아 강의가 미뤄진 상태이지만 같은 강의를 원하는 다른 기업의 연락을 받아 오프라인 강의를 진행하게 되었습니다.그 전에 몇 번은 부담된다는 이유로 거절하였지만 왠지 이번에는 흥미가 생기더라구요 처음 진행해본 QA 직무 오프라인 강의에 대한 후기입니다.강의자료 만들기강의 내용을 어떻게 구성해야 할지 정해야 했기에 문의를 주신 기업과 여러번 이야기를 나누었습니다. 그 과정에서 해당 기업은 왜 QA 직무에 대한 강의를 원하는지, 현재 어떤 문제를 겪고 있는지와 같은 내용부터 해당 기업의 상황에서 해결할 수 있는 방안을 제시해 드..
2024.06.01
-
B2B 제품에 사용성 테스트를 도입하기
안녕하세요! 원티드랩 QA팀 김명관 입니다. 저는 작년 12월부터 기업 고객을 대상으로 하는 대시보드 제품을 담당하고 있습니다. 대시보드 제품로 옮겨와서 느낀 점이 많았지만 그 중에서도 ‘이건 좀 개선 해보고 싶다. ‘ 라고 생각한 것은 제품의 사용성이었습니다. 전에 UX/UI에 대해 조사하게 된 것도 이런 이유 때문이지 않았을까 싶네요. https://ambitious-molecule-2ed.notion.site/2920c3368a1c4e738cf92adca301c220?pvs=4 개인적으로는 사용성에 대한 생각을 대시보드 제품으로 옮기고 나서 하게 된 것이 유저 분들의 피드백이나 개선 요청이 적극적이었기 때문인 것 같습니다. 그리고 저도 연차가 쌓이면서 자연스레 좀 더 넓은 시야를 가지게 되기도 했구..
2024.01.29
-
단점으로 성장하기 - 셀프회고
지금 회사로 이직을 하는 과정에서 정말 많은 고민과 난관들이 있었지만 그중에 가장 뼈저리게 후회했던 것은 바로 내가 한 일을 글로 정리하지 않았던 것입니다. 스프린트가 끝날 때마다 가지는 회고미팅에서도 지난 2~3주 간의 일이 기억나지 않아 “내가 무슨 일이 있었지?” 하며 캘린더를 뒤적이곤 하는데, 한 회사에서 있었던 일들을 기억에만 의존하는 것은 너무 힘든 일일 겁니다. 이직을하고, 내 커리어를 다시 진행하게 된다면 반드시 내가 했던 일들을 정리해둬야겠다. 라고 생각했고 원티드랩에 합류한 2021년 6월부터 저는 제 업무를 기록해왔습니다. 처음에는 원래 목적대로 그저 내가 어떤 업무를 했는지를 기록하는 데 그쳤지만 점점 그 기록에서도 보완할 점들이 보였습니다. 여러번의 양식과 내용을 고쳐가며 현재의 ..
2024.01.29
-
유저가 나를 보게 하는 방법(UX 심리학)
안녕하세요, 원티드랩 QA팀 김명관 입니다. 2022년 말 즈음 문득 스쿼드에서 UX에 대한 검증을 진행하는데 문득 ‘내가 제시하는 UX 개선점이 과연 옳은 개선 방향일까?’ 라는 의문이 들었습니다. 직접 UX에 대해 공부하고 좋은 사례들을 알게 된다면 기획 리뷰, 디자인 리뷰 시간에 좀 더 건설적인 시선으로 참여할 수 있게 될 수 있을 것이라는 기대에 UX에 대해 공부해 보기로 했습니다.이번에는 “UX 심리학” 이라는 책을 구매해서 읽게 되었고, 책의 내용 중 QA 업무에 도움이 되는 내용들을 요약해 보았습니다. 제한적인 시야외부 정보가 유저의 신경계로 전달되기 위해서는 먼저 유저의 시야에 들어와야 합니다. 유저의 시야를 벗어나거나 주변시에 머무르는 콘텐츠는 그 목적을 달성할 수 없어요.인간의 시야는 ..
2024.01.29
-
테스트는 재미있으면 안되나요??
우리 스쿼드의 Dev QA 안녕하세요 원티드랩 QA팀 김명관 입니다. 원티드랩 에서는 2주 단위의 스프린트를 진행하며Dev QA라는 이름의 개발 환경 통합 테스트 기간을 갖고 있습니다. 개발에 참여한 모든 스쿼드 구성원이 참여하여 QA가 작성한 TC나 테스트 맵을 따라 테스트를 수행하고 스테이징 환경에 배포되기 전까지 최대한 버그를 잡아 수정함으로써 요구사항을 충족하는지 점검하죠. 2021년 12월에 UGC 스쿼드에 참여하게 된 후, 2022년 상반기에는 QA 프로세스를 다지고 Dev QA에서 버그를 최대한 찾아 내는 데에 집중했어요. 이 과정에서 Dev QA 방식에 대한 고민과 개선점이 보이기 시작했고 2022년 하반기에는 저의 고민을 해결해 보려는 시도를 하고 있습니다. 그 중 첫 번째로 [스쿼드 구..
2024.01.29
-
웹 접근성, 준수 되었나요?
웹 표준 브라우저의 종류나 버전에 따른 기능 차이가 없이 호환이 가능하도록 제시된 표준. 특정 브라우저나 사용자의 이용 환경과 과도한 플러그인 사용을 방지해 모든 사용자들에게 브라우저의 종류나 버전에 상관없이 동일한 웹 콘텐츠를 제공. 웹 접근성? W3C에서 정의하는 웹 표준의 하나.(웹 표준, 웹 호환성, 웹 접근성) 누구나 웹에 쉽게 접근할 수 있어야 합니다. 일반적인 사용자 뿐 아니라 핸디캡을 지니고 있는 장애인, 노인도 포함! 웹 접근성 준수는 법적 의무 사항 입니다. - 웹 접근성 “인증” 은 의무 사항이 아니지만, “준수” 는 의무 사항 입니다. - 시정 명령 불 이행 시 과태료 부과됨. 법률 근거 국가 정보화 기본 법 제 32조(장애인, 고령자 등의 정보 접근 및 이용 보장) ① 국가 기관 ..
2024.01.29
-
왜 하필 우리는 왼쪽부터 보게 될까요?
안녕하세요 Wantedlab QA팀 김명관 입니다. 얼마 전 재미있는 현상에 대한 글을 읽었고, 공유 드리고 싶어 조사를 진행했습니다. 이 문서는 훌륭하신 분들이 연구를 해봤더니 “이런 현상이 있더라!” 라는 글입니다. 이것에 대해서 왜 이런 현상이 발생 하는가? 에 대해서 얘기 하는 것은 아닙니다. “이런 현상이 있는데 우리는 어떻게 해야 할까?” 라는 관점 에서의 내용으로 작성해 보겠습니다. 당연한 이야기 이지만 우리는 책을 어느 쪽부터 읽나요? 우리는 당연히 책의 내용이 왼쪽부터 쓰여있으니까 왼쪽부터 읽는 것이 당연하죠. 당연한 거고 자연스러운 거지만, 지금 이 시간에는 이걸 낯설게 느껴보시면 도움이 될 것 같습니다. 우리나라를 포함한 전 세계 대부분의 나라들은 글씨를 왼쪽에서 오른쪽으로 쓰고 있습..
2024.01.29
-
Fiddler로 API의 응답 데이터를 조작해 UI를 검증하기
안녕하세요 원티드랩 QA팀 김명관입니다. Fiddler는 클라이언트와 서버 간의 http, https 패킷을 캡쳐할 수 있는 툴입니다. Fiddler로 캡쳐한 패킷을 이용해 API의 응답 데이터 조작과 분석, 모니터링에 사용할 수 있습니다. 그 밖에도 API를 반복하여 요청하거나, 네트워크 속도를 조절 할 수도 있고 테스트 데이터를 임의로 조작하여 UI를 검증할 수 있습니다. 이번에는 Fiddler를 이용해 API의 응답 데이터를 조작하며 UI를 검증하는 몇 가지 방법에 대해 소개해 보겠습니다. Fiddler의 기본적인 구조는 크게 2가지로 나뉘어 집니다. 왼쪽 영역은 Fiddler 실행 후 캡쳐된 HTTP, HTTPS 리스트가 쌓이는 곳으로 여기서 원하는 패킷을 선택하여 우측 메뉴에서 조작, 분석, 모..
2024.01.29
서비스 신뢰성 확보
-
웹 페이지 모니터링 스크립트를 3년 만에 개선한 이유
안녕하세요! 김명관 입니다.2022년에 원티드랩 주요 웹 페이지를 모니터링 하는 스크립트를 만들었다고 공유해 드린 적이 있습니다. (https://chance-doe.tistory.com/9) 그 후로 3년 간 문제없이 잘 써왔고 해당 모니터링 스크립트의 결과를 가지고 3년 간 장애 데이터를 쌓아 여러가지 차트로 현황도 분석하고 있습니다.최근에 저는 이 모니터링 스크립트를 구조부터 모두 싹 바꾸는 작업을 마치게 되었습니다. 왜 그래야 했는지 간단하게 공유해 보겠습니다.기존 스크립트의 문제점기존 스크립트를 비유하자면 CCTV와 같습니다. 지정해둔 사이트를 24시간 감시하고 있는거죠. "야 너 괜찮아?" 라고 툭 툭 찌르면서요. 이 스크립트의 문제점은 스크립트 한 벌 당 하나의 URL만 감시가 가능하다는 것..
2024.12.31
-
파이썬 + 슬랙으로 에러 통계 데일리 요약 받아보기
안녕하세요 원티드랩 QA팀 김명관입니다. 전에 서비스의 헬스체크를 하는 스크립트를 만들어 Google Sheet에 기록하고, Looker Studio로 차트를 만들어 서비스 에러 통계를 확인하는 방법에 대해서 소개해 드린 적이 있습니다. (https://chance-doe.tistory.com/9) 에러 통계 차트를 만든 뒤 몇가지 개선하고 싶은 문제들이 생겼어요. 일단, 이 차트를 많은 분들께서 참고하셨으면 했지만 몇 명만 보게 된다는 문제가 있었습니다. 그리고 저는 매일 아침 해당 페이지에 접속해 어제 에러 통계는 어땠는지 확인하곤 하는데요 이것이 생각보다 귀찮았다는 문제였죠.. 😅 그래서 매일 아침 9시에 슬랙으로 주요 서비스들의 어제자 에러 통계를 보내주는 스크립트를 작성하게 되었는데요 그 과정을..
2024.02.29
-
파이썬으로 이미지 유사도 측정하고 UI 점검하기
안녕하세요! 원티드랩 QA팀 김명관입니다. 전에 공유드린 파파라치를 개선하는 과정에서 파이썬으로 이미지를 다루는 모듈 중에 opencv2라는 모듈도 있다는 사실을 알게 되었고 이 모듈을 사용해 미리 찍어둔 웹 페이지와 현재 상태의 유사도를 비교하고, 어디가 어떻게 달라졌는지 표시할 수 있는 스크립트를 만들게 되었습니다. 네이밍에 재미가 들려서인지 이번엔 숨은그림찾기 계의 대명사 같은 게임인 “히든캐치” 라는 이름을 짓게 되었습니다. opencv2를 이용해 전체 웹 페이지의 UI 상태를 한방에 점검할 수 있는 “히든캐치” 스크립트를 만들어본 과정을 공유해 드리겠습니다! 시작 히든캐치의 시작은 파파라치를 개선하는 작업이었습니다. 점검이 필요한 UI 요소를 스크린샷으로 따두고 Selenium으로 해당 페이지에..
2024.01.29
-
UI, 프론트, 서버를 모두 한방에 점검하는 스크립트 만들기
얼마 전 서비스 전체에 영향을 미치는 수정 사항이 있었어요. 이에 대해서 저희 팀은 여러가지 대비를 했고, 저는 그 중 Python을 이용해 UI와 프론트, 서버의 에러를 점검하는 스크립트를 만들었습니다. 수정 사항으로 인해 영향을 받거나, 유저 유입량이 높은 URL을 수집하고 해당 URL들의 전반적인 상태를 점검하는데 활용했습니다. 전에 공유해드린 적이 있는 Python과 Selenium + Pyautogui + Requests 모듈들로 모든 기능을 구현할 수 있었는데요. 세 가지 모듈 모두 테스트 자동화를 위해 사용할 수 있으며 Requests 모듈은 크롤링, 스크래핑 등 서버에 요청을 보낼 때 사용합니다. 이 세 가지 모듈로 어떻게 UI, 프론트, 서버를 모두 점검할 수 있었는지 공유해 보겠습니다...
2024.01.29
-
Python으로 Wanted 서비스의 헬스 체크하기
안녕하세요 원티드랩 QA팀 김명관입니다. 저희 팀에서는 품질 업무를 위한 다양한 스크립트를 개발하여 활용하고 있습니다. 그 중에는 Wanted를 비롯한 주요 서비스들의 활성 상태를 체크하는 스크립트도 있는데요. 이번 글에서는 Python을 이용하여 Wanted 주요 서비스의 안정성을 체크하는 스크립트를 만들게 된 배경과 운영 방식에 대해 공유 드리려고 합니다. 헬스 체크 스크립트 작성 배경 원티드랩에서는 데이터독을 이용해 서비스와 서버의 상태를 실시간 모니터링 하고 있습니다. 그리고 오토 스케일링 기능을 이용해 유저 유입량에 따라 서버의 리소스를 유동적으로 활용합니다. 하지만, 특정 시점에 유입량이나 서버로의 요청이 비정상적으로 치솟는 경우 자동 스케일업 되는 시간 동안 서비스가 불안정해지는 일이 가끔 ..
2024.01.29
버그 수치 개선
-
개발자 주도 통합 테스트의 매운맛 보기
안녕하세요! 원티드랩 QA팀 김명관입니다. 이번에는 스프린트의 후반에 많은 버그가 발견되는 문제를 해결하기 위해 같은 팀의 김소희님과 함께 시도했던 "개발자 주도 통합 테스트"와 그 결과에 대해 이야기해 보려고 합니다. 새로 개발한 기능을 배포하기 전에 개발자 분들이 스스로 자신이 만든 제품을 테스트하도록 하는 과정에서 이론으로만 알던 내용을 직접 경험할 수 있었습니다. 그리고 이 방법은 생각보다 매운맛이었어요! 테스트를 넘어 더 많은 것을 배울 수 있는 좋은 기회가 되었습니다.문제 발견스프린트를 진행하며 공통적으로 버그의 개수가 굉장히 많다는 것을 알게 되었습니다. 버그를 많이 찾아 수정했다는 것은 배포 전에 리스크를 제거했다는 의미이기도 합니다. 그러나 찾아낸 버그를 살펴보니 정작 그 많은 버그들 중..
2024.09.03
-
제품이 자꾸 내 생각과 다르게 만들어지는 이유
안녕하세요! 김명관 입니다. 예전에 프로젝트를 진행하다보면 '이 기능이 왜 이렇게 만들어졌지? 내가 생각한 건 이게 아닌데..' 하는 상황이 자주 있었습니다. 또 '이 부분은 기획대로 만들어지지 않았는데?' 라고 느끼는 부분들도 있었어요. 지금은 이런 경우들이 굉장히 줄어들었습니다. 예전에는 왜 제품이 내 생각과 다르게 만들어지는 일이 많았을까요? 그리고 지금은 왜 그렇지 않을까요? 제품이 내 생각대로 만들어지지 않았던 경험들과 그것을 어떻게 방지할 수 있었는지 제 경험을 공유해 보겠습니다.오해와 추측모두 동일한 기획 내용을 기준으로 제품을 만들어 가는데 그 결과물이 내 생각과 달랐던 가장 큰 원인은 제 경험에 비추어 볼 땐 오해와 추측이었습니다. 동일한 기획을 읽고 누군가는 A를, 누군가는 B를, 누군..
2024.03.16
-
스쿼드 품질개선 1년 성과 뽑아보기
2022년 12월 말에 스쿼드를 옮기고 나서 지금까지 대략 1년하고 1주일 정도 지난 것 같습니다. 지난 스쿼드에서 얻은 경험을 바탕으로 새로운 스쿼드에서도 품질 개선 활동을 열심히 해왔습니다. 현재 스쿼드에는 어떤 문제가 있는지 파악하고 어떻게 개선할 수 있을지 고민하고 여러가지 활동을 하며 효과를 측정했어요. 그 중 가장 먼저, 그리고 가장 오랜 기간 해온 활동이 있는데요 그것은 월말마다 우리 스쿼드의 상태를 공유하는 일이었어요. 품질을 끌어올리는 일은 저 혼자 할 수 있는 것과 구성원 모두의 힘이 필요한 것이 있다고 생각했고, 구성원 모두에게 “우리 더 잘 해봅시다!”, “이 부분을 개선해 봅시다!” 라고 어필하기 위한 가장 좋은 방법은 스쿼드의 상태를 숫자로 보여드리고 짚어드리며 같이 고민해보는 ..
2024.01.29
-
탐색적 테스트를 더 잘하기
제가 신입 계약직 테스터였던 시절에 무수히 많은 TC를 따라 테스트를 하는 도중 의문이 생겼습니다.‘이 버그는 TC에 없는 행동을 했을 때 발생하네? 이런 버그들이 훨씬 많이 숨어있지 않을까?’역시나 제 예상대로 TC에 없는 행동을 했을 때 많은 버그들이 발견되었고, 때로는 메모리 누수, 패스워드의 평문 전송 등 심각한 문제가 나타나기도 했습니다.이쯤부터 저는 정해진 TC만을 따라 진행하는 테스트 보다 우리가 예상하지 못했던 영역으로 훌쩍 떠나는 테스트를 더 좋아하게 된 것 같습니다.안녕하세요 원티드랩 QA팀 김명관 입니다. 업무 지식 만으로는 채울 수 없는, 진정한 QA의 육감을 발휘할 수 있는 탐색적 테스팅에 대해 공부하고, 업무에 적용해보며 배운 내용을 개인적으로도 잊지 않기 위해 리마인드 하는 글..
2024.01.29
-
버그 분석을 통해 버그를 예방하기
안녕하세요 원티드랩 QA팀 김명관 입니다. 원티드랩 에서는 QA가 스쿼드(목적조직)에 참여해 애자일한 개발환경에서 기획부터 배포에 걸친 스프린트 단위의 프로젝트를 수행합니다. 하지만 제가 원티드랩에 합류할 때 만 해도 팀의 인원이 부족해 스쿼드에 참여하지 못하고 있었죠. 차츰 인원이 충원 되고, 스쿼드에 하나 둘 합류하게 되면서 QA팀의 목표를 세우게 되었습니다. Phase 1. 개발 환경에서 버그 검출률 높이기 QA가 스쿼드에 합류하기 전에는 개발 환경 테스트는 개발자 분들이 진행해 주셨고, QA는 스테이징 환경부터 참여하여 테스트를 진행하였습니다. 그렇다 보니 자연스럽게 스테이징 환경에서 버그 검출률이 높았죠. 문제는 QA가 스테이징 환경에서 테스트를 진행하는 기간에 개발자 분들은 이미 다음 프로젝트..
2024.01.29
자동화
-
생성형 AI로 모의 이력서 테스트 데이터 만들기
안녕하세요! 김명관입니다.요즘 원티드 LaaS를 이용해서 QA팀의 업무를 어디까지 도울 수 있을지 실험해 보고 있습니다. 이전에 공유드렸던 AI를 이용한 체크리스트 생성 툴(https://chance-doe.tistory.com/26)도 저희 팀의 업무 부담을 많이 덜어내 주었는데요. 저희 팀의 또다른 골치거리인 이력서 테스트 데이터도 얘한테 만들어 달라고 하면 좋을 것 같더라구요!그래서 이번엔 원티드 LaaS를 이용해 모의 이력서를 생성해주는 AI 툴을 만들어 보았어요. 팀 내에 공유드렸더니 다들 모의 이력서 퀄리티도 좋고 이력서 만들때 고생하지 않아도 될 것 같다고 너무 좋아하시더라구요.AI를 이용해 테스트 데이터인 모의 이력서를 만들어본 과정과 그 결과물을 간단하게 공유해 드립니다!Wanted La..
2025.01.10
-
생성형 AI로 체크리스트를 만들어보기
안녕하세요! 원티드랩 QA팀 김명관입니다.안타깝게도 QA의 시간은 언제나 부족합니다. 그리고 기능 테스트는 아무리 해도 부족하다고 느껴지죠. 하지만 다행인것은 원티드랩은 참 좋은 테스트 문화가 정착되어 있습니다. 테스터, QA가 아닌 구성원 분들도 테스트에 관심을 가지고 있으며 언제든 필요하다면 테스트를 수행하기 위한 열린 마인드를 가지고 계세요.원티드랩에서는 LaaS라는 생성형 AI 솔루션을 제공하고 있습니다. 이것을 이용해 시간이 부족한 QA와 테스트에 진심인 원티드랩 구성원 분들을 위해 '생성형 AI로 체크리스트를 만들어 낸다면 테스트에 필요한 시간이 많이 줄어들겠다!' 라는 생각을 하게되어 대략 2주 간 실험을 해보았습니다.그 결과 나쁘지 않은 결과물을 받아볼 수 있었습니다. 물론 사람의 손으로 ..
2024.10.04
-
Selenium & Python을 이용한 E2E 자동화 테스트 구현하기
안녕하세요 원티드랩 김명관입니다. 며칠 전 원티드랩 홈페이지를 대상으로 하는 E2E 자동화 테스트 코드가 QA 서버에 첫 머지되었습니다. 기존에 자동화 테스트 코드가 없었던 것은 아닙니다. 기존에는 다소 산발적으로 팀원 개개인이 필요한 경우 Selenium이나 Playwright를 이용하여 자동화 테스트 코드를 작성하고 활용하고 있었습니다. 저도 마찬가지로 E2E 자동화 테스트 코드나 업무 자동화 코드 등을 만들어 QA 서버에 올려 활용하고 있었죠. 2024년 원티드랩 QA팀의 목표 중 하나는 조직 차원에서의 QA 프로세스 고도화 입니다. 여러가지 수단을 이용해 QA 프로세스를 고도화 하여 더 높은 수준의 품질을 향해 가려고 하는데요. 자동화 테스트도 그 수단 중에 하나였습니다. 먼저 산발적으로 진행되고..
2024.08.02
-
Python으로 QA 블랙박스 만들기
안녕하세요! 김명관입니다.이번에는 Python을 이용해 내 화면을 녹화해주는 QA용 블랙박스를 만들어 보았습니다. 제 강의를 듣는 분들께 항상 드리는 말씀이지만 만들 줄 알아도 실제로 만드는 것은 어렵죠.. 몇 년 전부터 이런 프로그램이 필요하다고 느꼈었는데요 드디어 만들게 되었네요.왜 만들게 되었고, 어떻게 만들었는지 간단하게 공유해보겠습니다.아니 또 왜 이렇게 된거지?테스트를 한참 하다보면 제가 주목하지 않고 있던 요소에서 어느새 버그가 발생한 경우가 자주 있습니다. 보통 이럴 때는 아무리 재현 경로를 찾아보려고 해도 찾을 수가 없습니다. 머리 속으로 내가 무슨 행동을 했는지 기억해 내도 한계가 있죠.. 일단 버그 티켓을 작성하고, "재현 경로가 파악되지 않아 작성하지 못했습니다. 재현 경로를 찾는 ..
2024.04.30
-
테스트 자동화 클래스 진행하기
안녕하세요 원티드랩 QA팀 김명관 입니다. 올해 2월 좋은 기회가 닿아 온라인 교육 플랫폼에서 “자동화”를 주제로 정기적인 클래스를 열게 되었습니다. (주위 몇몇 분, 팀원 분들은 이미 알고 계셨던 사실입니다.) 6월부터 클래스가 열렸고 몇 번의 클래스를 진행 했지만 지금 와서 이런 후기를 작성하는 이유는 제가 만족할 만큼 진행된 클래스는 가장 최근에 열렸던 Selenium with Python 1기, 2기 였기 때문입니다. 다양한 이유로 온전한 클래스를 준비하고, 진행하는데 애로사항들이 있었고 저도 많이 준비했다 생각했지만 진행할수록 고쳐야 할 점만 보이더라구요. 이번에 진행했던 클래스는 비교적 많은 분들이 참석해 주시기도 하셨고 (제가 보기에) 만족도도 낮은 수준은 아니라고 생각되어 저 나름대로 성과..
2024.01.29
-
파이썬 이미지 인식 기반 자동화 테스트
얼마 전 오토핫키를 사용한 이미지 인식 봇을 만드는 방법을 글로 작성한 적이 있습니다. 개인적으로 오토핫키는 스크립트를 간단하고 빠르게 만들어 사용할 수 있어 급하게 간단히 매크로 스크립트가 필요할 때 애용합니다. 하지만, 오토핫키가 Windows 운영체제에서만 지원된다는 사실을 알게 되었습니다. MacOS를 사용하는 다른 팀원 분들께 의미 있는 노하우 공유를 위해 이번엔 파이썬을 이용한 이미지 인식 봇을 만드는 방법과 추가로 이미지 인식 기반 UI 자동화 테스트를 하는 방법에 대해 작성해 보겠습니다. pyautogui 파이썬을 이용하여 자동화 테스트를 할 때 selenium라이브러리를 사용하기도 하지만,이번엔 pyautogui를 사용해 보았습니다. pyautogui는 마우스와 키보드를 제어할 수 있는 ..
2024.01.29
-
오토핫키로 GUI입력 매크로 만들기
업무를 하다 보면 같은 문장을 계속해서 입력해야 하는 경우가 많습니다. 저의 경우엔 특히 기능 검증을 위해 로그인을 할 때, 이메일 계정을 입력해야 하는데 하루에도 수십 번 같은 이메일을 입력해야 합니다. 반복되는 입력을 할 때면 너무 귀찮기도 하고 오타라도 친다면 다시 내용을 지워 반복+1을 해야 합니다. 꽤 예전부터 ‘안되겠다 매크로를 만들자.’ 라는 생각은 갖고 있었고 얼마 전에 원하는 문자열을 반복 입력하는 매크로를 오토핫키로 만들게 되었습니다. 요구사항 정리 매크로를 만들기 전 대략적인 요구 사항을 정리했습니다. 1개 이상 최대 n개의 문자열을 저장하고 싶다. 단축키를 이용해 저장한 문자열을 자동으로 입력하고 싶다. 팀원들도 쉽게 사용할 수 있도록 GUI로 구현하자. GUI 구현 오토핫키 스크립..
2024.01.29
-
이미지를 인식하는 봇 만들기(오토핫키)
저는 어릴 때 부터 매크로에 관심이 참 많았습니다. 마침 제가 즐겨하던 게임이 매크로가 필수였기 때문에 일찌감치 매크로를 접하고, 사용법을 익혔어요. 게임 속에서 캐릭터에게 명령을 내릴 작은 루틴을 만들고, 고치는 과정이 마치 지금의 스크래치 처럼 어린 저에게 자연스럽게 알고리즘에 대한 개념을 익히게 해준 것 같아요. 어쨌든 저는, 매크로를 사용하는 것을 넘어 만들고 싶어졌습니다. 매크로를 만드는 방법을 찾아보니 그 당시 제가 사용했던 매크로는 대부분 “오토핫키” 라는 스크립트 언어로 만들어졌어요. 저도 그렇게 오토핫키를 배워보게 되었습니다. 이번엔 오토핫키로 이미지를 인식하는 봇 만드는 과정을 짧게 담아보았습니다. ImageSearch 오토핫키는 미리 따 놓은 이미지를 화면 내에서 찾아주는 ImageS..
2024.01.29