프로젝트/업무자동화

1. 베트남 하노이팀과의 테스트자동화 프로젝트 협업 경험 - 협업도구 편

모지사바하 2017. 8. 28. 11:22

베트남 하노이팀과 테스트자동화 프로젝트 협업 경험을 공유하고자 합니다.


프로젝트의 목표는 이렇습니다.


G*홈쇼핑은 매주 정기적으로 배포를 합니다. 매주 정기적으로 배포를 할 때마다 테스터는 웹 과 앱 전체 기능을 모두 테스트 합니다.


테스트해야 할 기능이 매우 많기 때문에 매 정기 배포 때마다 모든 기능을 잊지 않고 테스트하기 위해, 


TestLink 라는 테스트관리도구를 이용하여 수행해야 할 테스트를 모두 기록해 놓습니다.


대략 아래와 같은 계층 구조를 갖도록 작성합니다.

테스트 프로젝트 -> 테스트 플랜 -> 테스트 스위트 -> 테스트 케이스 -> 테스트 스탭 


이렇게 테스트를 하다보니, 매 주마다 수많은 테스터가 수많은 기능을 반복적으로 많은 시간을 들여 해야 합니다.


매주 똑같은 테스트를 수행하다보니, 자원낭비가 심합니다. (시간, 돈) 


그래서 이러한 자원낭비를 줄이고자, 사람이 매주 직접 테스트 하던 것을  '테스트 스크립트를 개발하여 코드가 자동으로 테스트 하도록 하자' 는 것이


이번 프로젝트의 목표 입니다.


 테스트 스크립트를 개발하는것은 해외 국가 인 베트남 하노이팀과 협업 하였습니다.  


해외 팀과 협업을 한 이유는 제가 듣기로는 딱 한가지, 싼 단가 때문이였다고 합니다. (자세한 내막은 저도 잘 모릅니다)


암튼, 하노이팀과 테스트 자동화 프로젝트를 진행했던 경험을 공유하고자 합니다.


편의상 한국 개발팀은 서울팀, 베트남 개발팀은 하노이팀 이라고 칭하도록 하겠습니다.


서울팀과 하노이팀의 협업을 위해 선정한 도구는 아래와 같습니다.


실시간 의사소통: Slack

의사소통 언어: 영어

프로젝트 관리도구: producteev -> Jira

화상회의 및 시연: zoom.us

디바이스 화면 공유: vysor.io


실시간 의사소통 도구로 Slack 을 선택한건, 서울팀이나 하노이팀이 모두 익숙한 도구였고 , 기능적으로도 부족함이 없었기 때문에 전혀 문제 될 게 없었습니다.


프로젝트 관리도구로 처음에 producteev 를 잠깐 사용하다가, Producteevs 는 심플한 Task 관리용으로는 나쁘지 않으나, 해외 팀과 계획을 세우고

계획에 따라 업무를 관리하기에는 기능이 약간 부족하다고 느껴서 양 팀 합의하에 하노이팀에서 사내에서 사용하고 있는 Jira 를 사용하기로 결정하였습니다.


Sprint 가 끝날때마다 회고 미팅을, 테스트케이스가 하나 개발될 때마다 시연 및 코드리뷰를 하였는데, 이렇게 하기위해서는 


1. 코드에 대한 설명, 기능에 대한 설명, 회고 등을 하기 위해 실시간 음성으로 회의를 해야하고,

2. 코드를 확인시켜주고 테스트가 수행되는 모습을 보여주기 위해 화면 공유를 해야하고,

3. 코드를 실행하고, 코드를 설명할 때 소스를 이동해야하기 때문에 원격 제어가 가능해야 합니다.


이러한 기능을 모두 충족시키는 화상회의 도구로 zoom.us 를 선정하였는데, 모든 기능이 매우 만족스러웠습니다. 다만, 

무료버전은 40분에 한번씩 미팅룸이 종료돼버립니다. 그래서 화상회의를 할 때 미리 40분에 한번씩 쉬는 시간을 10분 갖는것으로 전략을 잡는것이 좋습니다


모바일 앱 테스트케이스 시연을 할 때, 모바일 디바이스에서 자동으로 테스트가 실행되는 모습을 공유하려면 PC에 디바이스 화면을 공유하여야 합니다. 

자동 테스트가 실행되는 것은 물리 디바이스인데 하노이팀과 서울팀이 서로 떨어져있기 때문에, 다 같이 디바이스 화면을 보려면 PC 에서 모바일 스크린을 공유해야 합니다.


모바일 스크린 쉐어를 위해 선택한 도구는 Vysor 입니다. 무료 버전은 40분에 한번씩 폰에 광고가 뜨긴 합니다만, 화면 공유가 매우 부드럽게 잘되고


별도의 회원가입이나 로그인이 전혀 필요없어서 무척 잘 사용하였습니다.


음... 자세하게 공유하려다보니 내용이 생각보다 무척 길어지네요 ..


시간관계상 포스트를 나눠서 공유드려야 할 것 같습니다.


다음 포스트에서는 테스트 케이스 작성을 위한 개발 도구 에 대해 공유 드리도록 하겠습니다.