기본 콘텐츠로 건너뛰기

사용성 테스팅이란 무엇인가?

지난 3월 저는 사용성 테스팅을 주제로 모 출판사와 책을 저술하는 것에 대한 논의를 한적이 있었습니다.

미리 말씀드리지만 저는 어떤 고등 교육기관으로부터 사용성에 관련하여 교육을 받은 적이 없습니다. 저는 테스터로서 제 경력을 시작하면서 사용성 테스팅을 독학으로 배웠고 직접 수행하며 관련 지식을 쌓았을 뿐입니다.

물론 대학교 시절 아동심리학이나 교육심리학 같은 심리학에 대한 기본적인 지식을 배우기는 했지만 우리 나라의 수많은 사용성 전문가들처럼 대학교로 대학원으로 유학으로 이어지는 그런 교육은 받지 못했습니다.

때문에 저는 어떤 전문적이 용어를 사용할 줄도 모르고 어쩌면 수많은 다른 사용성 전문가들보다 많이 부족한 것이 사실이지만 그래도 제가 아는 것을 나누기 위해서 책을 쓰고자 결심을 했고 출판사와 논의를 해보았지만 역시나 시장성 등의 여러 이유로 뜻을 이루지는 못했습니다.

그리고 부족하나마 제 블로그를 통해 제가 쓰고자 했던 이야기를 연재할까 합니다. 많이 부족하고 잘못된 내용이 있을 수 있는 글이겠지만 제 블로그에 얼마나 많은 분들이 찾아주실지 모르겠지만 이곳을 통해서 여러분들이 많은 의견을 주시고 많은 논의를 함께 나눌 수 있다면 좋겠습니다.

그럼 첫번째 주제는 '사용성 테스팅이란 무엇인가?' 입니다.

------------------------------------------------------------

사용성 테스팅이란 무엇일까요?

이 질문에 대답하기 전에 먼저 알아두면 좋은 개념이 있습니다.

여러분은 목적과 목표를 구분하실 수 있으신가요?

목적과 목표는 일상적으로 뚜렷한 구분없이 혼용되어 사용되는 경우가 많습니다.

간략히 설명하자면

목적이 도달하고자 하는 곳이라면 목표는 도달하고자 하는 곳에 도달하기 위한 중간단계 즉 구성요소라고 볼 수 있습니다.

사용성 테스팅을 예로 든다면, '사용자가 사용하기 편한 시스템을 만든다.' 가 목적이라면 목표는 그러한 시스템을 만들기 위해 필요한 절차, 구성요소 등을 가리킵니다.

사용성 테스팅을 올바르게 이해하고 수행하고자 한다면 이 두가지 개념을 같이 고민하실 수 있으셔야 합니다.

하지만 많은 경우에는 목적과 목표가 조화롭지 못한 경우가 많습니다. 사용성 테스팅을 통한 개선이 효과가 없는 많은 경우는 목적과 목표가 조화롭지 못한 경우가 많기 때문입니다.

그럼 이 두가지 개념을 좀 더 상세하게 소개해 드리도록 하겠습니다.

우선 사용성 테스팅에 대해서는 아래와 같은 정의들이 있습니다.

ISO/IEC 9126 국제 표준에서는 '소프트웨어가 규정된 조건에서 사용될 때, 사용자에 의해 이해되고 학습되며 선호될 수 있게 하는 소프트웨어 제품의 능력'으로

ISO/IEC 9241-11 국제 표준에서는 '특정한 사용 상황 내에서 유효하고, 효율적이며, 만족도를 가지고 특정 사용자에 의해 특정 목표를 획득할 수 있도록 사용되는 제품의 정도'로

Usability Professionals Association(UPA)에서는 '회사가 비용을 절감시키고 사용자의 요구와 부합하는 제품을 만들어내기 위해서 개발 사이클 전체에 걸쳐 사용자의 피드백을 받는 제품 개발 방식' 이라고 정의하고 있습니다.

이외에도 무수한 사용성 테스팅에 대한 정의가 있습니다.

