1. 디바이스 기능 연동 테스트란?
    1. 디바이스 기능 연동 테스트의 의미
      • 디바이스 자체 기능과 서비스할 제품간의 상호작용으로 예상치 못한 영향을 확인한다.
    2. 인터럽트 테스트
      • 애플리케이션 사용 중 전화가 오거나 충전을 하는 등 의도하지 않은 동작을 인터럽트 유형이라고 한다.
      • 디바이스 기능을 고의로 조작하여 애플리케이션이 인터럽트에 반응하는 응답을 관찰한다.
      • 인터럽트 상황에도 애플리케이션 성능과 기능을 효율적으로 수행하는 지 확인하는 비기능 테스트이다. 
  2. 인터럽트로 발생하는 이슈의 유형
    1. 디바이스 소프트웨어 업데이트 후 튕김 현상
      • iOS/android 운영체제 자체 오류나, 디바이스 저장 공간 문제, 애플리케이션 데이터 변질로 발생할 수 있다.
      • 문제 발생 원인을 정확하게 구분하고 사전에 검증하여 수정 대응할 수 있도록 내부에 요청한다.
      • iOS.android 운영체제 오류의 경우, CS로 고객에게 가이드할 수 있도록 조치를 취해야 한다.
    2. 전화 수신 후 애플리케이션 강제 종료 현상
      • 전화가 수신되면 애플리케이션은 잠시 중단되고, 이후 애플리케이션이 원래 상태로 시작되어야 한다.
      • 애플리케이션이 강제 종료되거나 상태를 유지하지 않고 재시작 될 수 있다.
    3. 기능 조작 후 오류 현상
      • 디바이스 진동/무음 상태로 전환 후에도 사운드가 계속 노출되는 현상이 발생할 수 있다.
      • 디바이스 화면을 세로/가로로 전환했을 때 UI가 전환되지 않거나 깨지는 현상이 발생할 수 있다.
    4. 화면 분할 시, 애플리케이션 오류 현상
      • 멀티 윈도우를 제공하는 디바이스에서 여러 앱을 화면 분할로 띄울 때, 문제가 없는지 확인한다.
  3. 인터럽트 테스트 시나리오 작성
    1. 인터럽트 테스트 시나리오의 특징
      • 인터럽트에 따른 애플리케이션의 동작이 기업의 정책이나 기능적 요구사항으로 정해지지 않은 경우가 많다.
      • 모든 애플리케이션의 기대동작이 동일할 필요가 없어 결과가 언제든지 변경될 수 있다.
      • 테스트 시나리오 작성 시, 정의된 인터럽트에 따른 기대동작이 만족하는지 조건별로 확인하는 것이 좋다.
      • 만약, 내부 정책이나 요구사항이 별도로 존재하지 않는다면, 기능 동작에 집중하여 테스트를 수행하거나 유사 서비스를 조사하고 참고하여 정책을 마련한다.
    2. 디바이스를 외부 환경과 연결 또는 해제
      • 모바일 애플리케이션 사용 중 USB 케이블로 외부환경과 디바이스를 연결하거나 해제할 때 동작을 확인한다
      • 앱 종료 및 멈추는 현상, 사운드가 연결된 디바이스에 출력되지 않거나 멈추는 현상 등이 발생할 수 있다. 
    3. 배터리 부족
      • 인터럽트로 인한 데이터 손실 발생 확인을 목적으로 한다.
      • 배터리 방전으로 인해 디바이스 종료 시, 애플리케이션의 동작과 유저 데이터의 유지 여부를 확인한다.
      • 유저 데이터를 저장 시점에 맞물려 의도치않게 앱이 종료되는 경우를 대비한 로직이 설계되있는지 확인한다.
      • 위 테스트를 통해, 데이터 손실이 발생하지 않도록 캐시나 클라이언트 저장 공간에 임시 저장 구조가 설계될 수 있도록 의견을 제시한다.
    4. 디바이스 자체 기능 조작
      • 애플리케이션 이용 중 백그라운드로 전환 후 다시 포그라운드로 전환하거나, 뒤로가기 버튼에 대한 동작을 확인한다.
    5. 알림 발생
      • 애플리케이션 또는 외부 환경에서 제공하는 기능으로 인한 인터럽트 영향을 확인한다.
      • 애플리케이션 이용 중 타사 애플리케이션에서 발송한 푸시, 알람, 위기경보, 에어드랍, 디바이스 발송 시스템 알람 등의 애플리케이션 반응을 확인한다.
      • 충돌로 비정상 종료 발생 및 안정성이 보장되지 않아 이탈하는 등 잠재적 문제를 확인하고 품질을 보장한다.
    6. 다중 디스플레이
      • 갤럭시Z플립, 폴드와 같이 디스플레이가 2개 이상인 디바이스에서 각 디스플레이를 독립적으로 사용하거나 화면 이동 기능 사용 시, 애플리케이션 반응을 확인한다.
      • 예상치 못한 디바이스 기능에서 애플리케이션이 기능을 효율적으로 수행하는지 확인이 필요하다.