반응형

개발자가 전적으로 테스팅을 책임지던 과거와 달리 오늘날은 별도의 QA/테스트 그룹을 조직하여 독립적이고 전문적인 테스팅을 수행하는 관행이 정착되었다. 인하우스 테스팅 인력 조달이 여의치 않거나 비용 절감 등을 이유로 아웃소싱 업체에 테스팅 외주를 맡기는 것도 흔히 볼 수 있는데, 최근에는 크라우드소스 테스팅(Crowdsourced Testing)’이 효과적인 대안으로 부상 중이다.

 

크라우드소스 테스팅

크라우스소싱(crowdsourcing)과 클라우드 플랫폼(cloud platform)의 이점을 활용하여 전세계의 여러 다른 지역, 환경에 있는 다양한 배경의 사람들을 테스터로 참여시키는 소프트웨어 테스팅 방법이며, 기존의 베타 테스팅과도 유사한 개념이다. 기본적으로 테스팅 프로세스가 온라인이며, 크라우드소싱에 참여하는 사람들의 프로파일(전문 지식, 자격 여부, 보유한 테스팅 기기 등)을 기준으로 테스터 선정이 이루어진다. 이들은 특정 조직에 속해 있지 않아 선입견/편견으로부터 자유로우며, 시간 제약을 덜 받아 단시간에 테스트를 완료하고 높은 품질의 제품을 빠르게 인도하는 것이 가능하다. 또한 테스터가 작업한 결과(, 보고한 유효 버그 수)에 대해서만 대가를 지불하므로 비용효과적이다. 크라우드소스 테스팅은 소프트웨어의 사용자 그룹이 다양하고 그들의 피드백에 따라 소프트웨어 성공 여부가 결정되는 경우에 특히 유용한 방법으로, 게임, 모바일 앱, 웹사이트 등을 테스팅 하는데 흔히 사용된다.

 

크라우드소스 테스팅과 기존의 테스트 아웃소싱과의 차이점이 아래와 같다.

크라우드소싱 아웃소싱
글로벌(작업자가 세계 어디에든 위치) 단일 지역 센터의 인력 풀
24/7(여러 다른 시간대에 속해 있으며, 업무 시간에 구속되지 않고 자유로운 작업 스케쥴 생성 가능) 정해진 업무 시간
유연한 인력 조달 가능(여러 지역, 여러 언어의 인적 자원에 온디맨드 접근) 인력 증가/축소에 소요시간이 존재하므로 상대적으로 유연성 떨어짐
결과물 기반 가격 책정(고객이 품질 표준을 충족하는 작업 결과물에 대해서만 지불함) 인원수와 시간당 급료에 따른 가격 책정
오버헤드 비용 없음 아웃소싱 가격에 추가되는 고정 비용 있음

 

 

크라우드소스 테스팅 프로세스

고객이 할 일은 테스팅 프로젝트가 요구하는 모든 요구사항과 기기 구성(device configurations)을 목록화하고 해당 프로젝트에 적합한 테스터의 필수 스킬 셋을 기술하는 것이다. 테스터가 할 일은 자신에 대한 필수 정보(, 경험, 스킬 셋, 가용한 기기, 배경, 자격증 등)를 제공하는 프로파일을 완성하는 것이다. 크라우드소스 테스팅 업체는 테스터가 특정 프로젝트에 적합한지를 판단하기 위해 때때로 맛보기 테스트(trial tests)를 시켜보거나 또는 테스터 평가를 거치도록 요구하기도 한다.

 

 

적합한 테스터를 선정해 프로젝트에 할당한 후에는 지침(instructions), 상세한 테스트 계획, 스크립트 등을 테스터에게 제공한다. 테스터는 주어진 작업을 수행하는 동안 관찰한 내용을 기록하고 결함을 찾으며, 이후 자신이 제출한 결과물의 품질에 기반하여 보상을 받게 된다. 일부 크라우드소스 업체는 테스터가 보고한 작업의 품질을 결정하는 등급 시스템(rating systems)을 가지고 있으며, 관련 사항이나 이슈 등에 대한 논의는 온라인 포럼을 통해 이루어진다

 

