brunch

You can make anything
by writing

C.S.Lewis

by Ruth Hyojin Nam Sep 20. 2023

어플리케이션을 쓰는데 다양한 환경 호환은 필수죠!

호환성 테스트 (Compatibility Test)

호환성 테스트 (Compatibility Test)호환성 테스트 (Compatibility Test)

호환성 테스트 (Compatibility Test)


  서비스 하는 제품이 다양한 환경(단말기 / OS / 해상도 / 브라우저 / 운영체제 / 데이터베이스 등)으로 이식 가능한지 확인하고, 작동하는 모든 기능이 다양한 환경에서도 동일하게 작동되는지 확인하는 비기능테스트입니다. 



   SW 응용 프로그램은 단말기별, OS버전별, 해상도별, 네트워크 속도 등에 영향을 받을 수 있습니다. 일반적이고 정상적인 환경에서 작동되는 모든 기능들이 여러 환경에서도 동일하게 작동되는지 테스트해서 발생되는 오류를 제거하고 제품의 안정성과 신뢰성을 고객에게 제공해야합니다. 


‘호환성 테스트는 가능한 많은 환경에서 테스트를 진행하는 것이 좋다’는 말은 반은 맞고 반은 틀립니다. 테스트 일정과 투입 리소스가 충분한 상황이라면 가능한 많은 환경에서 테스트를 진행해도 일정상 문제가 없습니다. 하지만 대부분 일정이 촉박하고 투입 리소스는 항상 부족합니다. 이런 경우에 무턱대고 모든 환경에서 호환성 테스트를 진행하는 것은 일정과 비용을 낭비하는 결과를 초래하게됩니다. 


QA는 회사에서 제공하는 제품이 서비스할 타겟 유저, 타겟 국가, 응용프로그램을 이식하기 위한 조건(ex_최저사양 단말기/OS), 테스트 일정, 투입 리소스를 고려하여 테스트를 계획해야합니다. 




호환성 테스트를 진행하기위해 고려해야하는 요건들 


◻︎ 타겟Target 유저

  유저User란 제품을 사용중인 사람 또는 제품을 사용할 계획을 가지고 있는 사람을 의미합니다. 

타겟 유저는 모든 유저 중 제품을 실제로 이용하게 될 대상을 의미합니다. 타겟 유저는 서비스할 제품의 목표 / 목적 / 유형 / 성격에 따라 또는 서비스를 이용하는 유저의 행동과 태도 등 특성에 따라 특정 연령층 또는 특정 그룹(ex_9세이하 교육 프로그램, VIP회원 등)이 될 수 있습니다. 


  타겟 유저를 고려하여 테스트 전략을 계획하는 이유는 타겟 유저 선별 기준과 밀접한 관련이 있습니다. 

서비스 할 제품의 타겟유저 연령층, 단말기 사용 숙련도, 콘텐츠 민감도, 관련 서비스 사용 경험과 이해수준에 따라 QA 테스트 범위와 주요 기능 우선순위 선정, 테스트 단말기 선정 기준에 영향을 받기 때문입니다. 
예를 들어 이커머스 제품의 타겟유저가 30~40대 연령층이라면 활발한 경제활동 시기로 제품의 비용 지불에 거부감이 적고, 이용하고자 하는 콘텐츠 민감도가 높을 것이며, 고사양 단말기를 주로 사용하고, 제품내 체류 시간에 많은 투자없이 원하는 상품을 최대한 빠른 경로로 구입하고자 하는 특성을 가질 것입니다. 이런 특성들을 고려하여 QA는 1)테스트 단말기 선정시 고사양 위주로 선택 2)상품조회 및 검색, 결제 기능의 우선순위 선정 3)타겟유저의 관심사에 맞는 콘텐츠 위주로 테스트 범위 선정에 중점을 두고 전략을 계획할 수 있어야 합니다. 


◻︎ 타겟Target 국가

  타겟 유저와 유사하나 국가별 지리적/문화적 요소, 언어, 네트워크 속도, 주 사용 단말기 유형 등 국가적 특이사항이 추가됩니다. 이런 국가적 특성을 조사하여 테스트 전략을 계획합니다. 