하지만 그러한 무수한 사용성 테스팅의 정의에 공통적으로 언급되는 절때 빠지지 않는 2가지가 있습니다.

첫번째는 사용자 이며
두번째는 측정, 관찰 입니다.

즉, 사용성 테스팅은 사용자 즉, 사람을 측정하고 관찰하는 것입니다.

사용성 테스팅이 어려운 이유는 바로 사람을 관찰하고 측정하기 때문에 여러운 것입니다.

때문에 많은 곳에서는 사람이 아닌 단순히 제품을 측정하는 것으로 사용성 테스팅을 수행하는 곳이 많습니다.

사용성 테스팅은 언제 수행하는지 무엇을 측정하고 관찰하는 지에 따라 구분할 수 있습니다.

사용성 테스팅을 언제 수행하는가에 따라 크게 형성적 테스트와 총괄적 테스트로 구분합니다.

형성적(formative) 테스트는 제품을 제작하는 중간에 시행하는 테스트로 사용성의 문제점을 발견하거나 디자인 개선하는 것이 목적입니다.

총괄적(summative) 테스트는 제품 제작의 후반부에 시행하는 테스트로 제품이 본래의 목적에 얼마나 잘 부합하는가를 확인하는 것이 목적입니다.

형성적 테스트는 목표 중심의 사용성 테스팅이고, 총괄적 테스트는 목적 중심의 사용성 테스팅입니다.

하지만 많은 곳에서는 형성적 테스트보다는 총괄적 테스트를 더 많이 수행하는 편입니다.

사용성 테스팅이 무엇을 관찰하고 무엇을 측정하는지에 따라 사용자 측정과 제품 측정으로 구분할 수 있습니다.

사용자 측정은 사용자가 만족을 하는가? 를 측정하는 것이 목적으로 실제적인 사용자의 경험을 측정합니다.
대표적인 방법으로는 통계적 분석법, 사용자 리서치 등이 있습니다.

사용자 측정은 만족도(satisfaction)가 주요 기준이며, 선택한 행동으로 말미암아 얻어지는 원하는 경험의 총체를 알고자 하므로 수치화가 어렵습니다.
사용자가 제품과 상호작용하면서 말을 하거나 생각하는 것이나 감정에 기초하며 사람들이 느끼는 방식을 중요하게 생각합니다.

즉, 사용자 측정은 정성적인 방법입니다.

제품 측정은 제품이 정해진 디자인 원칙에 충족되는가? 를 측정하는 것이 목적으로 측정 기준에 일관성이 있는 것이 특정입니다. 대표적인 방법으로는 Heuristic Evaluation, ISO/IEC 9126 매트릭 등이 있습니다.

제품 측정은 수행(performance)이 주요 활동이며, 선택한 행동이 지향하는 구체적으로 수치화된 목표치에 따른 수치화가 용이합니다.
사용자가 실제로 제품과 상호작용하며 행하는 모든 것, 사용자가 태스크를 성공적으로 완료할 수 있는 능력등을 측정합니다.

즉, 제품 측정은 정량적인 방법입니다.

사용자 측정은 목적 중심의 사용성 테스팅이고, 제품 측정은 목표 중심의 사용성 테스팅입니다.

제품 측정이 고전적인 기존의 사용성 테스팅이라고 한다면 사용자 측정은 최근에 더 각광받는 방법론이라고 할 수 있습니다.

이러한 변화는 UX의 개념이 널리 퍼지면서 더 빠르게 수용되고 있습니다.

어떤 사람들은 UX는 사용성의 상위 개념으로 사용성 테스팅을 통해 UX를 측정할 수 없다라고도 말하지만 저는 이러한 논쟁이 테스팅과 QA의 차이가 무엇인가에 대한 논쟁과 같다고 보고 있습니다.

분명 사용성은 UX를 구성하는 많은 요소이지만 사용성 테스팅도 UX의 개념의 발달과 함께 발전하고 있으며 UX를 측정하는데에 있어 전적으로 사용성 테스팅만이 유일한 방법이 아닌것도 사실이지만 사용성 테스팅을 통해서 UX를 이해하고 측정하는데 있어 기본적인 사항이라는 것은 틀림없는 사실이라고 말할 수 있습니다.

