configuration testing tutorial with examples
소프트웨어 구성 테스트 소개 :
Mac 용 최고의 비디오 변환기
이 기사는 비즈니스에 매우 중요한 특수한 유형의 소프트웨어 테스트에 대해 논의하기 위해 제공되었습니다.
구성 테스트의 기본 사항, 필요성, 중요성, 목표 및 유형에 대해 설명합니다. 이 기사에서 계속 진행하면서이 테스트를 수행하는 방법을 자세히 알아볼 것입니다.
시작하자 !!
이 튜토리얼은 구성 테스트에 대한 전체 개요를 제공하며이 테스트 개념을 처음 접하는 모든 사람에게 완벽한 가이드 역할을하고 이미 경험이있는 사람들의 지식을 닦습니다.
학습 내용 :
구성 테스트 란 무엇입니까?
구성 테스트는 하드웨어와 소프트웨어의 조합 또는 구성이 다른 여러 시스템에서 개발중인 시스템을 테스트하는 방법입니다. 시스템 또는 애플리케이션의 성능은 지원되는 각 하드웨어 및 소프트웨어 구성에 대해 테스트됩니다.
하드웨어 및 소프트웨어의 다양한 구성을 말할 때 이는 여러 운영 체제 버전, 브라우저, 지원되는 드라이버, 메모리 크기, 하드 드라이브 유형, CPU 등에 기인합니다.
왜이 테스트인가?
위에서 설명한 것처럼이 테스트는 다양한 시스템 구성을 고려하여 소프트웨어, 시스템 / 애플리케이션의 성능을 평가하는 기술입니다.
이 테스트는 시스템 또는 애플리케이션이 버그, 문제 또는 성능 결함없이 제대로 작동 할 수있는 최적의 구성을 결정하기 위해 수행됩니다. 따라서 필요한 성능 특성을 제공 할 가장 효과적인 구성은이 테스트의 도움으로 발견됩니다.
이 테스트의 두 번째 주요 이유는 SRS (소프트웨어 요구 사항 사양)에 명시된 다른 소프트웨어 또는 장비와의 시스템 호환성을 확인하기위한 것입니다.
예
기업에서 C # 언어로 데스크톱 애플리케이션을 개발했으며이 앱이 .NET 프레임 워크를 기반으로 구축되었다고 가정 해 보겠습니다.
그리고이 앱은 프런트 엔드 (클라이언트), 애플리케이션 계층 (서버) 및 데이터베이스 계층의 세 계층이있는 3 계층 아키텍처를 기반으로합니다. 각 계층은 그에 따라 특정 플랫폼을 지원합니다.
각 계층이 아래 플랫폼을 지원한다고 가정 해 보겠습니다.
고객 - Windows 10 OS, Windows 7, Windows XP, Linux OS.
섬기는 사람 – Ubuntu 서버, 윈도우 서버 2016 , Novell 오픈 엔터프라이즈 서버 .
데이터베이스 – Microsoft SQL Server, IBM DB2, MySQL.
이제 소프트웨어 테스터는 위의 클라이언트, 서버 및 데이터베이스 플랫폼의 다양한 조합에서 애플리케이션을 테스트하여 가능한 각 구성에서 애플리케이션이 잘 작동하는지 확인해야합니다.
예를 들어 , 애플리케이션이 Windows 10 OS, Windows Server 2016 및 MySQL 데이터베이스의 조합에서 작동하는 방식을 확인한 다음 애플리케이션이 Windows 10 OS, Windows Server 2016 및 IBM DB2 데이터베이스의 조합에서 작동하는 방식을 확인하는 또 다른 테스트를 수행합니다.
그리고 가능한 모든 구성을 테스트 할 때까지 계속하십시오.
PC 성능을 향상시키는 최고의 무료 소프트웨어
우리의 테스트는 소프트웨어에 국한 될뿐만 아니라 다양한 하드웨어 장치의 각 조합을 확인해야하는 하드웨어에도 적용됩니다. 따라서 때때로이 테스트를 하드웨어 구성 테스트라고도합니다.
구성 테스트 준비
이 테스트에는 구성 테스트를 실행하기 전에 충족해야하는 특정 전제 조건이 있습니다.
다음은 전제 조건입니다.
# 1) 커버리지 매트릭스 준비
가능한 수많은 하드웨어 및 소프트웨어 구성으로 인해 각 구성을 효과적으로 테스트하는 것은 매우 시간이 많이 걸리고 거의 불가능 해집니다.
예를 들어 , 위에서 논의한 예에서는 총 3 * 3 * 3, 즉 27 개의 소프트웨어 구성이 있습니다. 그리고 5 개의 서로 다른 하드 드라이브와 6 개의 서로 다른 메모리 크기가 있다고 가정 해 보겠습니다. 그러면 개수는 27 * 5 * 9, 즉 810 개의 구성으로 이동합니다.
그림에 더 많은 구성 요소를 추가하면 계속 증가 할 것입니다. 따라서 소프트웨어 테스트 노력을 계획하고 어떤 플랫폼이 지원 될 것인지 명확하게 식별하는 것이 중요합니다.
그런 다음 하드웨어 및 소프트웨어 구성의 다양한 조합을 보유 할 커버리지 매트릭스를 만들어야합니다. 때때로이 커버리지 매트릭스는 BCM (Basic Configuration Matrix)이라고도합니다.
위의 그림은 테스트하려는 구성의 샘플 회로도 매트릭스를 보여줍니다.
# 2) 구성 우선 순위 지정
구성 매트릭스가 준비되면 다음 단계는 구성의 우선 순위를 지정하는 것입니다.
이 단계는 광범위한 구성 전체를 테스트 할 수 없기 때문에 필요합니다. 따라서 클라이언트 피드백을 기반으로 가장 중요한 구성이 등록되고 먼저 철저한 테스트를 거쳐야합니다.
위의 두 단계를 완료하면 우선 순위에 따라 다양한 구성을 테스트 할 수 있습니다.
Microsoft VSTS – 구성 테스트 도구
Microsoft Visual Studio Team Services (VSTS)는 테스트 계획에 따라 다양한 구성에서 앱을 테스트하는 데 크게 도움이되는 도구입니다.
실행할 테스트와 구성을 결정하기위한 테스트 계획이 있어야합니다. 필요한 구성에 적합한 환경을 설정했는지 확인해야합니다. 조합의 매트릭스가 있으면 테스트해야합니다.
아래 단계에 따라이 테스트를 수행 할 수 있습니다.
#1) 구성을 설정하고 변수를 만듭니다. 변수는 구성의 구성 요소 중 하나입니다.
예를 들어 , Chrome, Firefox, IE10 등과 같은 여러 값을 가질 수있는 변수‘브라우저’가있을 수 있습니다.
#두) 테스트 계획 / 테스트 스위트 또는 개별 테스트 케이스에 구성을 지정하십시오.
#삼) 각 구성에 대해 테스트를 실행합니다.
# 4) 각 구성에 대한 테스트 결과를 추적합니다.
VSTS를 사용하여이 테스트를 수행하기위한 자세한 단계별 가이드는 여기에서 볼 수 있습니다. VSTS – 다양한 구성 테스트
목표
이 테스트의 다양한 목표는 다음과 같습니다.
- AUT (Application under Test)의 최적 구성을 결정합니다.
- 하드웨어에 포함 된 숨겨진 취약점을 발견합니다.
- 비즈니스 운영을 방해하기 전에 문제를 감지하고 수정하여 비즈니스 연속성을 보장합니다.
- 구성 드리프트를 제거합니다.
- 호스트 구성 오류로 인한 실패 수를 최소화합니다.
- 구성 가능성을 충족하는지 확인하기 위해 응용 프로그램의 유효성을 검사합니다.
- 하드웨어 구성 요소를 추가, 제거 또는 수정하여 시스템 성능을 분석하려면 ( 예 : . 메모리 크기 변경,로드 밸런서 추가 등).
- 시스템이 지리적으로 분산 된 환경에서 제대로 작동하는지 확인하기 위해 (서버와 클라이언트가 서로 다른 위치에 있음)
- 구성 변경에 관계없이 버그를 얼마나 쉽게 복제 할 수 있는지 확인합니다.
- 애플리케이션 항목이 얼마나 추적 가능하고 관리 가능한지 확인합니다.
구성 테스트 유형
우리는 가질 수 있습니다 두 개의 다른 라인 이 테스트를위한 부서의.
에 첫 줄 , 두 부분으로 나눌 수 있습니다.
- 소프트웨어 구성 테스트
- 하드웨어 구성 테스트
에 두 번째 줄 , 다시 두 부분으로 나눌 수 있습니다. 1. 클라이언트 수준 테스트 및 2. 서버 수준 테스트
먼저 하드웨어 및 소프트웨어 구성에 대해 살펴 보겠습니다.
# 1) 소프트웨어 구성 테스트 :
이 테스트는 여러 OS 버전, 소프트웨어 업데이트 등으로 AUT (테스트중인 애플리케이션)를 통해 수행됩니다. 테스트에 사용할 다양한 소프트웨어를 설치하고 제거하는 데 많은 시간이 소요되므로 오랜 시간이 걸리는 테스트입니다.
시간을 절약하기위한 한 가지 방법은 소프트웨어 구성을 테스트하기 위해 가상 머신을 사용하는 것입니다. VM은 실시간 구성을 시뮬레이션하고 물리적 시스템과 동일한 느낌을줍니다.
따라서 단일 물리적 시스템에 여러 소프트웨어를 설치 및 제거하는 대신 테스트를 수행해야하는 각기 다른 구성을 시뮬레이션하는 여러 가상 시스템을 가질 수 있습니다.
소프트웨어 구성 테스트는 단위 테스트 및 통합 테스트를 거친 후 빌드가 출시되면 시작됩니다.
# 2) 하드웨어 구성 테스트 :
하드웨어 구성 테스트는 일반적으로 다양한 하드웨어가 연결된 물리적 컴퓨터가있는 실험실에서 수행됩니다.
빌드가 출시 될 때마다 하드웨어가 연결된 모든 물리적 머신에 소프트웨어를 설치해야하며 애플리케이션이 제대로 작동하는지 확인하기 위해 테스트 스위트를 모든 머신에서 실행해야합니다.
C ++ 입력 출력 파일
위에서 설명한 작업을 수행하려면 각 시스템에 소프트웨어를 설정하고 하드웨어를 연결 한 다음 테스트 스위트를 수동으로 실행하는 데 상당한 노력이 필요합니다. 이 작업을 자동화하고 테스트 스위트를 실행하더라도 상당한 노력이 필요합니다.
또한이 기사의 앞부분에서 이미 논의했듯이 하드웨어 구성 테스트를 수행하는 동안 테스트 할 하드웨어의 종류를 설명하며 모든 컴퓨터를 실행할 수 없게 만드는 수많은 컴퓨터 하드웨어 및 주변 장치가 있습니다. 테스트.
따라서 테스터는 고객이 주로 사용하는 하드웨어를 분석 한 다음 우선 순위에 따라 테스트를 수행합니다.
이제 클라이언트 수준 및 서버 수준 구성 테스트에 대해 살펴 보겠습니다.
# 1) 클라이언트 수준 테스트 : 유용성 및 기능 테스트와 공통점이 있습니다. 이 테스트는 직접적인 사용자의 관심의 관점에서 수행됩니다.
# 2) 서버 수준 테스트 :이 유형의 테스트는 출시 후 통합 될 예정인 소프트웨어와 외부 환경 간의 상호 작용을 조사하기 위해 수행됩니다.
기업에서이 테스트의 중요성
이 테스트는 기업이 확장 가능하고 사용 가능한 고성능 애플리케이션을 개발하고 유지하는 데 매우 중요합니다.
이 테스트는 비 효율성에 기여하는 요소를 신속하게 식별하고 수정하기 위해 지속적이고 가급적 자동화 된 방식으로 수행해야합니다 (그렇지 않으면 수동으로 수행 할 때 매우 시간이 많이 걸립니다).
결론
구성 테스트는 응용 프로그램이 최상의 성능을 발휘하는 시스템의 최적 구성을 발견하므로 다른 소프트웨어 테스트 유형만큼 중요합니다. 또한 호환성 문제를 식별하고 수정하는 데 도움이됩니다.
이 기사에서는 구성 테스트가 무엇인지,이 테스트를 수행하는 이유, 목표, 유형,이 테스트의 전제 조건, 수행 방법, 기업 등을 자세히 설명합니다.
이 기사가 유익하고 구성 테스트에 대한 공정한 아이디어를 가져 왔기를 바랍니다.