1. 앱 공존성 테스트란?
    1. 앱 공존성의 의미
      • 자원을 공유하는 공동 환경에서 다른 독립적인 소프트웨어와 공존할 수 있는 소프트웨어 능력을 의미한다.
      • 다른 앱에 나쁜 영향을 미치지 않고 하드웨어 자원을 공유하며 기능을 효율적으로 수행해야 한다.
      • 다른 독립적인 애플리케이션과 서비스할 제품간의 상호작용으로 인해 생기는 결함을 예측하여
        의도한 환경으로 간섭을 도입함으로서 애플리케이션의 반응을 확인한다.
      • 많은 회사에서 테스트 필요성 또는 검증필요범위로 인식하지 못하거나 예외케이스로 존재하는 경우가 많다.
      • 하지만 공존성 실패로 인해 발생하는 이슈 유형과 영향 범위가 다양해서 무시하거나 제외하면 안된다.
      • 적어도 신규 서비스 출시 및 공존성에 영향을 줄 수 있는 변경사항이 생기면 반드시 테스트해보는 것이 좋다.
    2. 공존성 실패로 발생할 수 있는 이슈
      • 서비스할 제품 내부 모듈에서 백신 앱을 바이러스로 인지해 설치되지 않거나 주요기능이 작동하지 않는 이슈
      • 제품에서 제공하는 사운드가 백그라운드 처리시에도 일시정지 되지 않고 계속 발생하는 현상
      • 타 애플리케이션과의 충돌로 서비스할 제품이 설치되지 않거나 작동하지 않는 이슈
      • 여러 앱을 분할 화면으로 띄울 때, 애플리케이션이 크래시/프리지되는 현상
      • 공존의 영향으로 기능 손실, 데이터 손상, 신호 중단 발생
  2. 앱 공존성 테스트 방법
    1. 안티 바이러스 검사
      • VirusTotal 과 같은 안티 바이러스 엔진을 통해 설치파일에 맬웨어 및 바이러스가 포함되어있지 않은 지 확인
      • 애플리케이션 내부 URL에 사용 금지 및 의심스러운 링크가 적용되어있는 지 확인
      • 이 서비스할 애플리케이션의 안정성을 검증하고 하드웨어와 공존하는 다른 애플리케이션에게 예상치 못한 영향을 미치지 않는지 확인한다.
    2. 백신 애플리케이션과 공존성 검사
      • 애플리케이션 설치 파일 (ipa, apk) 안티 바이러스 검사가 
      • 마켓 출시 후 백신 애플리케이션을 통해 악성으로 탐지되지 않는 지, 최신 바이러스가 존재하는 지 확인한다.
      • 백신 애플리케이션의 스캔 기능을 사용해 서비스할 제품에 이상이 있는 지 확인한다.
      • 백신 프로그램이 검사중인 상태에서 주요 기능 작동이 문제없이 사용 가능한 지 확인한다.
      • 테스트를 시작하기 전, 백신 애플리케이션이 최신 버전으로 유지되는 지 확인한다.
      • 백신 애플리케이션 간의 충돌이 발생할 수 있으니, 설치하는 백신 애플리케이션은 하나만 사용한다.
    3. 다른 애플리케이션과 공존성 확인
      • 디바이스에 설치된 타사 애플리케이션과 서비스할 제품 간의 상호작용 능력을 확인한다.
      • 타사 애플리케이션을 설치하고 사용중인 상태에서 서비스할 제품의 주요 기능 동작을 확인한다.
      • 애플리케이션간의 상호작용으로 기능이 작동하지 않거나 충돌과 같은 이상현상이 있는지 확인한다.
      • 타사 애플리케이션의 알람이 발송되는 겨우, 의도치 않은 동작이 발생되지 않는지 확인한다.
      • 서비스할 제품이 다른 애플리케이션에 영향을 미치지 않는지, 외부 환경의 간섭으로 영향을 받지 않는지 확인하여, 제품의 공존 능력을 검증하고 보장된 제품을 제공한다.