기존의 제품 측정으로는 UX라는 큰 개념을 이해하고 측정하는데 있어 부족한 것은 사실이며 그러한 이유로 사용자 측정이라는 개념이 더 빠르게 확산되고 있다고 봅니다.

이곳에서는 UX와 사용성이 어떤 차이가 있는지에 대한 언급은 하지 않도록 하겠습니다.

사용성 테스팅을 위와 같이 분류하였을 때 목적과 목표가 조화로운 사용성 테스팅을 수행한다면 제품 개발 초기에는 사용자를 중심으로 테스팅을 수행하고 제품 개발 후기에는 그러한 테스팅 결과를 최종적으로 확인하는 과정을 거치는 것이라고 말할 수 있습니다.

즉, 제품 개발 초기에는 벨리데이션을 중점적으로 고려한다면 제품 개발 후기에는 베리피케이션이 중점적으로 고려되어야 한다고 말할 수 있습니다.

하지만 많은 경우에는 개발 초기부터 사용성 테스팅이 주기적으로 수행되는 경우는 많지 않고, 이 때문에 제품 개발 후기에 수행되는 사용성 테스팅에서 아주 많은 개선사항이 발견되지만 실제로 그러한 개선사항은 반영되지 못하는 악순환이 반복됩니다.

결론적으로 제 경험상 많은 조직에서 수행되는 사용성 테스팅은 목적은 있지만 실제 목적을 측정하는 테스팅은 수행되지 않는 경우가 많으며 목적을 이루기 위한 목표들을 측정하는 테스트를 통해 목적이 달성되었다는 결론을 도출하는 경우가 많습니다.

하지만 그러한 목표들이 정말로 목적을 달성한 것인지에 대한 측정은 많은 경우 수행되지 않습니다.

그렇다면 어째서 제품 개발 초기에 사용성 테스팅이 주기적으로 수행되지 못하는 것일까요?

여러 이유가 있지만 가장 큰 원인으로 꼽지만 비용과 신뢰성의 문제가 있습니다.

많은 사람들은 대단위의 사용자를 통한 테스팅 결과만을 신뢰하는 경향이 있고, 이러한 대단위의 사용자를 동원한 사용성 테스팅은 막대한 예산이 투입됩니다. 이러한 테스팅을 주기적으로 가져간다는 것은 전체 개발 예산의 증가를 불러오기 때문에 누구도 섣불리 이러한 테스팅을 수행하지 못합니다.

하지만 여러분이 단 하나의 가정만 깨뜨릴 수만 있다면 제품 개발 초기부터 사용성 테스팅을 주기적으로 행할 수 있습니다.

바로 대단위의 사용자를 통한 테스팅 결과만이 신뢰성이 높다는 가정만 여러분이 깨뜨릴 수만 있다면 여러분은 제품 개발 초기부터 주기적으로 사용성 테스팅을 수행할 수 있고, 그로 인한 실제적인 사용성 증가라는 목적을 달성할 수 있을 것입니다.

위의 목적에 부합하는 사용성 테스팅 방법론은 여러가지가 있지만 제가 소개해드릴 방법은 Rapid Usbility Testing 입니다.

------------------------------------------------------------

Rapid Usbility Testing 은 '스티브 크룩의 사용성 평가, 이렇게 하라!'에서 소개된 DIY 사용성 테스트와 근본적으로 동일하다고 할 수 있습니다.

제가 경험적으로 습득했던 방법에 대한 이론적인 배경 등은 상기 도서에 더 자세히 소개되어 있기 때문에 제 글에서는 별다른 언급을 하지 않을 예정입니다.

어쩌면 제가 소개하는 Rapid Usbility Testing 방법론은 스티브 크룩의 DIY 사용성 테스트의 오마쥬일 수도 있고 그저 똑같이 베낀 표절이 될 수도 있다고 생각됩니다. 그것에 대한 판단은 여러분의 몫이라고 생각합니다.

