티스토리 뷰

어떤 부분에서나 테스트는 최종 관문에서 넘어야 할 마지막 고비가 되곤 하는데, 아이폰 어플의 개발에서도 테스트는 실제 서비스가 가능한가를 따지는 마지막 점검과정 입니다. 그런데 막상 테스트를 하려고해도 어떤 테스트를 해야 할지 막막하거나, 단순한 디자인적인 테스트에 그치는 경우가 대부분 입니다.

전문적으로 소프트웨어 기획이나 개발을 경험하신 분이라면, 어플리케이션을 테스트하기 위한 접근 방법을 어느정도 숙지하고 계시겠지만, 안타깝게도 이를 경험해보지 못하신 분들이 더 많으므로 테스트 진행을 위한 순서와 방법을 정리해보도록 하겠습니다.

우선 테스트의 순서는, 크리티컬한 문제를 야기할 수 있는 순서에 따라 진행됩니다.  즉... 음식을 만들 때 모양이나 색이 맛깔스러워 보이지 않는다고해도 음식을 파는데에는 아무런 문제가 없습니다. 맛으로 승부하면 되니까요.  하지만, 음식의 맛 자체가 없거나 음식을 먹고 식중독에 걸릴만큼 상해 있다면 이는 환불이나 형사 고발될 수 있는 매우 크리티컬한 요소이기 때문에, 음식을 하면 우선 맛부터 봐야 합니다.

어플리케이션 개발에도 이와 다를 바가 없는데 내용을 좀 더 체계적으로 정리해보면 대략 아래의 그림과 같은 순서도가 생기게 됩니다.


[그림. 1] 어플리케이션 테스트의 순서도



위의 테스트순서에서 프로세스 테스트나 사용성테스트는 순서가 바뀌거나 병행될 수 있으나 스트레스 테스트는 가장 우선적으로 진행되어야 하며 가장 많은 시간을 소요해야 하는 테스트가 되겠습니다.. 그럼 각 테스트 별 방법 좀 더 구체적으로 정리해 보도록 하겠습니다.  


■ 스트레스 테스트 (Stress Test)

사람도 스트레스를 받게 되면 폭발하게 마련이고 기계 역시도 다를 바 없습니다. 우리가 보통 웹을 만들게 될 경우, 여러가지 테스트를 하게 되는데 이 스트레스 테스트를 간과하고 넘어가는 경우가 있고, 그리 중요한 테스트 이슈는 아니라고 보는 경우들도 있지만, 어플리케이션의 경우는 모든 테스트 요소 중에 가장 중요한 포지션을 차지하고 있는 테스트 이슈가 바로 스트레스 테스트 이며, 이 테스트가 선행되지 않았거나 나중에 발견 되었을 경우, 어플 릴리즈가 늦춰지게 되거나 최악의 경우 어플을 다시 만들어야 하는 경우들도 있습니다.



어플리케이션의 스트레스 테스트를 하게 되는 가장 큰 이유는 바로, 사용자가 어플을 이용하던 도중 불규칙하게 어플이 튕겨져 나가는 경우를 최소화하는데 그 목적이 있습니다.

만일 일반사용자의 입장에서 잘 사용하던 어플리케이션이 갑자기 원인을 알 수 없는 이유로 인해 꺼진다거나 하면, 매우 당혹스럽거나 짜증이 날 수도 있을 겁니다.  뭐.. 한 두 번 정도야 너그러운 마음으로 이해하고 넘어갈 수도 있겠지만.. 그런 상황이 반복되면 사용자는 더 이상 그 어플리케이션을 이용하지 않을 것이며, 그와 유사한 다른 어플을 사용하게 됩니다. (아이폰 어플기획의 십계명 - 환경을 이해하라!! 1-2 편 참조.)

이렇게 크리티컬한 문제를 만들지 않기 위해서는, 개발 초기 단계부터 가장 많은 시간을 할애하여 테스트를 진행해야 하며, 개발자와의 적극적인 코웍을 통해 이를 해결해야 하는데 참고로 스트레스 테스트를 통해 발생하는 대부분의 문제는 메모리 관리 및 충돌로 인해 발생하는 만큼, 어떠한 단계에서 문제가 발생하는지를 구체적으로 개발자에게 전달해야 해결이 가능합니다.  그 예시로...
 
01. 상품 터치.
02. 상세페이지 이동.
03. 상품정보 로딩 중 back 버튼 터치.
04. 다시 동일 상품 터치.
05. 이 과정을 3회 반복하면 어플리케이션이 꺼짐.


이렇게 구체적인 정보를 개발자에게 제공함으로써, 개발 소스 중 어떤부분이 대략적인 문제를 가지고 있는 지 파악할 수가 있게 되는데, 소스의 수정을 통해 해당오류가 해결된다고 해도 그 수정으로 인해 또 다른 오류가 발생할 수도 있기 때문에, 스트레스 테스트는 개선 이슈가 발생했을 때 지속적으로 진행하는 것이 중요합니다.


■ 프로세스 테스트 (Process Test)

프로세스 테스트란, 어플을 사용하는 A 부터 Z까지의 과정을 점검하는 테스트 입니다.  즉, 가상으로 어플리케이션의 이용과정을 체크하는 것인데, 사전에 체크리스트 혹은 테스트 리스트를 만들어, 이를 기반으로 테스트를 진행하게 되는데, 실제 YES24 어플을 개발할 당시의 사례를 보시면 이해가 빠르실 겁니다.

