RSS

태그 보관물: unit test

아이폰 앱스, 어떻게 테스트 할까?

아이폰 앱스 개발에서도 퀄리티 관리는 당연히 중요하지요.

유저들이 느끼는 기능적 혹은 비기능적인 요구사항을 충실히 반영하며 개발하는 것이 개발에서 가장 중요한 목적일 거에요. 당연한 이야기겠지만, 일반적인 테스팅 원칙이 아이폰 앱스를 만들때도 동일하게 적용 가능합니다. 여러 종류의 테스트가 존재하겠지만, 개발자의 관점에서 높은 품질을 위해서, 눈여겨 볼 만한 테스트는 다음을 꼽아볼 수 있겠네요.

  • 정적분석 – XCode에 포함되어 있는 Build and Analyze 기능을 이용하여 코드내의 잠재된 결함을 찾아낼 수 있습니다. 이 결과를 좀 더 멋지게 뽑아내고 싶다면, CLang기반의 정적분석툴인 Checker를 사용해보길 권하고 싶어요.
  • 유닛테스트 – 기능명세에서 테스트케이스를 뽑아내고 이것을 바탕으로 각 클래스가 기능명세와 같이 동작하는지 알아낼 수 있도록 테스트 코드를 작성하지요. 그리고 유닛테스트를 수행하는 시점에 각 테스트 코드을 실행한 뒤에 테스트를 통과하지 못한 코드에 대해서 수정하고 다시 테스트하는 행위를 반복하면서 결함을 줄일 수 있게됩니다. 구글의 google-toolbox-for-mac 프로젝트 결과물을 이용하면 유닛테스트를 수행할 뿐만 아니라 그 커버리지(전체 테스트 케이스 중에 얼마나 테스트케이스를 작성하였는가?)를 파악할 수도 있습니다.
  • UI테스트 – UI를 실제로 사람이 사용하듯이 시나리오를 기반으로 테스트해볼 수 있다는 점에서 가장 인간중심적인 테스트 영역이지요.  Xcode 자체의 UI Testing automation기능을 사용할 수도 있지만 일일이 javascript코딩을 해줘야하는 불편함이 존재합니다. 유저가 실재로 사용하면서 녹화해서 그것을 재생하는 방식(record & play) 형태를 기대한다면 Gorilla Logic사의 FoneMonkey for iPhone를 사용해보길 권합니다.

테스팅의 영역은 참으로 그 깊이가 깊고 오묘합니다. ‘테스트를 어떻게 해야할까?’에 답하기 위해서는 수많은 문제들을 경험하는 수 밖에 없습니다. 프로그래머는 자신의 코드를 더 견고하게 만들기 위해서라도 테스팅의 가치를 인정하고 자주, 일찍 테스트하는 게 좋은 프로그래머가 되는 지름길이라 생각합니다.

 
댓글 남기기

게시자: 켬 2011년 3월 5일 in iOS개발, 테스팅

 

태그: , , , , , , , , ,