크라우드소스 테스팅의 주요 단계가 아래와 같다.

  • 준비 단계: 고객의 비지니스 요구 및 목표 파악, 테스트 계획 수립, 요구되는 스킬 정의, 산출물 정의, 가격 책정
  • 시작 단계: 테스트케이스와 테스트 구성(configurations) 정의, 크라우드 테스터 모집, 테스트 환경 수립
  • 실행 단계: 테스트 대상 기기 및 소프트웨어 상에서 테스팅 시작, 테스트팀 감독과 실적(performance) 관리
  • 평가 단계: 결과 검증 및 품질 보증 수행, 고객을 위한 산출물 준비, 테스터 보상 처리
  • 완료 단계: 고객에게 자세한 결과 보고(presentation), 크라우드 테스터 등급 매기기, 테스트 사이클 종료

 

크라우드소스 테스팅 장×단점

장점은 아래와 같다.

  • 비용효과성: 크라우드 테스터가 보고한 결과물에 대한 보상만 지불하며, 조직에서 소속 직원에게 지불하는 고정 급여 등이 필요 없다.
  • 저렴한 가격: 테스팅 작업을 하기 위해 크라우드 플랫폼에 등록만 하면되므로 엔지니어나 전문가를 고용하는데 드는 비용이 감소하며, 따라서 테스팅 비용이 줄어든다.
  • 로컬라이제이션: 다양한 언어의 다양한 생각을 가진 사람들을 참여시킬 수 있으므로 로컬라이제이션 기반 프로젝트를 테스팅 하는데 도움이 된다.
  • 리소스 가용성: 여러 다른 소프트웨어마다 다양한 요구사항이 있는데 조직이 이 모든 것들의 조합을 항상 동시에 충족시키는게 쉬운 일이 아니다. 크라우드소싱에 의한 테스팅은 다양한 지식 및 리소스를 보유한 무리를 동시에 조달하는게 가능하므로 이러한 문제를 극복할 수 있다.
  • 빠른 속도: 동시에 많은 수의 사람을 참여시킬 수 있으므로 테스트 실행이 빨라지고 더 좋은 결과를 얻을 수 있게 된다

 

단점은 아래와 같다.

  • 비밀 유지: 작업 결과가 온라인에 올려지므로 많은 사람들이 볼 수 있고 프로젝트의 중요 데이터도 종종 공유된다. 모든 프로젝트가 그런건 아니지만 일부 프로젝트에서는 비밀 유지(confidentiality)가 중대한 사안이다.
  • 사소한 버그: 보고 결함 수에 따라 보상이 이루어지다보니 간혹 중요/고위험 버그 보다는 많은 수의 사소한 버그들을 보고하는게 주가 될 수도 있다.
  • 테스팅 노력의 추적: 여러 다른 지역과 시간대에 있는 테스터들의 테스팅 노력과 진척을 크라우드소스 테스팅 업체가 관리하는게 쉽지 않다.
  • 의사소통: 온라인 업무에서는 의사소통이 중요한 역할을 하는데, 특히 즉각적인 반응이 요구되는 경우 테스터의 가용한 시간대가 달라서 문제가 되기도 한다.  

 

크라우드소스 테스팅 플랫폼

프리랜서 테스터가 자신을 테스터로 등록하고 온라인 테스팅 프로젝트에 참여할 수 있는 많은 크라우드 테스팅 플랫폼이 존재한다. 몇몇 업체를 예로 들면 아래와 같다.

 

Upwork, http://ww.upwork.com/

Applause, https://www.applause.com/

Testlio, https://testlio.com/

MyCrowd QA, https://mycrowd.com/

TestArmy, http://testarmy.com/

Crowdsourcedtesting, https://crowdsourcedtesting.com/

Tester Work, https://testerwork.com/

 

 

 

반응형

+ Recent posts