기술인사이트

기술리포트

모바일 앱 기능에 대한 결함 검출 방법

서 론

실생활에서 밀접하게 쓰이는 스마트폰으로 인하여, 손쉽게 접근이 가능한 모바일 앱들이 늘어나는 추세이며, 앱 스토어에 서비스되고 있는 다양하고 많은 종류의 게임 및 전화, 카메라 등의 모바일 애플리케이션을 사람들이 사용 중에 있다.
모바일 앱의 사용성과 평가는 사용자와 서비스를 제공하는 제공자에게 보다 중요하게 작용하게 되었으며, 결함이 많은 앱은 경쟁력이 생명인 모바일 앱 시장에서 혹평에 휩싸이며, 평가가 좋지 않은 앱은 차후 개발 및 서비스 측면에 리스크를 초래하기 때문에 결함 검출은 큰 중요도가 자리 잡게 되었다. 모바일 애플리케이션 기능에 대한 결함 검출 방법에 대하여, 중요함을 알리기 위하여 본 기술 리포트에 실제 모바일 앱의 검증 방법을 기술하게 되었으며, 모바일 앱에 관하여 어떠한 검증 방법이 있는지 어떻게 검증해야 하는지 알 수 있도록 모바일 앱에 관하여 검증 방법 중 몇 가지를 제시하고자 한다.




본 론

1. 실사용 기반하여 검증하기

모바일 애플리케이션 검증 중에 가장 쉽게 검증할 수 있는 방법 중의 하나이다.
사람마다 차이가 있겠지만 실생활에서 음악이나 동영상을 플레이할 때 사용해 본다거나, 자주 사용하면서 이런 경우엔 어떠한지, 내가 사용해 봤던 거랑 다른 사람이 사용해 봤을 때 어땠는지 다른 사람이 작성한 리뷰 글을 본다거나 혹은 감상을 듣는 것도 결함 검출에 도움이 된다. 그리고 해당 앱의 기능에 대하여 모르는 사람에게도 실제로 사용해 봤던 경험을 바탕으로 가이드를 해주면서 기능에 대한 복습과 다른 사람에게 전달할 수 있다.
기획서, 브레인스토밍, 테스트케이스로도 보다 명료하게 작성하여 쉽게 전달 가능하며 이로 인하여 해당 앱에서만큼은 전문적이라고 자부할 수 있는 원동력이 되며, 이러한 베테랑이 많은 팀은 우수한 팀이 되는 기틀이 되기도 한다






2. 자료를 참조하기

위에서 설명했듯이, 많이 만져볼수록 경험이 되는 사람이 있는 반면에 아무리 만져도 기능에 대한 이해가 안 될 수도 있다.
이를 위하여 모바일 애플리케이션의 사용서라고 볼 수 있는 자료들이 있다. 쉽게는 기획서, GUI 등이 있다. 해당 자료들은 이해하는 데 있어 참조할 수 있는 설명서라고 보면 된다. 기획서에는 해당 모바일 애플리케이션에 대한 기능에 대한 설명부터 업데이트 이력, 또한 SPEC에 관하여서도 기술되어 있다. 기능에 대하여 이해가 안 될 경우에는 기획서를 바탕으로 참조하면 되겠다.



기획서 말고도 참조 가능한 자료로는 GUI가 있다. GUI에는 기획서처럼 기능에 대한 설명이나 업데이트 이력, SPEC에 관하여 기술되어 있지는 않지만, UI를 한눈에 보기 쉽게 해당 모바일 앱에 대하여 화면으로 나뉘어서 구성되어 있다. GUI를 바탕으로 모바일 앱 화면과 GUI 문서에 나온 화면 구성을 비교해 보면 된다.
기획서와 GUI 문서 말고도 참조 가능한 자료로는 기능 구조도가 있다. 흔히 학생 시절에 한 번씩 해봤던 마인드맵과 유사하다. 해당 기능에 대하여 어떤 경우에 어떤 결과가 나타나야 되는지에 대하여 연결되어 있는 구조이다. 다만 텍스트로만 구성되어 있어, 이해하기가 어려울 수도 있는 단점이 있다. 해당 자료들로 모바일 앱을 비교하여 상이한 점이 있는지 꼼꼼히 살펴서 결함을 검출해 낼 수도 있다.