다음 포스트에서는 Rapid Usability Testing 방법론에 대한 간략한 소개를 하도록 하겠습니다.

댓글

이 블로그의 인기 게시물

스위치봇 & 스위치봇 허브 미니 간단 사용기

제 블로그에 예전부터 오셨던 분들은 제가 사브작 사브작 홈 오토메이션을 어설프게 해온 것을 아실겁니다. 작년부터 너무 하고 싶었던 도어락 자동화에 도전해봤습니다. 우리 나라에 자체 서비스로 앱을 통해 도어락을 제어하는 제품은 꽤 있습니다. 게이트맨도 있고, 키위도 있고, 삼성도 있죠.. 그런데.. 전 그것보다 구글 어시스턴트를 지원하는 도어락이 필요했는데... 그런건 안만들더라구요.. 꼭 필요한건 아니지만 웬지 해보고 싶은데... 언제 제품이 출시될지도 몰라서.. 가능한 방법을 찾아보다가.. 스위치봇이라는 제품으로 도어락을 버튼을 꾹 누르는 방법을 찾아서 스위치봇이 직구가 아닌 국내에 출시되었길래 낼름 구매해서 도전해봤습니다. 스위치봇 제품에 대한 내용이나 구매는  https://www.wakers.shop/  에서 하시면 됩니다. 저는 스위치봇에 스위치봇을 구글 홈에 연결시키기 위해 스위치봇 허브 미니까지 구매했습니다. 스위치봇 허브 미니가 없으면 스위치봇을 외부에서 제어하거나 구글 홈에 연결할 수 없습니다. 그리고 제가 스위치봇 허브 미니를 구매한 이유 중 다른 하나는 이 제품이 RF 리모컨 기능이 지원됩니다. 집에 있는 모니터를 제어할 필요가 있어서 이참 저참으로 같이 구매했습니다. 제품 등록은 어렵지 않습니다. 여기서는 스위치봇 허브 미니에 RF 리모컨을 등록해서 구글 어시스턴트로 제어하는 방법을 소개해드릴까 합니다. 제가 스위치봇 허브 미니로 모니터를 제어하고 싶었던 부분은 컴퓨터에서 크롬캐스트로 외부 입력을 때에 따라 바꿔야 하는데.. 그때마다 리모컨을 찾는게 너무 불편해서였습니다.  어차피 리모컨은 외부 입력 바꿀 때 빼고는 쓸 일도 없는지라.. 매번 어디로 사라지면 정말 불편해서 이걸 자동화 하고 싶었습니다. 그런데, 처음에 스위치봇 허브 미니를 등록하고 여기에 리모컨을 등록하니.. 구글 홈에 등록된 리모컨이 자동으로 등록이 됩니다. 그런데, 등록된걸 확인해보니 전원 On/Off만 제어되는 것이고, 나머지 버튼은 구글 홈으로 제어가 안되어서..

테스트 케이스와 체크리스트의 차이가 뭐여?