예를들어 서비스 할 제품의 주요 타겟 국가가 일본이라면, 일본 유저의 지리적/문화적 특성을 조사해야 합니다.
주요 특징을 살펴보면,
1) 인증 : 페이스북/트위터/라인을 주사용. 
2) 약관동의 : 일본문화에서는 약관 전체 내용이 노출되는것에 반감이 있음. 
3) UI커스터마이징 : 서비스 특화된 UI를 제공하기 희망하는 경향이 있음.
4) 셀룰러 데이터사용 : 유저가 인지하지 못한 상태에서 데이터가 사용되는것을 꺼리는 성향이 있음. 
5) 언어처리 : 한자/히라가나/카타카나 입력 제어 제공.
6) 단말기이용율 : iPhone 이용율이 높음

위 특성을 기반으로 테스트 전략을 계획한다면 1)IOS를 주요 테스트 단말기로 선정 2)언어&문화적 특성상 사용하지 않아야 할 단어 사용 여부 확인 3)인증, 약관, UI팝업 등 일본국가에 맞게 적용된 특성 반영 확인 등 주요 기능 외 국가의 문화적 요소도 테스트 범위로 선정되어야 합니다. 


◻︎ 최소 지원 사양

  애플리케이션을 설치하기 위한 최소 시스템 요구 사항입니다. 대부분의 모바일 애플리케이션은 구글 플레이와 애플 앱스토어에서 요구하는 최소사양을 따르고 있습니다. 

구글 플레이 스토어 최소 사양 : Android 5.1 이상(API Level 22)

애플 앱스토어 최소 사양 : IOS 11 이상

  테스트할 단말기 범위 선정시 애플리케이션이 설치되지 않는 사양까지 테스트 범위에 포함할 필요는 없습니다. 또 대부분의 애플리케이션이 구글/애플 마켓의 정책을 따르고 있으나 일부 제품은 더 낮은 사양까지 지원하는 경우도 있어 각 회사에서 서비스하는 제품이 지원하는 최소 사양을 확인하여 테스트 단말기를 선정해야합니다. 

◻︎ 호환성 테스트 시나리오

  호환성 테스트를 위해 테스트 대상의 전체 기능/비기능 테스트를 수행할 필요는 없습니다. Smoke test 또는 Regression test의 커버리지 수준 혹은, 어플리케이션 설치/실행/삭제/UI해상도/제품 주요 기능에 대해서만 확인하는 수준으로 테스트 시나리오를 선정합니다. 또한, 응용 프로그램 중 서버로부터 호출하여 클라이언트로 다운로드되는 범위는 제외하고 클라이언트로 직접 설치되는 프로그램을 대상으로 테스트 범위를 선정합니다. 

[호환성 테스트 시나리오 예시]




테스트 단말기/OS 선정

모바일 대상으로 테스트 단말기 선별방법을 설명해드리겠습니다. 

시중에 나와있는 모바일 단말기와 하드웨어 종류, OS Version을 먼저 확인해보겠습니다. 








전체 국가에서 주요 비중을 차지하는 단말기와 해당 브랜드에서 제공하는 OS 버전만 간추려도 그 수가 어마어마하게 많습니다. 

호환성 테스트를 위해 위의 단말기와 OS 버전 전체를 테스트 범위로 선정 할 수는 없습니다. 

그래서 테스트 전략이 필요하고 전략에 따른 실행 계획을 세워야 합니다. 



✻ 호환성 테스트 단말기/OS 선별 방법  

예시를 가지고 호환성 테스트 단말기/OS 를 선별해보겠습니다. 


[예시] 한국에서 서비스 중인 애플리케이션을 대만을 타겟으로 서비스를 확장할 계획이다. 주 타겟 연령은 15세 이상이나 전체 연령이 이용가능하다. QA 테스트를 위해 주어진 일정은 4일, 투입 리소스는 TL 1명/TE 3명이다.


예시에서 확인되는 주요 특성 조건은  

    - 대만 타겟 국가 선정

    - 전체연령 사용가능
    - 테스트 일정 부족 
    - 투입 인력 부족

으로 일정과 인력은 부족하나 테스트를 수행해야 할 범위는 많은 상황입니다. 


 [호환성 테스트 품질 목표]  

    짧은 기간안에 최대 품질을 확보하여 비즈니스 리스크 감소  

    대만 유저 특성, 국가 지리적/환경적/문화적 리스크 요인을 고려하여 서비스 가치를 제공  

    대만 스마트폰 점유율 랭킹을 기반으로 주 사용 단말기/OS를 선정하고 TC 수행 품질 기준(수행율 n%/성공율 n%) 달성을 목표로한다.  