3. 다른 단말과 비교하기

모바일 앱의 결함은 간헐적일 수도 있으며, 단말에 따라 다르게 나타날 경우도 있다. 보유한 단말에선 결함이 재현이 됐는데, 다른 단말에서는 재현이 안되는 경우에는 단말의 OS 또는 제조사, 지원하는 기능에 따라서 재현 여부가 갈린다.
이런 경우에는 다른 단말과의 비교해 보는 과정이 필요하다.
OS 별로 결함이 다르게 재현되는 경우에는 단말 OS 별로 비교해서 재현 여부를 알아야 어느 OS에서 재현이 되고 어느 OS에서는 재현이 되는지 판별 가능하다. 예를 들어 같은 삼성 제조사면서 OS가 OS 10인 QOS 와 OS 13인 TOS를 단말을 검증한다고 하면, 제공되는 기능이 다르므로 아래의 사진과 같이 결과가 다르게 나온다.


제조사 별로 재현되는 경우에는 크게는 안드로이드폰/아이폰의 경우로 나누어서 볼 수 있으며, 안드로이드폰의 경우에는 삼성/LG 단말로 나누어서 재현 여부를 비교해 볼 수 있다.
이러한 결함의 경우는 안드로이드/아이폰으로 경우로도, 제조사 별로 지원하는 기능이 다르므로 어느 제조사단 말에서 재현되는지 명확히 판별해서 검출을 해야 한다.




4. 주변기기와 연동하여 검증하기

모바일 앱의 기능과 연관된 기능을 검증할 수 있는 방법으로는 주변기기를 활용하여 검증하는 방법도 있다. TV부터 블루투스 이어폰, Car-kit, 스피커 등이 예로 들 수 있다. 그냥 모바일 앱의 기능만으로는 검증을 함에 있어서 한계가 있으며, 모바일 앱에서 지원하는 주변기기로 검증을 한다면 일반적으로 모바일 앱을 검증하는 방법보다는 다양한 검증결과를 얻어 낼 수 있다.


예를 들어 모바일 앱에서 통화 기능을 검증한다고 하면 일반 단말 스피커가 아닌 블루투스, 이어폰, Car-kit 등으로도 Test가 가능하며, 해당 주변기기를 연결하여 통화를 했을 때, 노이즈가 발생하는지, 블루투스 선택 팝업이 노출이 되어야 하는데 미 노출 된다는 결함 등의 주변기기와 해당 모바일 앱을 연동했을 때의 검증결과를 도출해 낼 수 있다. 위에 설명한 예의 기기뿐만 아니라 계속해서 모바일과 간편하게 연동이 되는 주변기기들이 실생활에서 널리 개발 및 사용되고 있으며, 위에서 언급했던 경험 기반 검증하기 방법과도 직결되는 부분이기도 하다.


5. 최신 트렌드를 활용하기

모바일 앱 검증 방법으로는 최근 트렌드를 반영하여 검증하는 방법도 있다. 최근 앱 사용 동향을 반영하여, 검증하는 방법인데 예를 들어 요즘 모바일 게임은 과거 드래곤 플라이트와 같이 세로 모드에서 플레이하는 추세에서 최근에는 가로로 넓게 모바일 게임으로 바뀌었는데, 이를 이용하여 어떠한 결함이 나오는지 결과를 도출해 낼 수도 있다. 예를 들어 세로 모드만 지원 되는 앱을 실행했을 때, 앱이 종료, 또는 중지 팝업이 발생되는 결함을 도출해 낼 수도 있다.




6. 검증 이력 참조하기

