반응형

출처: How Google Tests Software, James Whittaker, Jason Arbon, Jeff Carollo, 2012, 107페이지

 

구글 엔지니어 James Whittaker가 크라우드 소싱에 대하여 기술한 것이다.

 


 

크라우드 소싱은 테스트 현장에 나타난 새로운 현상이다. 테스터 수가 적고 리소스가 제한적인 반면 애플리케이션의 사용자는 숫자도 많고 다양한 하드웨어 및 실행 환경에서 가동된다는 현실에 대한 솔루션이다. 그 많은 사용자 중에 분명 우리를 기꺼이 도와줄 사람들이 있다고 생각하는 것이다.

 

군중 속으로 들어가보자. 테스트에 정통하고 합리적인 보상이 있다면 기꺼이 도움을 주려는 파워 유저 무리를 찾을 수 있다. 테스트 대상 애플리케이션 실행을 위한 스테이징 공간에 대한 액세스와 피드백 및 버그 보고서를 제출하는 메커니즘이 그들이 필요로 하는 전부다. 우리의 오픈 소스 Chromium 같은 프로젝트에서 크라우드 소싱이 이상적이다. 그러나 회사 네트워크에만 존재하는 더 민감하고 비밀스러운 프로젝트라면 수행하기가 좀 더 까다롭고 일정 수준의 신뢰할 수 있는 테스터가 필요하다.

 

수많은 세트의 하드웨어 및 구성(configurations) 외에 크라우드가 가져오는 주요 가치로 방대한 관점(시각)이 있다. , 한 명의 테스터가 1,000명의 사용자가 사용하는 방식을 알아내려고 하는 대신 테스터처럼 행동하는 1,000명의 사용자를 보유하게 된다. 애플리케이션 실패의 원인이 되는 사용자 시나리오를 찾기 위해서 등록된 사용자에게 해당 시나리오를 적용하고 피드백을 제출하도록 하는 것보다 더 좋은 방법이 어디 있겠는가? 이는 다양성(variation)과 규모(scale)에 관한 문제이고 크라우드는 이 두 가지를 모두 가지고 있다.

 

오늘날 소프트웨어 테스트를 기꺼이 하려는 크라우드가 많이 존재하고 또한 연중무휴(24/7)로 이용 가능하다. 최신 버전의 Chrome에서 상위 1,000개 웹사이트를 테스트하고 싶다고 가정해 보자. 1명의 테스터 = 1,000번의 반복. 20명의 테스터 = 50번의 반복. 이 산수를 계속할수록 크라우드의 이점이 명백해진다!

 

크라우드의 주요 약점은 그들이 애플리케이션을 배우고 역량을 발휘하는 데 걸리는 시간이다. 크라우드 규모를 통해 이런 시간 대부분을 상쇄할 수 있으며 또한 이를 관리할 수도 있다. Chrome의 경우 투어(Tours)’라는 것을 작성하고, 크라우드가 탐색적 테스트를 수행하고 사용자 시나리오를 실행할 때 이 투어를 따르도록 하였다. 투어는 작업을 보다 규범적으로 만들고, 크라우드를 애플리케이션의 특정 부분으로 안내하는 역할을 한다. 여기서 요령은 여러 세트의 투어 안내서를 작성하여 이를 크라우드의 여러 다른 구성원들에게 배포하는 것이다.

 

크라우드 테스트는 구글의 canary/dev/test/dogfood 채널 진행이 확장된 것이다.1, 2 이는 우리가 얼리 어답터 및 버그를 찾고 보고하는 것을 좋아하는 사람들과 소통할 수 있는 하나의 방법이다. 과거에는 제품을 조기에 써 보기 원하는 내부 테스터, 온디맨드로 여러 제품 팀을 순회하는 억류된 벤더, 그리고 uTest.com 같은 상업적 크라우드 소싱 회사를 이용했다. 또한 최고의 버그 발견자에게 돈을 지불하는 프로그램(크롬의 cash-for-bugs 프로그램)도 시행하였다.

 

_ _ _ _ _

1) 구글 제품이 Canary Channel -> Dev Channel -> Test Channel -> Beta Channel 또는 Release Channel의 시퀀스로 여러 채널을 거쳐 피드백을 받고 그 가치를 증명한다. 특정 채널 빌드의 품질에 대한 확신이 부족한 경우 이전 채널로 되돌아가야 할 수도 있다. 

2) ‘dogfood’는 대부분의 미국 소프트웨어 회사에서 사용하는 용어로 아직 출시되지 않은 자사 소프트웨어를 내부에서 채택하여 사용하는 관행을 나타낸다. 문구 "자신의 개 사료 먹기(eating your own dogfood)"가 다른 사람에게 팔기 위해 어떤 제품을 만들었다면 그것이 정말 좋은지 알아내기 위해 스스로 기꺼이 먹어(사용해) 보아야 한다는 아이디어를 전달한다. 

 

 

 

반응형

+ Recent posts