[테스트 분류] 결제 > 휴대폰 결제
[테스트 범위] 카트와 휴대폰 결제를 통해 완료 체크 및 주문조회와의 연동 체크 


01. 투데이 페이지에서 오늘의 책을 터치.
02. 상세페이지에서 카트에 담기 버튼 터치.
03. 로그인 페이지로 이동.
04. 로그인 완료.
05. 카트 페이지로 이동.
06. 주문하기 버튼 터치.
07. 주문정보 입력 웹 페이지로 이동.
08. 주문정보 입력 후, 결제하기 버튼 터치.
09. 결제정보 웹 페이지로 이동.
10. YES24 포인트 사용 후, 휴대폰 결제 방식 선택 후, 결제하기 버튼 터치.
11. 휴대폰 결제 진행.
12. 결제완료 후, 카트로 이동해, 결제된 상품이 삭제되었는지 체크.
13. 주문조회 메뉴에서 해당 상품의 결제정보 체크.
14. 테스트 완료.

위의 내용과 같이.. 하나의 정형화 된 테스트를 프로세스 테스트라 하며 이 테스트를 통해 테스트 중 어색하거나 불필요한 과정을 수정하기도 하고, 과정 내에서 발생할 수 있는 버그들을 체크하게 됩니다. 


[그림. 2] 엄청난 버그 리스트 들... (매 회 테스트 당 60여 개씩은 쏟아지더군요..)



프로세스 테스트를 하기 위해서는 사전에 정리된 테스트 시트가 필요 합니다.  즉, 테스트 시트를 통해 각 과정들을 순서대로 정리하고 그 순서에 맞게 동작하는지를 판단하게 되며, 이 과정을 통해 기획된 프로세스의 정상여부를 판단할 수 있겠습니다.

이때 작성되는 테스트시트는 향후 최종 사용자 테스트에서도 사용될 수 있으므로, 모든 프로세스 내용을 시트에 포함될 수 있도록 정리하시면 되겠습니다.


■ 사용성/디자인 테스트 (UX/Design Test)

사용성 및 디자인테스트는 프로세스 테스트와 병행되기도 하는데 기획과정에서 놓쳤던 편의성이나 화면제어 및 입력방식을 실제 사용하기에 가장 적합한 UI나 UX인지를 검증하게 되는 테스트라고 할 수 있습니다.  이 테스트를 통해 버튼의 위치나 일관성을 맞추게 되는데 이 테스트 시점에서부터 해당 어플이 구동될 플랫폼에 경험이 많은 사용자가 같이 코웍(Co-work)하여 테스트해야 합니다.  

경험이 많은 사용자는 어플을 이용하는 과정에서 문제점을 발견해내기 보단 이용과정에서의 어색한 점이나 개선의 여지가 있는 인터페이스를 잡아내게 되고, 이 과정을 통해 보다 자연스러운 인터페이스나, 디자인의 구성이 가능해 집니다.

단 사용성 테스트는 프로세스 테스트 과정에서 병행되어 진행될 수 있으며 보다 명확한 테스트를 위해 대상이 되는 테스터에게 무엇을 테스트 해야 하는지를 정확히 집어주어야 의도한 결과를 얻어낼 수 있습니다.


■ 최종 사용자 테스트 (Final User Test) 

위의 세 가지 테스트가 완료되어.. 일정 퍼센트 이상의 만족도(보통은 95%를 기준으로 합니다.)를 확보한다면 릴리즈 시점 이전에 일반 사용자의 테스트를 진행해야 합니다. 

일반 사용자 테스트는 특정한 테스트 미션을 주지 않고 각각 자신의 이용패턴에 따라 자유로이 이용하게 하며 이를 통해, 일반 사용자의 이용패턴을 파악하고 기능적인 개선니즈가 발생할 경우 향후 업그레이드 버전 시에 패턴의 개선이나 기능 업그레이드에 참고하시면 되겠습니다.  지금까지 총 네 가지에 대한 테스트 과정을 정리해 보았는데.. 상황에 따라서 한 두 가지 정도는 생략되고 진행되고 진행되기도 합니다만, 가급적 위의 네 가지 테스트 과정을 준수하시어, 보다 완성도 있는 어플리케이션을 개발하시기 바랍니다.



야메군이 진행하는 "웹기획 마인드 강좌"는 오프라인 강좌 뿐만 아니라, 온라인 강좌로도 만나보실 수 있습니다. 지식 동영상 스토어 "AirKlass", 지구상 가장 큰 학교 "EDUCAST", 전문가의 지식노하우 플랫폼 "TOC6"에서 강좌를 확인해보세요!! 




야메군. Web와 Mobile, Digital 카테고리 SME(Subject Matter Expert). 웹기획 15년차로 네이버 웹기획자 커뮤니티 "웹(WWW)를 만드는 사람들"에서 운영진으로 활동하고 있으며, 딴지일보를 시작으로 아이러브스쿨, 짱공유닷컴, YES24 등의 회사를 거쳐, 현재는 민간 IT 원천기술 연구소 "Valhalla Lab"에서 Pattern recognition과 Machine learning, Natural Language Processing 기술의 상업적 이용방법에 대해 연구했으며, 2016년 7월 7일, 기획자의 업무능력 향상으로 위한 Guide Book "처음부터 다시배우는 웹기획(정재용, 최준호, 조영수 공저)" 출간.



댓글
댓글쓰기 폼