티스토리 뷰

테스트 계획 수립하기

UX 기반 테스트 계획 수립

앱 장르별 사용자의 경험을 최적화 할 수 있는 테스트 계획을 수립할 수 있다.

테스트와 테스팅

테스트

테스트란 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 에 대해 수동 또는 자동의 방법을 동원하여 검사하고 평가하는 일련의 과정을 말한다.

테스팅

테스팅은 오류를 발견하려고 프로그램을 실행하는 것이다. 테스팅에 문제가 없다고 해서 프로그램에 오류가 없다고 할 수는 없다. 소프트웨어를 완벽하게 테스트할 수 있는 테스 트 계획의 작성은 이론적으로는 가능한 일이나 시간과 비용이 문제가 될 수 있다. 소프트웨어와 관련된 비용 중에 3분의 2가 유지 보수에 들며 개발 비용의 50퍼센트 이상 이 테스팅에 소요된다. 테스팅과 유지 보수는 창조력을 요구하며 소프트웨어 전문가에게 는 흥미의 대상이다. 효율적인 테스팅을 하기 위해서는 프로그램이 무엇을 하는지 잘 이 해하여야 하며 테스팅 기법을 잘 알아야 하고, 효율적으로 이런 방법들을 적용할 수 있는 기술이 필요하다.

테스팅을 개발 초기 단계부터 계획하여 꾸준히 시행하는 것으로 본다면 단순히 오류를 발 견하는 작업만은 아니다. 학교에서 학생들이 학기 중간에 수시로 시험을 치고 그들의 학 습 성취도를 점검하는 것처럼 소프트웨어의 테스팅도 개발 과정에서 수행되어야 한다. 오 류나 문제의 존재를 빨리 알수록 이를 수정하는 데 필요한 비용이 적어진다. 초보 프로그래머들이 자신의 프로그램을 테스트하는 경우 몇 가지 단순한 데이터로 테스 트하고 서둘러 일을 마치는 경우가 많다. 여러 가지 가능한 모든 경우를 완벽히 테스트하지 못하였기 때문에 일어나는 일이다. 프로그램 당사자는 제3자처럼 객관적인 입장으로 자신이 일한 결과를 대하지 못한다. 따라서 프로그램 작성자 이외의 다른 사람이 테스트 하여야 더욱 효과적인 테스팅이 가능하다. 프로그래머 자신은 다른 사람처럼 객관적인 기 준에 의하여 자신의 프로그램을 시험할 수가 없기 때문이다.하

테스트 작업의 목표

시스템에 존재하는 결함을 조사하고 문제점을 드러내는 것이다. 기능, 구조, 보완, 내구성, 사용 용이성, 자료, 인터페이스 등 다양한 테스트 관점이 존재하며 이에 적합한 방법과 도 구도 다양하다.

테스트 작업 과정

시험하려는 소프트웨어를 실행한 후의 결과가 예상과 비교하여 차이가 있으면 오류가 있 는 것이라고 할 수 있다. 테스트 작업은 다음과 같은 5가지 단계의 준비에 의하여 이루어 진다.

  • 테스트에 의하여 무엇을 점검할 것인지 정한다. 테스팅을 설계하기 전에 테스팅의 목 표가 무엇인가를 결정해야 한다. 기능의 완벽성을 테스트하는 것인가, 아니면 신뢰도를 측정하기 위한 테스트인가 등을 결정한다.
  • 테스트 방법을 결정한다.
  • 테스트 케이스를 개발한다.
  • 테스트의 예상되는 올바른 결과를 작성한다.
  • 테스트 케이스로 실행한다. 이는 테스트를 실행하는 단계이다. 때로는 시스템의 일부 기능만 시험하기 위하여 소프트웨어에 변경을 가하는 경우도 있다. 이를 테스트 하네 스(test harness)라고 한다. 완전히 테스트가 끝나면 이를 제거한다.
테스트 결과서 작성

테스트 진행한 결과들을 취합하여 문서로 정리한 뒤, 테스트 결과에 대한 분석내용을 브리핑하여 테스트 과정의 계획부터 테스팅, 결과정리까지의 과정을 진행한다.

앱 테스트

앱은 테스트할 때는 기종별로 모두 테스트해야 한다. 따라서 미리 타깃 기종을 정한 후 앱을 제작해야 하며, 해상도와 OS에 따라서 모두 제작하기 때문에 테스트할 사항이 매우 많다. 이러한 불편한 점 때문에 개발 프레임워크(예: 앱스프레소 appspresso, 폰갭 phonegap 등)를 사용하여 여러 기기에 호환될 수 있도록 만들 수도 있지만 이 경우에도 기술적인 이슈가 일어나기도 한다..

모바일 앱 테스트 툴을 이용한 테스팅

최근 들어 모바일 기기 사용이 확산되면서 모바일 앱 개발자들에게 모바일 앱 테스팅이 골치 아픈 문제로 떠오르고 있다. 사용자별로 상이하게 사용하게 되는 운영체제, 브라우저, 기기의 조합을 정확히 모르는 상황에서 목적에 맞고 매끄럽게 동작하는 앱을 구현해 내는 일은 쉬운 일이 아니다. 특히, 개발 완료된 앱을 테스팅해 볼 수 있는 기기나 방법이 제한 적이라면 더 더욱 그렇다.

더욱이 앱에 대한 수요가 꾸준히 증가하면서 테스팅이 더욱 중요해지고 있다. 개발하는 앱이 점점 더 복잡한 구조와 기능을 수행하도록 개발되면서 테스팅은 개발 사이클에서 없 어서는 안 될 필수 단계가 되어가고 있다. 이런 이유로 개발된 앱에 존재하는 버그를 찾 고 실제 앱 구동 상태를 미리 시험해 볼 수 있는 다양한 툴과 서비스가 등장하여 적용되 고 있다. 특히 수천가지 기기 및 소프트웨어 조합에 액세스가 가능한 클라우드 기반 툴들 이 다양하게 공개되어 활용되고 있다. 모바일 앱 개발자들이 테스팅을 더욱 쉽게 할 수 있게 해주는 대표적인 테스팅 툴에는 다음이 있다.

  • 앱피움(appium)
  • 비트바 테스트드로이드(bitbar testdroid)
  • 버그시(bugsee)
  • 크로스브라우저 테스팅(crossbrowser testing)
  • 소스 랩(sauce labs)
  • 센차(sencha)
  • 테스트페어리(testfairy)
  • 우버테스터즈(ubertesters)

UI/UX Design

UI/UX 환경 분석

UI/UX 계획 수립

사용자 리서치

UI/UX 요구 분석

UI/UX 콘셉트 기획

UI 아키텍쳐 설계

댓글
댓글쓰기 폼