1. 웹 응용 프로그램
    1. 특징 
      • 브라우저를 통해 작동하므로, 운영체제에 구애받지 않는다.
      • 설치할 필요가 없고 url을 통해 언제든 접근 가능하다.
      • 업데이트가 서버에서 이루어져, 페이지를 새로 접근하면 바로 업데이트된다.
      • 클라이언트-서버 통신에서 보안 취약점이 있을 수 있다.
      • 브라우저의 성능에 영향을 받는다.
      • ex) naver, google, daum, facebook 등
    2. 필요한 QA
      • 호환성 테스트
        • 다양한 브라우저 / 운영체제 / 모바일에서 애플리케이션이 제대로 작동하는 지 테스트 해야 한다.
      • 반응형 디자인 테스트
        • 다양한 화면 크기 및 디바이스에서 레이아웃이 잘리거나 깨지지 않는 지 확인해야 한다.
      • 성능 테스트
        • 페이지 로딩 속도, 응답 시간, 데이터 처리 속도 등을 테스트 한다.
        • 다양한 네트워크 환경 (wifi, 4g, wlan 등) 에서의 속도를 테스트한다.
      • 사용성 테스트
        • 사용자 인터페이스와 사용자 경험을 평가한다.
      • 자동화 테스트
        • Selenium, Cypress, Puppeteer, Playwright, TestCafe, Protractor 등을 사용할 수 있다.
  2. 데스크톱 애플리케이션
    1. 특징
      • 로컬에서 설치, 실행되어 OS별 애플리케이션이 별도로 존재하다.
      • 컴퓨터 또는 모바일 장치에 설치가 필요해 리소스가 필요하다.
      • 업데이트 할 때마다 설치가 필요하다.
      • 운영체제의 보안 정책 및 사용자 관리에 영향을 받는다. (물리적 보안의 중요성)
      • 인터넷이 연결되지 않은 상태에서도 사용 가능하나, 클라우드 기능 제공 시, 일부 기능이 제한될 수 있다.
      • ex) kakaotalk, postman, zoom 등
    2. 필요한 QA
      • 호환성 테스트
        • 다양한 운영체제 환경에서 제대로 동작하는 지 확인한다.
        • 운영체제 버전 별 호환성 또한 중요하다.
      • 설치 및 배포 테스트
        • 설치 과정 및 업데이트가 원활하게 적용되는 지 테스트한다
      • 성능 테스트
        • 애플리케이션 로딩 속도, 메모리 사용량, CPU 등 로컬환경의 리소스를 측정하여 최적화한다.
        • 장시간 사용 시, 성능 부하 여부도 확인한다.
      • 보안 테스트
        • 애플리케이션 데이터 저장 및 전송이 안전한지 확인이 필요하다.
      • 사용성 테스트
        • 사용자 인터페이스와 사용자 경험을 평가한다.
      • 신뢰성 테스트
        • 오프라인 상태와 같은 부적절한 상황에서 의도한대로 작동하는 지 확인한다.
      • 자동화 테스트
        • SikuliX, Autolt, WinAppDriver, Winium, Pywinauto, TestComplete 등을 사용하여 테스트 가능하다.
  3. 웹 응용 프로그램과 데스크톱 응용 프로그램의 특징 요약
    특징 웹 응용 프로그램 데스크탑 애플리케이션
    플랫폼 플랫폼 독립적 (브라우저 필요) 플랫폼 종속적 (운영체제에 영향을 받음)
    설치 설치 불필요 (url 통해 접근) 설치 필요 (리소스 필요)
    업데이트 자동 업데이트 (서버 측에서 관리) 수동 업데이트 (사용자가 직접 설치)
    접근성 인터넷 가능한 곳에서 모두 접근 가능 오프라인 사용 가능
    성능 브라우저 성능 제약 (고성능 작업에 한계) 고성능 작업에 유리함 (하드웨어 직접 활용)
    보안 서버 보안이 중요함 (통신 보안 이슈) 운영체제 보안 정책 및 사용자 관리 영향 (물리적 보안)
    예시 naver, google, daum, facebook 등 kakaotalk, postman, zoom 등