[호환성 테스트 단말기/OS 선별 전략]   

    대만 주 사용 단말기 브랜드 랭킹 (랭킹 높은순 정렬)

    Apple → Samsung → OPPO → Xiaomi  Asus  vivo  Sony  Realme  HTC  Huawei

각 브랜드별 기기 종류

    ex) Samsung : 갤럭시S 기종 - S4/S5/S6…S21/S22/S23

          Apple : 아이폰 기종 - 6/7/8…/11pro,max/12 pro,max/13/14/15 .. etc.

    OS 시장 점유율 (랭킹 높은순 정렬)
IOS : 15.6 → 15.5 → 15.4 → 16.3 → 16.1 → 16.0 → 16.2 

     Android : 12  11  10  9  13  6  8.0  8.1  7


애플의 iPhone 기종만 선별해도 테스트할 단말기는 약 140~150대로 확인됩니다. 각 브랜드별로 기기+OS를 모두 선별한다면 호환성 테스트를 위해 선별된 테스트 단말기 대수는 1000대는 충분히 뛰어 넘을것 같습니다. 

이걸 다...테스트 할 수는 없겠지요. 최대의 효과를 얻을수 있도록 효율적인 전략을 마련해봅시다.


테스트 설계기법 중 '페어와이즈Pairwise 기법'을 적용해서 테스트 단말기를 선별해보겠습니다. 

‣ 대부분의 결함이 2개 요소의 상호작용에 기인한다는 점에 착안하여 각 요소들이 최소한 한번씩 조합을 이루게한다.













페어와이즈 기법을 적용하기 전 테스트해야 할 IOS 단말기는 총 144대가 필요한 것으로 확인되었으나 기법 적용 후 총 12대의 단말기로 단말기 종류&하드웨어 OS의 조합이 도출되었습니다.


여기서 ‘대만 국가의 OS 점유율을 포함 + 점유율이 낮은 단말기와 OS를 과감히 제거 + 같은 해상도의 단말기 제거 + 최저사양/권장사양/최고사양 단말기와 점유율이 높은 OS 위주’로 재정리하면 총 6대의 단말기 조합을 도출할 수 있습니다.








여기에 추가로 중복되는 OS 15버전과 16버전을 하나씩만 남긴다면 총 4대의 단말기만으로도 IOS의 호환성 테스트를 위한 조합은 충분히 만족할 수 있습니다.






최소로 도출된 단말기 조합 총 4대 기준으로 대만의 주 사용 단말기종인  Apple / Samsung / OPPO / Xiaomi로 테스트 단말기 전체 대수(+ 점유율 2%이하 제외)를 계산하면 총 16대의 단말기로 주어진 일정 내 호환성 테스트를 커버할 수 있습니다.



호환성 테스트에서 발생될 수 있는 이슈 사례

      최저사양에서 애플리케이션이 설치되지 않는 이슈     

      일부 환경에서 애플리케이션 이용 중 이미지가 깜박거리거나 프레임이 깨지는 이슈     

다양한 해상도에서 이미지가 리사이징resizing되지 않고 상하좌우 여백 또는 검은 여백이 노출되거나, 다른 이미지가 겹쳐 노출되거나, 이미지가 늘어져서 노출되는 이슈



  자주 발생되는 이슈 사례를 봐도 알수 있듯, 호환성 테스트로 발견되는 이슈는 대부분 UI 관련 이슈가 많습니다. UI 이슈는 중요도가 낮아 발견 즉시 수정되지 않고 유지보수 등 후대응으로 처리되는 경우가 많습니다. UI이슈이기는 하나 구글/애플 마켓의 앱 심사시 반려 대상이 될 수 있는 이슈(위 이슈 사례 3번 케이스)에 해당될 경우 중요도가 높아질 수 있습니다. 이슈 처리방법에 대한 결정시 QA는 이슈 분석 결과, 재현율, 사용 점유율 대비 이슈 수정에 소요되는 가치비용을 산정하여 처리 방안에 대한 명확한 의견을 제시해주어 결정권자와 관련자들이 올바른 의사 결정을 하도록 도와주어야 합니다. 

작가의 이전글 클라이언트 성능 검증으로 사용자 경험 개선하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari