portability testing guide with practical examples
이식성 테스트 소개 :
이식성 테스트는 소프트웨어 구성 요소 또는 응용 프로그램을 한 환경에서 다른 환경으로 이동할 수있는 용이성 또는 어려움을 결정하는 비 기능적 테스트 방법입니다.
이식성 테스트에서 얻은 테스트 결과는 한 환경의 소프트웨어 구성 요소를 다른 환경에서 얼마나 쉽게 사용할 수 있는지 알아내는 데 도움이됩니다.
'환경'이라는 용어는 한 운영 체제에서 다른 운영 체제로, 한 브라우저에서 다른 브라우저로 또는 한 데이터베이스 버전에서 다른 데이터베이스 버전으로 이동하는 것을 의미합니다.
이식성 테스트의 주요 규칙은 소프트웨어 구성 요소가 한 환경에서 다른 환경으로 이동되는 경우에만 사용된다는 것입니다.
이식성 측정은 소프트웨어 구성 요소를 한 환경에서 다른 환경으로 이동하는 데 필요한 노력입니다. 이식성 측정의 한 단위는 소프트웨어 재개발 비용과 비교하여 새로운 환경에 소프트웨어를 채택하는 비용입니다.
이 튜토리얼은 이해하기 쉽도록 간단한 용어로 된 몇 가지 실용적인 예제와 함께 이식성 테스트의 의미, 목적, 속성, 체크리스트, 장점 및 단점에 대한 전체 개요를 제공합니다.
학습 내용 :
이식성과 호환성 테스트의 차이점
아래에 주어진 사항은 이식성과 호환성의 차이점을 간략하게 구분합니다.
=> 호환성은 둘 이상의 구성 요소가 서로의 동작에 부정적인 영향을주지 않고 동시에 동일한 환경에서 실행될 수 있는지 여부를 다룹니다.
예: Windows 10과 같은 동일한 OS에서 실행되는 워드 프로세서와 계산기는 하나의 응용 프로그램을 실행해도 다른 응용 프로그램의 동작에 영향을 미치지 않으므로 서로 호환된다고 할 수 있습니다.
=> 이식성은 구성 요소를 한 환경에서 다른 환경으로 이동하는 것을 다룹니다.
예: Windows XP에서 실행되는 게임은 게임 동작을 변경하지 않고 동일한 게임을 Windows 7에서 실행할 수있는 경우 이식 가능하다고합니다.
=> 요컨대, 이식성 테스트는 여러 환경에서 소프트웨어 구성 요소를 다루는 반면 호환성 테스트는 동일한 환경에서 두 개의 서로 다른 응용 프로그램을 테스트하는 것입니다.
목표
다음은이 테스트의 목표입니다.
- 프로세서 속도, 디스크 공간 및 RAM, 모니터 해상도, OS 및 브라우저 버전과 같은 각 환경 적 특성에 시스템을 이식 할 수 있는지 확인합니다.
- UI 및 기능적 기능과 관련된 애플리케이션의 모양과 느낌이 여러 OS 및 여러 브라우저와 유사한 지 확인합니다.
- 이 테스트는 특히 제품 고객이 여러 브라우저 버전과 함께 여러 운영 체제를 사용할 것이라는 인식이있는 경우 시스템을 출시 할 준비가되었는지 확인하는 데 도움이됩니다.
- 이 테스트는 일반적으로 미리 정의 된 이식성 요구 사항 집합에 대해 수행되며, 이는 응용 프로그램의 단위 및 통합 테스트에서 누락 된 결함을 찾는 데 도움이됩니다.
- 이 테스트에서 발견 된 결함은 개발자가 제품 릴리스의 일부로 수정하고 제공해야합니다.
- 이 테스트는 일반적으로 소프트웨어 개발 수명주기 동안 점진적으로 수행됩니다.
속성
소프트웨어 테스트 보드는이 테스트의 특정 주요 특성을 정의했습니다.
그들은:
- 설치 가능성
- 적응성
- 교체 가능성
- 호환성 또는 공존
# 1) 설치 가능성 :
설치 가능성은 대상 환경에 설치해야하는 소프트웨어에서 수행됩니다.
다음 특성은 설치 가능성 테스트의 일부로 검증됩니다.
- 설치를위한 운영 체제 요구 사항.
- 응용 프로그램 사용을위한 브라우저 요구 사항.
- 메모리 또는 RAM 요구 사항.
- 설치 절차.
- 제거 절차.
- 설치 중단 예외.
- 소프트웨어 설치를위한 전제 조건.
# 2) 적응성 :
적응성 테스트는 시스템이 각 대상 환경에 적응할 수 있는지 확인하는 프로세스입니다. 여러 시스템간에 공통 통신 표준을 사용하면 시스템 전체의 적응성을 향상시키는 데 도움이 될 수 있습니다.
적응성 테스트에는 다음 특성이 포함됩니다.
- 하드웨어 의존성.
- 소프트웨어 의존성.
- 표준 언어.
- 각 대상 환경과 시스템 통신.
- 종속성 캡슐화.
- 여러 시스템에 걸친 종속성 표현.
# 3) 교체 가능성 :
교체 가능성은 한 소프트웨어 구성 요소를 다른 구성 요소로 교체 할 수있는 기능입니다. 이전 구성 요소를 대체하는 구성 요소는 모든 대상 환경에서 이전 구성 요소와 동일한 결과를 생성해야합니다. 이상적으로는 교체되는 구성 요소와 동일한 용도로 사용되어야합니다.
VB 스크립트 인터뷰 질문 및 답변
동일한 도메인의 경쟁 제품은 교체되는 제품이 경쟁사의 기존 제품보다 훨씬 저렴할 수 있으므로 교체 가능성의 이상적인 후보가 될 것입니다.
# 4) 호환성 또는 공존 :
호환성은 서로의 동작에 부정적인 영향을주지 않고 동일한 환경에서 기존 구성 요소에 대해 둘 이상의 구성 요소를 사용할 수있는 기능입니다. 이 테스트는 여러 하위 시스템을 일부로 포함하는 대형 시스템에서 특히 유용합니다.
하위 시스템은 이상적으로 공통 스택 영역과 메모리를 공유합니다. 그 결과 한 하위 시스템에서 발생한 예외가 다른 하위 시스템으로 쉽게 전파되어 전체 응용 프로그램이 중단 될 수 있습니다.
기존 구성 요소 변경, 새 구성 요소로 업그레이드, 새 인터페이스를 기존 구성 요소에 적용하는 것은 시간이 지남에 따라 소프트웨어 시스템이 직면하는 모든 문제입니다.
실패한 구성 요소 호환성 테스트 요구 사항은 전체 시스템에 큰 영향을 미치므로 각 구성 요소가 공통 리소스에 미치는 영향을 철저히 테스트해야합니다.
목록에 몇 가지 다른 :
이러한 주요 속성 외에도 이식성 테스트에는 상호 운용성 테스트 및 지역화 테스트와 같은 여러 다른 속성도 포함될 수 있습니다.
(i) 상호 운용성 : 상호 운용성 테스트는 두 개 이상의 구성 요소가 통신 문제없이 서로 상호 작용할 수 있는지 확인하는 데 도움이됩니다.
예를 들어 , Windows 10 PC와 Android 기반 스마트 폰 간의 Bluetooth를 통한 데이터 전송은 상호 운용성 테스트를 위해 수행 될 수 있습니다.
(ii) 현지화 : 현지화 테스트는 개발 된 소프트웨어가 사용중인 현지 언어로 이해 될 수 있는지 확인하기 위해 수행됩니다. 이러한 유형의 테스트는 내재화 테스트라고도합니다.
예를 들어 , 소프트웨어는 중국어, 이탈리아어, 러시아어 등 다양한 국제 언어로 테스트되어야합니다.
이식성 테스트 체크리스트
체크리스트에는 이식성 테스트의 일부로 테스트 할 요구 사항이 포함되어 있습니다.
체크리스트 준비를 진행하기 전에 시스템의 모든 개별 구성 요소를 철저히 테스트하고 서로 통합하여 하나의 대형 시스템을 형성하는지 확인하는 것이 중요합니다.
체크리스트가 효과적이고 효율적인 것이 되려면 이식성 테스트의 모든 목표를 염두에 두어야합니다.
- 이 테스트는 모든 이식성 요구 사항을 충족해야합니다.
- 여러 운영 체제에서 애플리케이션 테스트를 수행해야합니다.
- 여러 브라우저 버전에서 애플리케이션 테스트를 수행해야합니다.
- 이 테스트는 지속적인 회귀 테스트를 위해 자동화 할 수 있습니다.
- 이 테스트는 소프트웨어 개발 라이프 사이클 전체에서 점진적이고 반복적 인 방식으로 수행되어야합니다.
장점과 단점
이식성 테스트에는 다른 테스트와 마찬가지로 고유 한 장점과 단점이 있습니다. 그것들을 살펴 보겠습니다.
장점 :
- 여러 구성 요소 간의 종속성을 식별하는 데 도움이됩니다.
- 이 테스트는 서로 상호 작용하는 여러 하위 시스템이있는 대형 시스템에서 특히 유용합니다.
- 이 테스트는 제품 고객이 여러 브라우저 버전이있는 여러 운영 체제를 사용할 때 선호됩니다.
- 유닛 및 통합 테스트 중에 누락 된 버그는이 테스트를 사용하여 발견 할 수 있습니다.
- 소프트웨어의 설치 및 제거도이 테스트의 일부로 테스트 할 수 있습니다.
- 애플리케이션의 응답 성과 성능은 여러 브라우저와 여러 운영 체제에서 테스트 할 수 있습니다.
- 이 테스트를 사용하여 여러 브라우저 및 여러 운영 체제에서 애플리케이션의 모양과 느낌을 확인할 수 있습니다.
- 이 테스트는 애플리케이션의 기능이 여러 운영 체제 및 여러 브라우저에서 예상 한 것과 같은지 확인하는 데 도움이됩니다.
- 또한 여러 시스템 간의 오류 전파를 제거하는 데 도움이됩니다.
단점 :
- 이 테스트는 일반적으로 소프트웨어 테스트주기에 시간 제약이있을 때 선호되지 않습니다.
- 이 테스트에는 여러 운영 체제 및 여러 브라우저와 같은 테스트를위한 여러 구성이 필요하므로 조직의 많은 예산이 필요합니다.
- 휴대 성 테스트를 수행하려면 모든 설정 하드웨어 구성을 사용할 수 있어야합니다. 즉, 조직은 설치 하드웨어 구성의 유지 관리에 대한 지원을 제공하기 위해 비용을 지불해야합니다.
- 이식성 테스트는 반복적 인 프로세스이므로 테스터가 테스트 중에 초점을 잃을 수 있습니다.
- 이식성 테스트 자동화는 지루한 작업이며 성공적으로 구현 되려면 테스터의 기술과 인내가 필요합니다.
- 다중 사용자 환경에서 이식성 테스트를 실행하는 것은 매우 까다로울 수 있습니다. 또한 테스트를 성공적으로 수행하려면 많은 데이터 워크로드가 필요합니다.
- 호스팅 환경을위한 저장 공간은 조직에 비용이 많이들 수 있습니다.
이식성 테스트의 예
다음은 몇 가지 고전적인 예입니다.
- Windows 7 및 Macintosh 운영 체제 모두에서 실행되도록 설계된 소프트웨어.
- Apple iOS 및 Google Android 기기에서 실행되도록 설계된 애플리케이션입니다.
- Microsoft Edge 브라우저 및 Google Chrome 브라우저와 호환되도록 설계된 소프트웨어.
- Windows 10 및 Apple Macintosh 운영 체제에서 실행되도록 설계된 비디오 게임.
- Windows 7 MySQL 서버 및 Macintosh Oracle 데이터베이스에서 실행되도록 설계된 소프트웨어.
- Windows 10 및 Windows XP 운영 체제에 소프트웨어 설치.
- Macintosh 및 Linux 운영 체제에서 소프트웨어 제거.
결론
이식성 테스트는 일반적으로 소프트웨어 구성 요소를 한 환경에서 다른 환경으로 이동해야하는 경우 선호됩니다. 이 테스트는 단위 테스트 및 시스템 통합 테스트의 일부로 식별되지 않은 결함을 발견하는 데 도움이됩니다.
이식성 테스트의 한 가지 주요 단점은 여러 하드웨어 구성을 사용해야하기 때문에이 테스트에 할당해야하는 예산입니다. 이러한 하드웨어 구성에 대한 유지 관리 및 지원 제공은 매우 지루하고 시간이 많이 걸리는 작업 일 수 있습니다.
따라서 일반적으로 장점이 단점보다 클 때 이식성 테스트가 선호됩니다.
이 훌륭한 튜토리얼을 통해 이식성 테스트의 개념을 명확하게 이해 하셨기를 바랍니다!
추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 소프트웨어 테스트 유형 : 세부 정보가있는 다양한 테스트 유형
- 기능 테스트 대 비 기능 테스트
- 소프트웨어 테스팅 QA 어시스턴트 작업
- 실용적인 소프트웨어 테스트-새로운 무료 eBook (다운로드)
- 소프트웨어 테스트에서 내구성 테스트 란 무엇입니까 (예)
- 알파 테스트 및 베타 테스트 (전체 가이드)
- 소프트웨어를 테스트하면서 즉시 생각하기!