검증된 결함이라고 해서 반드시 재현이 되지 않는 건 아니다. 분명 수정을 했는데도 불구하고 나중에 검출했던 결함과 동일한 결함이 다시 재현되는 경우도 있으며, 수정된 결함이지만 해당 결함이 다른 검증 과정으로도 또다시 재현될 수도 있다. 위에서 기술했듯이 결함은 간헐적으로도, 단말에 따라 다르게 나타난다. 다른 단말에서도 수정이 되었어도, 지금 사용하고 있는 단말에 결함이 또 재현될 수도 있기에 이를 방지하기 위하여 다시 검증 이력을 참조해서 결함을 찾아내는 방법도 있다. 그리고 검증된 검증 이력을 참조하여 새로운 결함을 검출하는 방법을 도출해 낼 수도 있다.




7. 검증 체크리스트 작성하기

위의 방법 말고도 모바일 앱의 기능에 대하여 체크리스트를 작성하는 방법이 있다.


앱에 어떠한 기능에 대하여 자신이 어떠한 방법으로 어떻게 결함을 작성할 것인지 와 검출한 결함을 정리해서 결함 검출을 체크해 보는 방법이다. 해당 방법으로 검증하려면, 일단 모바일 앱의 기능에 대해서 알고 있는 상태여야 하며, 앱에서 제공하는 기능 또한 여러 가지라서 어떻게 작성해야 되는지 시작하기도 까다로울 뿐만 아니라, 매 결함을 검증할 때마다 작성해야 되기 때문에 비교적 간단해 보이지만 실행에 옮기기 어려운 방법이기도 하다. 그러나 해당 방법으로 검증 계획서를 작성하고 그게 쌓이다 보면 1번에서 설명한 경험 기반 검증 방법에 있어서 매우 도움이 된다. 그리고 남에게도 이러한 방법으로 검증한 것을 토대로 문서적으로 정리되어 있어 전달해 주기도 편한 이점이 있다.


결 론

이와 같은 방법 말고도 모바일 앱에 대하여 검증하는 방법은 여러 가지 방법들이 있다. 자신이 생각했을 때 가장 어떠한 방법이 모바일 앱 검출에 있어서 효과적일지 그리고 또 자신이 검출하는 데 있어서 용이하게 쓸 수 있는지는 직접 결함을 검출했을 때의 경험에 달렸다.
모바일 앱에 있어서 결함은 완전히 없다고 할 수 없는 것 들이라고 설명할 수 있으며, 해당 결함을 검출하기 위해서는 결함 검출에 대하여 방법 구상과 연구도 필요하다고 할 수 있다. 이러한 방법 구상이나 연구 없이 모바일 앱을 검증하기에는 뭘 해야 되고 어떤 것부터 시작해야 되는지 망망대해에서 헤엄치는 만 기분이 들면서 자괴감이 들지도 모른다.
이를 벗어나기 위해서는 본론에서 설명한 것과 방법 외에도 자신이 직접 모바일 앱을 검증 또는 실생활에서 사용하면서 듣고 보고 한 것들을 적용하여 검증해 보는 것이 모바일 앱의 결함 검출에 있어서 가장 큰 기틀이 되어 줄 것이다. 그렇기에 본론에서 맨 처음으로 설명한 방법이 경험에 기반한 결함 검출 방법으로 설명을 한 것이다. 모바일 앱은 휴대폰이 출시되면서도 무수히 개발되고 있고, 앞으로 어떤 기능이 탑재된 앱이 나타날지 모르고, 또 어떻게 우리 생활에 적용이 될지 모른다. 하지만 모바일 앱의 결함은 어떠한 앱이 나오든 나오게 되어 있으며, 모바일 앱 결함 방법에 대하여 이런 방법들이 있고, 또 어떻게 해결해야 하는지와 모바일 앱 QA들이 어떤 일을 하는지 설명할 수 있도록 기술 리포트를 작성하게 되었다.

<참고 문헌>
- ISTQB_CTFL_모바일앱테스팅(MAT)_v.2019_실러버스_한글_v1.1