테스트 실무에서 가장 혼돈되어 사용되는 용어 중 하나가 테스트 케이스와 체크리스트입니다. 많은 경우 체크리스트를 테스트 케이스로 사용하는 경우가 많습니다. 실제로 인터넷 커뮤니티나 블로그, ISO, IEEE, ISTQB 등등을 검색해보시면 테스트 케이스와 체크리스트에 대한 구분이 다 제각각입니다. 각각에 대한 정의가 다 제각각입니다. 사정이 이러하다보니 많은 사람들이 테스트 케이스와 체크리스트를 잘 구분하지 못하고 혼동해서 사용하는 경우가 많습니다. 물과 기름처럼 테스트 케이스와 체크리스트를 정확하게 구분할 수는 없겠지만.. ISTQB를 기준으로 말씀드리면 설계 기법을 통해 도출된 것은 테스트 케이스 그렇지 않은 것은 체크리스트라고 생각하시면 쉽습니다. 예를 들면 아래는 결정 테이블 테스팅 기법을 통해 도출된 테스트 케이스의 예제입니다. 실제 테스트 케이스는 위보다 복잡하겠지만 어쨌든 얘기하고 싶은 것은 위와 같이 설계 기법을 통해서 도출된 것은 테스트 케이스라고 합니다. 그런데 딱 보시면 아시겠지만 실제 테스트에서는 저 정도로는 테스트 커버리지를 충분히 만족했다고 얘기하기 힘듭니다. 그렇습니다. 어떤 분들은 테스트 케이스가 전가의 보도, 은 총알 쯤으로 생각하시는데.. 테스트 케이스는 일종의 마지노 선이라고 보시면 됩니다. 최소한 제품을 테스트 할때 이정도는 해줘야 한다는 최후의 방어선 정도라고 보시면 됩니다. 전쟁에서 최후의 방어선은 물러설 수 없는 마지막 보루입니다. 하지만 최후의 방어선만 지킨다고 전쟁에서 승리할 수는 없습니다. 프랑스는 마지노 요새만 믿고 있다가 독일에게 깔끔하게 발렸던 과거가 있지요. 전쟁에서 승리하려면 앞으로 나가야하고 치밀한 전략과 전술이 뒷받침 되어야 합니다. 더 높은 커버리지를 도달하고, 충분히 좋은 테스트가 수행되려면 테스트 케이스는 기본이 되어야 하고 거기에 더해서 체크리스트가 따라와 줘야 합니다. 이러한 체크리스트는 팀의 경험과 과거 프로젝트의 데이

프로젝트의 3요소 - Project Management

프로젝트는 예산, 일정, 품질 3가지 요소로 이루어진다고 볼 수 있다. 물론 위 3가지 요소 외에도 개발 범위, 팀워크, 자원 조달 등 여러가지 요소들도 고려해 볼 수 있지만, 가장 중요한 요소를 꼽는다면 예산, 일정, 품질일 것이다. 위에서 말한 여러가지 요소들은 프로젝트를 계획하여 완료하는 순간까지 복합적으로 작용해서 프로젝트의 성과를 제한하게 된다. 위의 요소들을 잘 통제한다면 성공적인 프로젝트가 되는 것이고 그렇지 못한다면 실패하거나 사라지게 될 것이다. 프로젝트 관리란 그런 면에서 제한된 자원을 가지고 목적한 바를 제한된 기간내에 최소의 비용으로 완수할 수 있도록 하는 것으로 정의할 수 있을 것이다. 이것을 도식화 한다면 아래와 같은 그림으로 표현할 수 있을 것이다. 위의 그림에 보는 것처럼 일정과 품질, 예산은 우리의 프로젝트가 목적하는 바를 달성하도록 하기 위해 상호 연관되어 작용하게 된다. 우리가 접하게 되는 많은 방법론들의 가정에는 위의 요소들을 어떻게 관리할 것인가에 대한 기본적인 가정들이 설정되어 있다. 조직에서 어떤 특정한 방법론을 도입한다는 것은 그런 가정에 동의하는 것이고 그러한 철학을 받아들인다는 것이기 때문에, 방법론을 채택하기 전에 조직의 근본 문제와 문화에 대해 점검해 볼 필요가 있다. 그리고 위의 요소들 외에 고려해 볼 사항은 위의 요소들은 변동성과 불확실성을 내포하고 있다는 것이다. 특히 비용과 예산, 목적은 프로젝트를 진행하면서 가변할 가능성이 매우 큰 요소들이다. 대부분의 방법론은 이러한 변동성에 대한 안전장치들을 가정해서 세워져 있다. 변동성의 측면에서 위의 요소들을 다시 살펴본다면 아래와 같이 가정할 수 있다. 위의 그림을 일부 해석해 본다면 일정이 늘어난다면 비용은 늘어나게 된다. 범위가 변경되어도 비용은 늘어나게 된다. 범위와 일정은 상호 의존적이 된다. 만약 위 3가지 요소의 변동성을 통제하지 못하게 된다면 프로젝트는