호환성 테스트는 많은 품질 보증 전략의 필수 구성 요소로, 회사에서 소프트웨어가 서로 다른 플랫폼에서 올바르게 작동하는지 확인할 수 있습니다. 데스크톱 전용 프로그램의 경우에도 몇 가지 주요 운영 체제와 안정성에 영향을 미칠 수 있는 수백 가지(수천 가지가 아닌 경우)의 하드웨어 차이가 있습니다. 호환성 테스트 프로세스와 일반적인 이점을 이해하면 최대한 많은 사용자에게 도달할 수 있는 효과적인 제품 출시를 보장하는 데 도움이 될 수 있습니다.
호환성 테스트는 많은 이점을 제공할 수 있지만 소프트웨어 테스트 팀이 이 기술의 잠재력을 최대화하기 위해 극복해야 하는 중요한 문제도 많이 있습니다. 최상의 결과를 얻고 포괄적인 전체 테스트 범위를 보장하기 위해 이러한 부서에서 채택해야 하는 특정 관행도 있습니다.
이 기사에서는 팀이 따라야 하는 필수 단계와 현재 사용 가능한 가장 유용한 테스트 도구를 포함하여 호환성 테스트를 면밀히 살펴봅니다.
호환성 테스트는 무엇입니까
소프트웨어 테스트 및 엔지니어링?
호환성 테스트는 다양한 장치, 하드웨어 및 펌웨어에서 소프트웨어를 검사하여 팀의 기대에 부응하는지 확인합니다. 모든 사용자가 새 장치에서 프로그램에 참여할 수 있으므로 회사에서 모든 사용자가 비슷한 경험을 하도록 보장할 수 있는 것이 중요합니다. 예를 들어 호환성 테스트에는 앱의 각 기능을 확인하여 모든 주요 운영 체제에서 작동하는지 확인할 수 있습니다.
철저한 호환성 테스트 없이 회사에서 특정 인기 장치에서 작동하지 않는 응용 프로그램을 출시할 수 있습니다. 여러 가지 방법으로 문제가 발생할 수 있으므로 이러한 검사는 완전히 포괄적이어야 합니다. 예를 들어 이 응용 프로그램은 매우 특정한 유형의 그래픽 카드에서 작동하지 않을 수 있습니다. 다른 형태의 소프트웨어 테스트와 함께 사용하면 품질 보증 팀은 프로그램이 출시 준비가 되었는지 확인할 수 있습니다.
1. 모바일 애플리케이션, 웹사이트, 시스템 및 크로스 브라우저에 대한 호환성 테스트는 언제, 왜 필요한가요?
회사는 소프트웨어 테스트 단계에서 호환성 테스트를 수행합니다. 특히 고객을 위해 작동하는 방식을 정확하게 반영하는 ‘안정적인’ 버전의 프로그램이 있을 때 그렇습니다. 이것은 알파 , 승인 및 일반적인 안정성 및 기능 관련 문제를 자주 찾는 다른 형태의 테스트 후에도 계속됩니다. 응용 프로그램이 호환성 테스트 단계에서 문제에 직면하는 경우 이는 일반적으로 특정 호환성 관련 문제 때문입니다. 이러한 검사를 너무 일찍 시행하면 프로그램 개발 주기 후반에 사소한 변경 사항이 호환성에 근본적으로 영향을 미칠 수 있으므로 효과적으로 중복될 수 있습니다.
브라우저 및 소프트웨어에 대한 호환성 테스트는 회사가 거의 모든 가능한 장치에서 적절하게 실행될 것이라고 알고 있는 응용 프로그램을 출시하는 데 도움이 되기 때문에 중요합니다. 예를 들어, 특히 브라우저 간 호환성 테스트는 Opera를 사용하는 사람들이 Firefox 및 기타 주요 브라우저를 사용하는 사람들과 동일한 경험을 하도록 하는 데 도움이 됩니다. 팀은 일반적으로 시간과 예산이 허용하는 한 많은 하드웨어/소프트웨어 변형을 테스트합니다. 즉, 고객이 사용할 가능성이 더 높은 시스템이나 브라우저의 우선 순위를 지능적으로 지정하여 광범위한 테스트 범위와 실행 가능한 제품을 보장해야 합니다.
2. 소프트웨어 호환성 테스트를 하지 않아도 되는 경우
회사는 특정 운영 체제 또는 모델에 대한 맞춤형 애플리케이션을 생성하여 필요한 검사 수를 크게 제한할 수 있습니다. 예를 들어 이 프로그램에 브라우저가 필요하지 않은 경우 소프트웨어 테스트에서 브라우저 간 호환성 테스트는 중복될 수 있습니다. 테스트 팀은 여전히 주요 시스템과 브라우저가 소프트웨어와 호환되도록 노력해야 하지만 시간도 이러한 테스트를 수행하는 회사의 능력에 심각한 요인이 될 수 있습니다. 기본 호환성 테스트의 이점을 누릴 수 없는 특정 프로젝트도 있습니다.
3. 호환성 테스트에 참여하는 사람은 누구입니까?
소프트웨어 테스트 에서 호환성 테스트를 수행하는 주요 사람들은 다음과 같습니다.
1. 개발자
개발팀은 개발 중에 하나의 플랫폼에서 애플리케이션의 성능을 확인하며 회사에서 프로그램을 출시하려는 유일한 장치일 수도 있습니다.
2. 테스터
회사 내에서 또는 외부에서 고용된 품질 보증 팀은 모든 주요 운영 체제 및 브라우저를 포함하여 응용 프로그램의 호환성 테스트 단계의 일부로 가능한 많은 구성을 확인합니다.
3. 고객
회사의 고객은 팀이 철저하게 테스트할 수 없는 하드웨어나 구성을 가지고 있을 수 있으므로 잠재적으로 사용자 경험이 해당 특정 설정의 첫 번째 실제 확인이 될 수 있습니다.
호환성 테스트의 이점
소프트웨어 호환성 테스트의 일반적인 이점은 다음과 같습니다.
1. 더 많은 청중
팀이 소프트웨어를 더 철저하게 테스트할수록 더 많은 장치에 대해 자신 있게 릴리스할 수 있으므로 여러 플랫폼의 광범위한 청중이 응용 프로그램을 즐길 수 있습니다. 이를 통해 회사는 프로그램에서 더 많은 제품 판매를 얻을 수 있으며 이 소프트웨어가 사용자로부터 받는 긍정적인 리뷰의 수를 향상시킬 수도 있습니다.
2. 안정성 향상
소프트웨어 테스트의 호환성 테스트는 안정성 및 성능 문제를 강조하는 데 필수적이며, 이는 특히 개발자가 이 애플리케이션을 하나의 플랫폼용으로만 설계한 경우 다른 장치에서 더 두드러질 수 있습니다. 시스템 호환성 테스트는 사용자(광범위한 장치에서)가 소프트웨어의 전체 성능에서 기대할 수 있는 것을 회사에 보여줍니다.
3. 개발 개선
이러한 테스트는 또한 개발 팀에 상당한 장기적 영향을 미칩니다. 예를 들어 모바일 호환성 테스트는 기업이 추가 프로그램을 만들 때 고려할 수 있는 앱 개발에 대한 귀중한 정보를 제공할 수 있습니다. 이렇게 하면 향후 프로젝트의 호환성 테스트 비용을 크게 낮출 수 있으므로 이 프로세스에서 배운 교훈을 재사용할 수 있습니다.
4. 기타 테스트 확인
지금까지 대부분의 테스트 형태는 범위가 제한되어 있으며 가능한 모든 하드웨어 또는 소프트웨어 조합을 테스트하지 않습니다. 이러한 테스트는 이러한 결과를 효과적으로 재확인할 수 있습니다. 예를 들어 브라우저 간 호환성 테스트는 사용자가 다른 브라우저를 사용하는 경우 결과가 동일함을 보여줌으로써 기존 품질 보증 단계를 검증합니다.
5. 비용 절감
호환성 테스트는 또한 현재 프로그램의 비용을 낮출 수 있으므로 팀이 앱이 공개 릴리스에 들어가기 전에 문제를 식별하는 데 도움이 됩니다. 이 시점에서 오류를 수정하는 데 더 많은 비용이 듭니다. 팀의 테스트가 다양할수록(그리고 테스트 커버리지 비율이 높을수록) 오류가 발생할 때 제거하는 비용이 저렴해집니다.
호환성 테스트의 과제
다음은 소프트웨어 테스트에서 호환성 테스트를 구현할 때 기업이 직면할 수 있는 일반적인 문제입니다.
1. 제한된 시간
자동화 도구 및 기타 솔루션은 다양한 장치를 시뮬레이션하여 호환성 테스트 속도를 크게 높일 수 있지만 이 프로세스는 여전히 회사의 개발 일정을 준수해야 합니다. 즉, 테스트 팀은 가장 광범위한(그리고 가장 인구가 많은) 청중을 확보하기 위해 가장 일반적인 장치와 브라우저에 우선 순위를 지정해야 합니다.
2. 실제 장치 부족
이러한 검사에는 일반적으로 실제 장치의 구성 요소 및 조건을 시뮬레이션하는 가상 머신이 포함됩니다. 이는 관련 부품 및 플랫폼을 독립적으로 획득하는 것보다 훨씬 저렴하고 빠릅니다. 그러나 이것은 이러한 결과의 정확성에 영향을 미칠 수 있습니다. 특히 성능은 종종 사용자가 실제 장치를 작동하는 방식에 따라 달라지기 때문입니다.
3. 미래 보장이 어렵다
호환성 테스트는 이미 존재하는 플랫폼에만 참여할 수 있습니다. 즉, 향후 버전의 Windows 및 Google Chrome에서 응용 프로그램이 예상대로 실행될 것이라고 보장할 수 없습니다. 조직에서는 이 출시 후 문제만 해결할 수 있으며, 이는 종종 비용이 더 많이 들고 결과적으로 애플리케이션이 더 이상 사용되지 않을 수 있습니다.
4. 인프라 유지보수
팀이 사내에서 상당한 양의 플랫폼을 확인하기로 결정하면 높은 인프라 비용이 발생할 수 있습니다. 예를 들어 모바일 애플리케이션 에 대한 호환성 테스트에는 여러 실제 모바일 장치를 소싱하는 작업이 포함될 수 있습니다. 시뮬레이션된 하드웨어 호환성 테스트보다 정확하지만 비용이 많이 들고 일반적으로 정기적인 유지 관리가 필요합니다.
5. 많은 수의 조합
호환성 테스트는 운영 체제, 브라우저, 하드웨어, 펌웨어, 심지어 화면 해상도와 같은 많은 교차 요소를 설명합니다. 테스트 팀에 많은 시간이 있더라도 모든 단일 가능성을 수용하는 것은 사실상 불가능합니다. 구성 및 호환성 테스트는 가장 가능성이 높은 장치 조합의 우선 순위를 다시 지정해야 합니다.
호환성 테스트의 특성
호환성 테스트의 주요 특징은 다음과 같습니다.
1. 철저한
이러한 검사는 장치 간에 발생할 수 있는 호환성 문제를 격리할 수 있어야 합니다. 그렇지 않으면 팀에서 잘못된 프로그램을 출시할 수 있습니다. 예를 들어 이러한 검사는 사용자의 화면 해상도에 관계없이 응용 프로그램의 모든 단일 기능이 예상대로 렌더링되는지 확인해야 합니다.
2. 확장성
테스트는 깊이와 폭의 균형을 유지하여 팀이 여러 장치 구성에서 여러 가지 문제를 조사하는 데 도움이 되어야 합니다. 브라우저 간 호환성 테스트는 광범위한 OS 및 브라우저 조합을 살펴보고 때로는 자동화 솔루션 의 도움을 받아 높은 적용 범위를 보장합니다.
3. 양방향
이 프로세스에는 이전 버전과 이전 버전의 호환성 테스트가 모두 포함됩니다. 전자를 통해 팀은 앱이 이전 하드웨어에서 어떻게 작동하는지 확인할 수 있습니다. 후자는 팀이 최첨단 플랫폼에 액세스할 수 있도록 하여 미래 보장 기능이 상당히 제한적일지라도 성공적인 장기 성과를 보장하도록 돕습니다.
4. 반복 가능
이러한 검사를 통해 발견된 문제는 다른 테스터와 부서가 반복하기 쉬워야 합니다. 웹 사이트 호환성 테스트에서 특정 기능이 특정 브라우저에서 작동하지 않는 것으로 나타나는 경우 반복성은 개발자가 문제를 해결하는 데 도움이 됩니다.
호환성 테스트 유형
호환성 테스트의 주요 유형은 다음과 같습니다.
1. 이전 버전과의 호환성 테스트
이전 버전과의 호환성 테스트에는 최신 하드웨어의 이전 버전을 사용하여 앱을 확인하는 작업이 포함됩니다. 이러한 확인을 최신 장치로 제한하면 사용자 수가 크게 제한될 수 있기 때문에 이는 필수적입니다. 예를 들어 많은 사람들이 여전히 Windows 8과 같은 이전 운영 체제를 사용합니다.
2. 전방 호환성 테스트
전방 호환성 테스트는 비슷하지만 최신 기술 또는 향후 기술을 살펴보고 발전 및 업데이트에도 불구하고 앱이 수년 동안 계속 작동할 가능성이 있는지 확인합니다. 이러한 테스트가 없으면 예를 들어 다음 브라우저 업데이트에서 소프트웨어가 작동을 멈출 수도 있습니다.
3. 브라우저 호환성 테스트
웹사이트 브라우저 호환성 테스트는 웹 애플리케이션 또는 사이트가 다양한 브라우저에서 작동할 수 있는지 확인합니다. 서로 다른 레이아웃 엔진을 사용하므로 이는 매우 중요합니다. 품질 보증 팀은 브라우저 간 호환성도 테스트합니다. 즉, 각 브라우저가 별도의 운영 체제에서 애플리케이션을 처리할 수 있는지 확인합니다.
4. 모바일 호환성 테스트
모바일 앱 테스트는 특히 휴대폰의 OS가 또 다른 주요 고려 사항이므로 데스크톱 및 웹 애플리케이션을 확인하는 것과 유사한 프로세스입니다. 예를 들어 Android 및 iOS 앱은 완전히 다른 형식으로 제공되며 둘 다 수용하려면 완전히 별도의 개발 및 테스트 프로세스가 필요합니다.
5. 하드웨어 호환성 테스트
이러한 검사는 기계를 구성하는 특정 구성 요소와 이들이 프로그램에 미치는 영향을 살펴봅니다. 이것은 거의 모든 유형의 장치에 중요합니다. 예를 들어 컴퓨터에 웹 애플리케이션의 인터페이스를 성공적으로 렌더링할 수 없는 그래픽 카드가 있을 수 있습니다.
6. 장치 호환성 테스트
일부 응용 프로그램은 Bluetooth, 광대역 또는 유선 연결을 통해 외부 장치와 연결됩니다. 예를 들어 앱은 프린터와 연결해야 할 수 있습니다. 이러한 테스트는 프로그램이 플랫폼 자체 연결 및 액세스할 수 있는 모든 장치와 연결되는지 확인하는 것을 목표로 합니다.
7. 네트워크 호환성 테스트
애플리케이션을 실행하기 위해 네트워크 기능이 필요한 경우(예: 회사 서버를 통해 온라인 데이터베이스에 연결하는 경우) 수많은 호환성 검사가 필요합니다. 이렇게 하면 프로그램이 Wi-Fi, 4G 또는 3G 네트워크 연결을 통해 적절한 속도로 실행될 수 있습니다.
호환성 테스트에서 무엇을 테스트합니까?
호환성 테스터는 일반적으로 다음을 확인합니다.
1. 성능
호환성 테스트의 주요 목적 중 하나는 애플리케이션의 일부 측면이 일반 플랫폼과 완전히 호환되지 않을 수 있으므로 안정성을 보장하는 것입니다. 이 프로그램의 전반적인 응답성을 살펴봄으로써 테스트 팀은 특정 장치에서 심각한 충돌이 없는지 확인합니다.
2. 기능
호환성 테스트는 또한 소프트웨어가 올바른 결과를 제공할 수 있는지 확인하기 위해 응용 프로그램의 일반적인 특징과 기능을 확인합니다. 예를 들어 고객 관계 관리 시스템은 오래된 운영 체제를 사용하는 사용자에게 판매 데이터나 일반 분석을 제공하지 못할 수 있습니다.
3. 그래픽
일부 브라우저 또는 장치는 여러 가지 이유로 인해 특정 그래픽 요소를 렌더링하는 데 어려움을 겪을 수 있으며 호환성 검사가 도움이 될 수 있습니다. 개발자가 프로그램이 콘텐츠를 표시하는 방식을 변경하지 않는 한 프로그램은 특정 화면 해상도에서만 작동할 수 있습니다.
4. 연결성
호환성 테스트는 프로그램이 사용자의 장치 및 자체 데이터베이스와 구체적으로 어떻게 통합되어 프린터와 같은 장치를 감지할 수 있는지도 살펴봅니다. 예를 들어 이러한 검사는 앱이 3G 네트워크에서 자체 데이터베이스에 연결할 수 없음을 나타낼 수 있습니다.
5. 다재다능함
이러한 검사를 통해 회사의 응용 프로그램이 이전 버전과 이전 버전과의 호환성 테스트를 통해 동일한 운영 체제의 이전 버전과 새 버전에서 작동할 수 있을 만큼 다재다능한지 확인합니다. 이렇게 하면 소프트웨어가 몇 년 지난 경우 사용자가 프로그램에서 잠기지 않습니다.
호환성 테스트 결과 유형
호환성 테스트의 세 가지 주요 결과는 다음과 같습니다.
1. 테스트 결과
이러한 검사의 가장 일반적인 출력은 다양한 형태를 취할 수 있는 결과 자체입니다. 예를 들어 브라우저 호환성 테스트를 통해 동일한 앱이 Chrome 기반 브라우저에 부정적인 영향을 미치지 않는 반면 웹 앱이 Microsoft Edge에서 메모리 누수를 초래한다는 사실을 밝힐 수 있습니다. 또는 응용 프로그램이 관련 플랫폼에서 팀이 기대하는 대로 정확하게 작동할 수 있습니다.
2. 테스트 로그
테스트 결과는 오류 메시지를 통해 발견된 모든 소프트웨어 문제를 강조 표시하는 응용 프로그램 자체 로그의 형태로도 나타납니다. 이러한 로그는 이 오류를 일으키는 프로그램의 특정 부분을 식별할 수도 있습니다. 특히 호환성 테스트의 경우 테스터는 이러한 로그가 다양한 플랫폼에서 이러한 문제를 나타내고 제시하는 방법에 대해 잘 알고 있어야 합니다.
3. 테스트 케이스
호환성 테스트 사례는 팀이 실행할 테스트를 설정하고 간단한 형식으로 결과를 기록할 수 있는 공간을 제공합니다. 테스터는 문제의 원인을 식별하기 위해 결과 및 로그와 함께 소프트웨어에 대한 지식을 사용해야 합니다. 제공하는 정보가 많을수록 개발자는 버그 수정을 더 빨리 시작할 수 있습니다.
감지된 결함 유형
호환성 테스트를 통해
다음은 호환성 테스트에서 식별할 수 있는 가장 일반적인 오류입니다.
1. 레이아웃 스케일링
웹사이트 호환성 테스트는 웹 앱 또는 웹페이지를 구성하는 요소가 사용자의 기기, 특히 화면의 해상도와 크기에 맞게 확장되는지 여부를 보여줄 수 있습니다. 따라서 일부 그래픽은 특정 브라우저에서 보기 어려울 수 있습니다.
2. 소프트웨어 충돌
호환성 테스트를 통해 애플리케이션이 일부 플랫폼에서 실행될 수 있는지 쉽게 확인할 수 있습니다. 예를 들어, 게임 개발자는 테스터가 시작할 때 RAM 및 프로세서 속도 부족으로 인해 어떤 장치가 충돌하는지 확인하여 제품의 최소 시스템 요구 사항을 발견할 수 있습니다.
3. HTML/CSS 유효성 검사 문제
다른 브라우저와 장치는 별도의 방식으로 코드를 읽습니다. 일부는 HTML 태그를 제대로 닫지 않는 것과 같은 간단한 코딩 오타를 자동으로 수정합니다. 브라우저 호환성 테스트는 앱이 콘텐츠와 기본 기능을 생성하지 못하게 하는 유효하지 않은 CSS의 인스턴스를 식별할 수 있습니다.
4. 동영상 재생 오류
많은 최신 비디오 플레이어는 HTML5를 사용하여 비디오를 온라인으로 스트리밍하며, 이는 잠재적으로 회사 웹 앱의 핵심 부분이 될 수 있습니다. 그러나 웹사이트 브라우저 호환성을 확인하는 팀은 앱의 비디오 기능이 오래된 브라우저와 호환되지 않는다는 사실을 발견할 수 있습니다.
5. 파일 보안
소프트웨어 엔지니어링의 호환성 테스트는 파일 보안 문제와 이것이 장치 간에 어떻게 다른지 찾을 수도 있습니다. 예를 들어 최신 버전의 Windows는 더 강력한 입력/출력 보안을 제공합니다. 이로 인해 응용 프로그램(예: 바이러스 백신 소프트웨어)이 장치 파일에 액세스하는 데 어려움을 겪을 수 있습니다.
호환성 테스트 프로세스
호환성 테스트의 일반적인 단계는 다음과 같습니다.
1. 테스트 계획을 컴파일
포괄적인 테스트 계획은 호환성 테스트에 매우 중요합니다. 품질 보증 팀은 점검 중에 필요에 따라 이를 참조할 수 있습니다. 예를 들어 테스트할 장치와 합격 또는 불합격 기준을 자세히 설명합니다. 또한 로봇 프로세스 자동화를 사용할 것인지 여부도 설정해야 합니다.
2. 테스트 케이스 구성
테스트 사례는 팀이 실행하는 특정 호환성 검사와 작업하는 특정 장치에 대해 자세히 설명하므로 마찬가지로 중요합니다. 여기에는 테스터가 수행할 정확한 단계와 결과를 기록할 수 있는 충분한 공간 및 개발자가 호환성을 적용하는 데 도움이 되는 모든 정보가 포함됩니다.
3. 테스트 환경 구축
외부 영향이 없는 격리되고 독립적인 테스트 환경은 정확한 테스트를 보장하고 품질 보증 팀이 발견한 문제의 출처를 식별할 수 있도록 하는 데 필요합니다. 또한 테스터는 어떤 식으로든 ‘실제’ 버전을 손상시키지 않고 애플리케이션에 대한 검사를 수행할 수 있습니다.
4. 테스트 실행
테스트 사례와 환경이 완전히 준비되면 팀은 호환성 테스트를 시작할 수 있습니다. 자동화된 솔루션을 사용하더라도 시간이 제한되어 있습니다. 테스터는 이를 설명하기 위해 가장 일반적인 운영 체제 및 장치 구성의 우선 순위를 지정하고 이러한 제한에도 불구하고 광범위한 테스트 범위를 보장해야 합니다.
5. 재시험
테스트가 완료되고 개발자가 테스트 사례를 받으면 호환성을 개선하는 방식으로 애플리케이션을 수정하지만 일부 장치에서는 불가능할 수 있습니다. 그런 다음 테스터는 앱을 다시 확인하고 이전에 발견한 문제가 더 이상 존재하지 않으며 새로운 주요 오류가 없는지 확인합니다.
일반적인 호환성 테스트 지표
다음은 호환성 테스트에 사용되는 몇 가지 일반적인 메트릭입니다.
1. 대역폭
네트워크 호환성 테스트는 응용 프로그램이 광대역 및 모바일 데이터 네트워크를 포함한 다양한 네트워크와 어떻게 연결되는지 측정합니다. 예를 들어, 프로그램이 일상 업무를 수행하고 회사 데이터베이스에 연결하는 데 필요한 최소 대역폭은 평균 3G 연결에 비해 너무 높을 수 있습니다.
2. CPU 사용량
성능 문제가 나타나는 한 가지 방법은 불균형적으로 높은 CPU 사용량을 통해 나타납니다. 이는 장치가 단순히 프로그램의 최소 요구 사항을 충족하지 않는다는 것을 의미할 수 있습니다. CPU 문제는 또한 애플리케이션의 응답 시간에 영향을 미쳐 기능을 제한하고 사용자의 관심을 끌기에 충분한 지연을 유발할 수 있습니다.
3. 시스템 사용성 척도
시스템 사용성 척도는 앱의 사용성에 대한 10가지 기본 질문으로 구성된 프로그램의 주관적인 세부 사항을 측정하는 일반적인 방법입니다. 결과 SUS 점수는 100점 만점이며 그래픽 오류로 인해 플랫폼마다 다를 수 있습니다.
4. 총 불량수
이 지표는 대부분의 테스트 유형에서 일정하므로 테스터가 프로그램의 현재 상태를 이해할 수 있습니다. 또한 팀은 다양한 플랫폼 간의 총 결함 수를 비교할 수 있습니다. 이렇게 함으로써 테스터는 비호환성으로 인한 오류를 강조 표시할 수 있습니다.
5. SUPRQ 점수
응용 프로그램의 SUS 점수와 유사하게 표준화된 사용자 경험 백분위수 순위 설문지는 테스터가 유용성 및 모양을 비롯한 몇 가지 주요 요소에 대해 응용 프로그램을 평가하는 방법입니다. 이를 통해 고객이 특정 장치에서 애플리케이션을 사용하는 데 어려움을 겪는 방법을 식별할 수 있습니다.
호환성 테스트 구현의 7가지 실수 및 함정
다음은 호환성 테스트를 수행할 때 피해야 할 7가지 중요한 실수입니다.
1. 실제 장치 부족
가능한 모든 장치 조합에서 테스트하는 것은 불가능하지만 테스트 팀은 소싱할 수 있는 실제 장치를 최대한 많이 사용함으로써 여전히 이점을 얻을 수 있습니다. 다양한 플랫폼은 기본 성능을 반영할 수 있는 방식으로 브라우저 간 호환성 테스트를 용이하게 하기 위해 클라우드 솔루션을 통해 ‘실제’ 장치를 제공합니다.
2. 오래된 기기 피하기
많은 사용자가 여전히 이전 버전의 Windows 또는 iOS에서 애플리케이션에 액세스합니다. 인기 있는 장치 및 운영 체제의 새 버전에 전적으로 초점을 맞추면 제품의 도달 범위가 제한될 수 있습니다. 팀에서 테스트를 ‘오래된’ 장치로 확장하지 않으면 상당수의 청중이 프로그램을 사용하는 데 어려움을 겪을 수 있습니다.
3. 잘못된 시간 관리
종종 호환성 테스트가 필요한 많은 양의 장치 및 구성이 있습니다. 즉, 팀은 이러한 항목을 최대한 많이 확인하기 위해 시간을 관리해야 합니다. 테스트는 일반적으로 개발이 끝날 무렵에도 여전히 진행 중이므로 이는 중요합니다. 잘못된 관리는 점검 횟수를 크게 제한할 수 있습니다.
4. 부적절한 일정
팀이 프로그램 개발의 합리적인 단계에서, 가급적이면 알파 테스트 및 대부분의 기능 테스트 형태 후에 이러한 테스트를 수행하는지 확인하는 것이 마찬가지로 가장 중요합니다. 이를 통해 문제가 일반적인 결함인지 또는 팀이 보고 있는 장치에 특정한 것인지 더 쉽게 확인할 수 있습니다.
5. 화면 해상도를 고려하지 않음
화면 해상도는 특히 사용자 지정이 가능하기 때문에 많은 테스트 팀이 인식하는 것보다 호환성에서 훨씬 더 큰 요소가 될 수 있습니다. 장치가 그래픽 요소를 표시하는 방식에 영향을 미칩니다. 호환성 테스트 기한이 다가오더라도 테스트 팀은 이를 전략에 수용하기 위해 노력해야 합니다.
전문성 부족
테스터는 이러한 테스트가 취할 수 있는 다른 많은 형태 중에서 웹 사이트, 브라우저 및 소프트웨어 호환성을 확인하는 데 고도로 숙련되어야 합니다. 테스트 리더가 팀 구성원 중 한 명에게 호환성 검사를 할당하고 경험이 부족한 경우 테스트 속도가 느려지고 정확도가 제한될 수 있습니다.
6. 사전 논의 없음
호환성 테스트는 종종 시간이 많이 걸리고 잠재적으로 다양한 장치가 필요할 수 있으므로 팀은 품질 보증 단계 초기에 검사 범위를 완전히 설정해야 합니다. 예를 들어 검사를 시작하기 전에 어떤 특정 장치나 구성을 테스트할 것인지에 대한 명확한 아이디어가 있어야 합니다.
호환성 테스트를 위한 모범 사례
고품질 호환성 테스트를 보장하는 가장 좋은 방법은 다음과 같습니다.
1. 개발 전반에 걸친 테스트
소프트웨어가 한 주에서 다음 주까지 크게 변경되면 프로그램이 의도한 장치와 얼마나 호환되는지에 영향을 미칠 수 있습니다. 팀은 개발 변경 후에도 응용 프로그램이 이러한 플랫폼에서 계속 잘 실행되는지 확인하기 위해 소프트웨어 및 브라우저 간 호환성 테스트를 반복적으로 수행해야 합니다.
2. 실제 장치 사용
일부 호환성 테스트 도구는 해당 플랫폼에 대한 사용자 경험과 매우 유사할 수 있는 ‘실제’ 시뮬레이션 장치에 대한 액세스를 제공합니다. 이를 통해 특정 자동화 솔루션에 없는 높은 수준의 정확도를 유지하면서 더 많은 장치에서 호환성을 보장할 수 있습니다.
3. 테스트 우선순위 지정
이러한 검사를 수행할 수 있는 시간이 제한되어 있기 때문에 호환성 테스터는 가장 일반적인 장치, 브라우저 및 운영 체제의 우선 순위를 지정해야 할 수 있습니다. 마찬가지로 테스트 팀은 이러한 장치의 기본 기능을 보장하기 위해 먼저 소프트웨어의 가장 중요한 기능을 검사해야 합니다.
4. 민첩한 기술 통합
일부 회사는 호환성 테스트에 스프린트 기반 접근 방식을 채택하여 특정 수의 장치를 확인하는 것과 같은 테스트 이정표에 쉽게 도달할 수 있도록 합니다. Agile은 부서 간 커뮤니케이션을 장려하는 동시에 일관되고 신속한 개선을 보장할 수 있는 설정된 테스트 구조를 제공합니다.
5. 테스트 범위 제한
품질 보증 팀은 언제 테스트를 종료해야 하는지 알고 비호환성 사례도 수용해야 합니다. 이 경우 개발자는 소프트웨어를 변경하지 않을 수 있으며 버그 수정을 통해 우회하기가 너무 어려운 경우 최소 요구 사항을 대신 변경할 수 있습니다.
호환성 테스트 케이스 및 시나리오의 예
호환성 테스트 사례는 테스트 팀의 입력, 테스트 전략 및 예상 결과를 설정합니다. 후자는 실제 결과와 비교합니다. 검사가 많은 장치와 구성을 다루기 때문에 이것은 종종 광범위한 프로세스입니다.
이러한 경우에는 일반적으로 다음이 포함됩니다.
• 웹 응용 프로그램의 HTML 디스플레이가 제대로 표시되는지 테스트합니다.
• 소프트웨어의 JavaScript 코드를 사용할 수 있는지 확인하십시오.
• 응용 프로그램이 다른 해상도에서 작동하는지 확인하십시오.
• 프로그램이 파일 디렉토리에 액세스할 수 있는지 테스트합니다.
• 앱이 실행 가능한 모든 네트워크에 연결되어 있는지 확인합니다.
다음은 다양한 프로그램에 대한 소프트웨어 테스트에서 호환성 테스트의 구체적인 예입니다.
1. 소셜 네트워킹 앱
소셜 네트워크는 일반적으로 브라우저의 웹 앱과 해당 장치용 모바일 앱 의 형태를 취합니다. 두 유형 모두 동등하게 철저한 테스트가 필요합니다. 예를 들어 이 모바일 앱은 최소한 iOS 및 Android 기기에서 완벽하게 작동해야 하며 팀은 각 운영 체제에서 이전 기기와 새 기기를 확인해야 합니다. 예를 들어 특정 iPhone 모델이 애니메이션 GIF 파일을 렌더링할 수 없는 경우 팀은 일관된 사용자 경험을 보장하기 위해 원인을 식별해야 합니다.
2. 비디오 게임
비디오 게임은 일반적으로 사용자가 자신의 시스템에 맞게 변경할 수 있는 사용자 정의 가능한 그래픽 옵션을 제공합니다. 여기에는 화면의 해상도를 제어하고 UI 크기가 적절하게 조정되도록 하는 것이 포함됩니다. 플레이어의 특정 하드웨어에 따라 앤티앨리어싱 오류로 인해 그래픽이 거칠어지는 특정 문제가 발생할 수 있습니다. 회사의 텍스처 렌더링과 호환되지 않는 일반 그래픽 카드 때문일 수 있습니다. 정확한 문제에 따라 특정 장치가 게임을 시작할 때 시스템 충돌로 나타날 수도 있습니다.
3. CRM 클라우드 시스템
고객 관계 관리 솔루션은 데이터베이스를 많이 사용하여 주로 클라우드 스토리지의 도움을 받아 트랜잭션, 벤더 및 기타 중요한 비즈니스 측면에 대한 정보를 검색합니다. 테스터는 사용자가 인터넷 연결 없이 액세스해야 하는 경우 이 데이터베이스와 해당 클라우드 서비스가 3G 및 4G를 비롯한 다양한 네트워크에서 작동하는지 확인해야 합니다. 예를 들어 특정 결함은 Linux 장치 에만 나타날 수 있으므로 팀은 다양한 운영 체제를 검사해야 합니다.
수동 또는 자동 호환성 테스트?
자동화는 호환성 테스트에 매우 유용할 수 있으며 팀에서 수동 방식 보다 훨씬 더 빠르게 많은 수의 장치를 확인할 수 있습니다. 그러나 제한된 수의 브라우저 및 장치(예: 두 플랫폼에서만 사용할 수 있는 비디오 게임)에서 검사를 수행할 때는 수동 테스트가 더 적절할 수 있습니다. 소프트웨어의 유용성은 종종 호환성 테스트의 핵심 요소이며 일반적으로 그래픽 렌더링 문제를 더 잘 식별할 수 있는 인간의 관점이 필요합니다. 로봇 프로세스 자동화는 호환성 테스트에 대한 인간 사용자의 접근 방식을 보다 쉽게 모방할 수 있는 소프트웨어 로봇을 구현함으로써 이를 도울 수 있습니다.
모바일 및 웹 앱과 같은 다양한 장치용으로 설계된 프로그램의 경우 자동화를 통해 팀은 더 넓은 테스트 범위를 확보할 수 있습니다. 심지어 인간 테스터가 사용자별 기능에 대해 이러한 플랫폼을 검사하도록 하는 방식으로 이러한 검사를 지능적으로 아웃소싱하기 위해 초자동화를 사용할 수도 있습니다. 모든 장치에서 UI가 올바르게 표시되는지 확인하는 것과 같은 일부 작업에서는 수동 테스트의 호환성 테스트가 여전히 필수입니다. 이는 최상의 접근 방식이 자동화를 통해 전반적으로 더 많은 장치를 테스트할 수 있는 혼합 전략이 될 수 있음을 의미하며, 여전히 유용성의 중요성을 고려하면서 속도를 높일 수 있습니다.
호환성 테스트를 시작하려면 무엇이 필요합니까?
호환성 테스트의 주요 전제 조건은 일반적으로 다음과 같습니다.
1. 자격을 갖춘 테스트 직원
호환성 테스터는 일반적으로 더 넓은 범위의 장치를 검사하고 종종 더 많은 오류가 발생한다는 사실 때문에 다른 형태의 품질 보증보다 기술 요구 사항이 더 높습니다. 여기에는 문제 해결, 의사 소통 및 세부 사항에 대한 관심이 포함될 수 있습니다. 팀 리더는 여러 플랫폼에서 동일한 애플리케이션을 검사한 경험이 있는 테스터를 지정해야 합니다.
2. 강력한 장치 에뮬레이션
팀 범위 내에서 모든 물리적 장치를 소싱하고 테스트하는 것은 어려울 수 있으므로 다양한 플랫폼이 동일한 프로그램에 어떻게 반응하는지 확인하는 데 에뮬레이션이 필수적입니다. 이 프로세스는 거의 완벽하지 않으며 테스터는 어떤 것이 가장 정확한지 확인하기 위해 사용 가능한 많은 에뮬레이터와 자동화된 테스트 도구를 살펴봐야 합니다.
3. 명확한 테스트 범위
팀은 점검이 시작되기 전에 해당 범위를 이해해야 합니다. 특히 이것이 그들이 일하는 속도를 결정할 수 있기 때문입니다. 프로그램이 많은 플랫폼을 다루는 것을 목표로 할 수 있지만 테스터는 적절한 컷오프 지점을 식별해야 합니다. 예를 들어 Windows 7 이전에 출시된 운영 체제를 테스트하면 수익이 감소할 수 있습니다.
4. 시간 관리
호환성 테스트는 품질 보증 단계의 어느 시점에서나 발생할 수 있지만 일반적으로 프로그램이 안정적이고 기능이 완전할 때 개발이 끝날 때까지 저장됩니다. 그러나 테스터는 시간이 많이 걸리는 경우가 많기 때문에 이보다 오래 전에 호환성을 고려해야 합니다. 강력한 사전 계획은 팀이 모든 점검에 충분한 시간을 확보하는 데 도움이 됩니다.
호환성 테스트
체크리스트, 팁 및 요령
다음은 호환성 테스트를 시행할 때 품질 보증 팀이 염두에 두어야 할 추가 팁입니다.
1. 절대 커버리지를 목표로 삼지 마세요.
모든 테스트 전략은 테스트 적용 범위를 최대화하는 것을 목표로 하지만 극소수의 사용자에 대한 약간의 개선만 있는 결과가 감소하기 때문에 일반적으로 100%에 도달하기 전에 중단됩니다. 호환성의 맥락에서 팀은 이러한 검사가 가치 있는 장치를 사용하는 고객이 너무 적은 경우를 이해해야 합니다.
2. 크로스 브라우저 조합의 우선 순위 지정
브라우저 간 호환성 테스트에는 다양한 운영 체제에 대해 각 브라우저를 확인하는 작업이 포함됩니다. 테스터는 청중에 대한 포괄적인 분석을 사용하여 둘 중 가장 인기 있는 것을 결정하고 이를 사용하여 접근 방식을 안내해야 합니다. 그들은 이러한 검사의 범위와 다양한 구성을 설정하는 브라우저 호환성 매트릭스를 개발할 수도 있습니다.
3. 레이아웃 확인
일관된 경험을 보장하는 것은 호환성 테스트의 핵심이며 이러한 검사는 프로그램의 기능이 다른 장치에서 작동하는지 확인하는 것보다 더 심화되어야 합니다. 또한 팀은 프로그램의 CSS 및 HTML의 무결성뿐만 아니라 양식 또는 테이블의 정렬을 포함하여 소프트웨어의 전체 레이아웃을 확인해야 합니다.
4. API 확인
애플리케이션 프로그래밍 인터페이스는 브라우저가 앱을 읽는 방식의 핵심 구성 요소로 팀의 브라우저 간 호환성 테스트에 필수적입니다. 다양한 웹 브라우저에는 자체 API 호출이 있으며 시간 경과에 따른 업데이트는 호환성에 영향을 미칠 수 있습니다. 테스터는 이를 정기적으로 확인해야 합니다. 회사가 각 프로그램에 대해 유사한 API를 사용하는 경우에도 마찬가지입니다.
5. SSL 인증서 검사
SSL 인증서는 브라우저의 보안을 강화하여 웹 트래픽을 암호화하고 사용자가 HTTPS 프로토콜의 이점을 누릴 수 있도록 합니다. 웹 사이트 또는 웹 앱에는 특정 브라우저와 호환되지 않는 인증서가 있을 수 있습니다. 즉, 테스터는 모든 주요 플랫폼에서 인증서의 유효성을 검사하여 사용자가 자신의 웹 사이트에서 안전함을 느낄 수 있도록 해야 합니다.
6. 비디오 플레이어 확인
광고에서 지원하는 스트리밍 서비스 또는 프리미엄 모바일 게임과 같이 비디오를 표시하는 프로그램은 테스트를 거쳐 이러한 비디오가 의도한 모든 장치에 표시되는지 확인해야 합니다. 많은 앱의 경우 이러한 검사에는 데스크톱과 모바일 장치가 모두 포함되며 비디오의 품질, 속도 및 프레임 속도를 확인할 수 있습니다.
5가지 최고의 호환성 테스트 도구 및 소프트웨어
호환성 테스트를 위한 가장 효과적인 무료 및 유료 도구는 다음과 같습니다.
1. ZAPTEST 무료 및 엔터프라이즈 에디션
ZAPTEST는 무료 및 엔터프라이즈(유료) 버전 모두에서 뛰어난 기능을 제공하여 모든 규모(또는 예산)의 회사가 호환성 검사를 할 수 있도록 지원합니다. ZAPTEST의 Enterprise 버전을 선택한 기업은 원래 투자 대비 최대 10배의 수익을 누릴 수 있습니다. 이 솔루션의 1SCRIPT 기능은 특히 호환성 테스터의 요구에 맞춰 조정되어 일치하도록 코드를 수정하지 않고도 여러 플랫폼에서 정확히 동일한 테스트를 실행할 수 있습니다. 추가 비용 없이 최첨단 RPA 기능을 추가하면 모든 작업을 원스톱으로 자동화할 수 있습니다.
2. 람다 테스트
LambdaTest는 클라우드 기반 접근 방식을 사용하여 3,000개의 자동화된 장치를 제공하지만 웹 브라우저에 중점을 두어 특정 프로그램에 대한 이 솔루션의 효과를 제한할 수 있습니다. 이 플랫폼은 지속적인 테스트를 전문으로 하며 품질 보증 프로세스를 개발과 보다 밀접하게 통합합니다. 이 응용 프로그램에 대한 검사를 통해 사용자는 해상도를 설정할 수 있으므로 브라우저 간 호환성 테스트가 훨씬 쉬워집니다. 이 솔루션은 프리미엄(Freemium) 모델을 제공하지만 여기에는 실제 장치 없이 업그레이드 없이 제한된 테스트가 포함됩니다.
3. 브라우저 스택
LambdaTest와 유사하게 BrowserStack은 3,000개의 실제 장치에 대한 액세스를 제공합니다. 카탈로그에는 브라우저용 레거시 및 베타 옵션도 포함되어 있습니다. 사람들은 OS보다 브라우저를 업그레이드할 가능성이 높지만 여전히 이전 버전을 사용하는 사람들이 많을 수 있습니다. BrowserStack은 이를 수용합니다. 또한 사용자는 지리적 위치 테스트를 제정하여 다른 국가에서 웹 사이트와 웹 앱이 어떻게 보이는지 확인할 수 있습니다. 그러나 무료 또는 프리미엄 옵션이 없으며 실제 장치 테스트가 느릴 수 있습니다.
4. 테스트그리드
TestGrid는 병렬 테스트를 허용하여 팀이 동시에 여러 조합을 확인하여 프로세스 속도를 높일 수 있습니다. 또한 이 솔루션은 테스트 및 개발 워크플로우와 잘 통합되어 부서 스프린트의 핵심 부분을 구성하여 민첩한 접근 방식을 촉진할 수 있습니다. 그러나 TestGrid는 때때로 클라우드 장치 및 브라우저에 연결하는 데 어려움을 겪습니다. 또한 이 프로그램은 부하 테스트 , 문서화 및 회사 설정에 새 장치 추가 측면에서 상당히 제한적입니다.
5. 브라우저
Browsera는 주로 웹 사이트 테스트에 중점을 두어 다양한 장치, 브라우저 및 운영 체제에서 제대로 표시되는지 확인합니다. 클라우드 기반 접근 방식으로 품질 보증 팀은 장치에 이 가상 테스트 랩을 설치할 필요가 없습니다. Browsera는 인간 테스터도 놓칠 수 있는 레이아웃 문제와 JavaScript 오류를 지능적으로 찾기 위해 출력을 비교할 수도 있습니다. 그러나 Browsera는 Opera를 포함한 여러 일반 브라우저를 지원하지 않으며 기본 테스트 기능만 무료로 제공합니다.
결론
호환성 테스트는 팀이 다양한 장치에서 앱을 검증할 수 있도록 하는 성공적인 품질 보증 전략에 매우 중요합니다. 이 기술을 채택하지 않으면 회사는 소프트웨어가 출시될 때까지 많은 대상 고객에게 작동하지 않을 것이라는 사실을 모를 수 있습니다. 이는 시험판 테스트에 비해 많은 시간과 비용이 소요되며 ZAPTEST와 같은 애플리케이션은 이 프로세스를 더욱 간소화할 수 있습니다. 1SCRIPT 및 병렬 테스트와 같이 무료로 사용할 수 있는 기타 많은 기능을 통해 ZAPTEST를 테스트 도구로 선택하면 모든 프로젝트를 변환하는 동시에 팀이 응용 프로그램에 대한 완전한 확신을 가질 수 있습니다.