조합 테스트
2 월 24, 2020
소개:
현재 소프트웨어 시스템은 복잡하고 다양하며 다양한 구성을 가지고 있습니다. 소프트웨어 시스템에 있는 이 질 그리고 특징은 유일하게 디자인되고 혁신적인 뿐 아니라 창조적인 특징이 있는 신청과 소프트웨어의 수요를 시작했습니다. 이 외에도 클라이언트와 사용자는 기하 급수적 인 성능,기능,품질,확장 성,효율성 등을 요구합니다. 이러한 목표를 달성하고 고객과 소비자의 요구를 충족시키기 위해 소프트웨어 엔지니어는 다양한 혁신적인 기술과 방법론을 사용하여 제품을 개발하고 부적절한 테스트로 출시 된 제품은 응용 프로그램을 설치하거나 소프트웨어를 사용하는 사용자뿐만 아니라 클라이언트에게 돌이킬 수없는 손상과 손실을 초래할 수 있으므로 엄격한 테스트를 수행합니다. 또한,그것은 또한 큰 경제적 손실 또는 보안 침해를 초래할 뿐만 아니라 일상 생활의 질에 영향을 미칠 수 있는 신체적 상해를 일으킬 수 있습니다. 그러나 소프트웨어 테스터는 종종 시간과 예산이 제한되어 있으므로 소프트웨어를 철저히 테스트 할 수 없습니다. 또한 테스터는 종종 예측되는 결함을 직관적으로 테스트하는 반면 예측되지 않은 결함은 간과되고 테스트되지 않습니다. 이러한 상황을 극복하는 가장 좋은 방법은 소프트웨어 및 응용 프로그램에서 조합 테스트를 구현하는 것입니다. 조합 테스트는 관리 가능한 수의 테스트에서 시스템 설정을 체계적으로 검사 할 수 있고 티 웨이 상호 작용을 체계적으로 다루는 접근 방식입니다. 따라서 여기에 그 중요성,방법 및 기타 주요 특성을 정의하기위한 조합 테스트에 대한 설명 된 논의가 있습니다.
조합 테스트 설명:
조합 테스트는 이제 저렴한 비용으로 고품질 테스트를 생성하는 실용적인 접근 방식입니다. 그것은 정량화 및 모니터링 할 수 있습니다 분석 및 합성 활동을 분리하여 점진적으로 문제를 공격하는 단계로 무력을 분해,부분적으로 도구에 의해 지원. 또한 조합 테스트는 적용이 매우 간단합니다. 사양 기반 기술로서 테스트 중인 구현에 대한 지식이 필요하지 않습니다. 조합 테스트는 소프트웨어의 많은 오류가 둘 이상의 매개 변수의 상호 작용에서만 발생할 수 있다는 전제에 기반합니다. 따라서 조합 테스트는 여러 구성 매개 변수로 소프트웨어를 테스트하는 효과적인 기술입니다. 주로 매개 변수의 조합으로 인한 상호 작용 오류를 감지하는 데 사용됩니다. 조합 테스트에 의해 생성 된 테스트 유형은 모든 티 웨이 매개 변수 조합을 포함하는 커버링을 생성하는 것을 목표로합니다. 기본 조합 테스트는 별도로 또는 동시에 사용할 수있는 두 가지 방법으로 사용할 수 있습니다. 이러한 방법은 다음과 같습니다:
- 구성 값 또는 매개 변수의 조합(커버링 배열이 구성 가능한 매개 변수의 값을 선택하는 데 사용됨)은 모든 구성 조합에 대해 실행되는 동일한 테스트를 통해 가능합니다.
- 커버링 어레이는 입력 데이터 값을 선택하는 데 사용되며,이 값은 전체 테스트 케이스의 일부가 되어 애플리케이션에 대한 테스트 슈트를 생성합니다. 이 형태의 조합 테스트를 실제 소프트웨어에 적용하는 것은 매우 큰 테스트가 필요할 수있는 더 높은 수준의 상호 작용을 제공하기 때문에 어렵습니다.
조합 테스트 슈트 생성에 사용되는 방법:
조합 테스트의 인기는 최근 몇 년 동안 눈에 띄게 증가했습니다. 그것의 수많은 이점 때문에 그것은 각종 테스트 수준에 소프트웨어 검사자에 의해 이용됩니다. 모델,단위,통합,시스템 및 승인 테스트에서 검정,흰색,모델 기반 테스트 등에 이르기까지 테스터는 비용 효율적인 속도로 효과적인 결과를 얻기 위해 조합 테스트를 구현하고 있습니다. 또한 조합 테스트를 위한 테스트 슈트를 생성하기 위해 소프트웨어 엔지니어는 방대한 도구를 사용하여 소프트웨어 테스트 프로세스를 더욱 단순화합니다. 이러한 조합 테스트 슈트는 더 높은 티 웨이 커버리지를 제공하지만,더 높은 티 웨이 커버리지의 배열을 생성하면 상당한 계산 자원을 소비하고 큰 결과를 생성 할 수 있습니다. 또한 조합 테스트를위한 대부분의 알고리즘은 양방향 테스트의 특별한 경우에 중점을 둡니다. 또한 조합 테스트를위한 테스트 슈트를 수동으로 구성하기 위해 세 가지 방법이 사용됩니다. 이 방법은 검사자에게 각종 이점을 제공하고 산출이 가능한 한 정확하다는 것을 지킵니다. 이러한 방법/알고리즘은 다음과 같습니다:
- 대수적 방법:이것은 시간과 관련하여 효율적인 구조를 제공하지만 광범위하고 일반적인 다양한 입력에 대한 정확한 결과를 산출하기는 어렵습니다.
- 욕심 많은 알고리즘: 이들은 시간과 정확성에 관해서 상대적으로 효율적인 발견 되었습니다 커버 어레이의 건설에 대 한 알고리즘의 잘 연구 된 유형입니다.
- 휴리스틱 검색:휴리스틱 검색 특히 자극 어닐링의 적용은 여러 경우에 가장 정확한 결과를 제공했습니다. 이 로컬 검색 방법은 여러 시스템 구성에 대해 가장 작은 테스트 도구 모음을 제공하지만 테스트 도구 모음을 생성하는 데 실행 시간이 소요됩니다.
쌍별 테스트:
일반적으로 모든 쌍 테스트로 알려진 쌍별 테스트는 시스템에 대한 입력 매개 변수의 각 쌍에 대해 해당 매개 변수의 가능한 모든 개별 조합을 테스트하는 소프트웨어 테스트의 조합 방법입니다. 백퍼센트 테스트 커버리지를 제공하는 테스트 디자인 기술입니다. 프로그램에서 가장 일반적인 버그는 일반적으로 입력 매개 변수 또는 매개 변수 쌍 간의 상호 작용에 의해 발견되고 트리거됩니다. 세 개 이상의 매개 변수 간의 상호 작용을 포함하는 버그는 점진적으로 덜 일반적이며 찾기 위해 점진적으로 더 비쌉니다. 이 경우 모든 쌍과 같은 테스트 케이스를 선택하는 조합 기술은 기능 범위를 크게 손상시키지 않으면 서 테스트 케이스 수를 크게 줄일 수있는 매우 유용한 비용 이점 절충안입니다. 따라서 쌍별 테스트 기술은 여러 매개 변수를 포함하는 응용 프로그램에 대한 테스트를 설계하는 데 대단히 유용합니다. 그 테스트 슈트는 모든 조합을 커버하고,따라서,아직 버그를 찾는 매우 효과적인 철저한되지 않습니다. 쌍별 테스트는 조합을 크게 줄일 수 있지만 여전히 오류 탐지 측면에서 실제로 효과적이며 최상의 테스트 노력과 탁월한 효과를 약속하는 스마트 테스트 설계 기술입니다.
조합 테스트의 이점:
조합 테스트에 대한 위의 논의는 유용성뿐만 아니라 그 중요성을 반영합니다. 그것은 여러 구성 매개 변수와 소프트웨어를 테스트로 가장 효과적인 소프트웨어 테스트 기술 중 하나입니다. 또한 조합 테스트를 통해 매개 변수의 조합으로 인한 상호 작용 오류를 쉽게 감지 할 수 있습니다. 이 유형의 테스트의 또 다른 장점은 소프트웨어 개발자와 테스터뿐만 아니라 제품이 개발되는 조직에 도움이되는 매우 비용 효율적인 속도로 고품질 테스트를 생성한다는 것입니다. 따라서이 접근 방식의 다른 이점은 다음과 같습니다:
- 은 테스트 계획을 정의할 때 커버리지 문제를 처리합니다.
- 테스트를 체계적으로 계획 할 수 있습니다.
- 은 모든 소프트웨어 및 다양한 추상화 수준에 사실상 적용될 수 있습니다.
- 더 나은 품질 보증을 가진 더 높은 시험 적용.
- 내부 소스 코드에 액세스 할 필요가 없습니다.
- 테스트된 각 시나리오의 값을 최대화합니다.
- 테스트 수의 상당한 감소.
- 위험을 통제 할 수 있으며 쉽게 검토 할 수 있습니다.
결론:
소프트웨어 시스템은 복잡하며 지수 수의 가능한 테스트가 발생할 수 있습니다. 적절한 테스트없이 출시되는 모든 제품은 조직뿐만 아니라 사용자에게 심각한 위험이 될 수 있습니다. 따라서 소프트웨어가 출시 된 후 이러한 상황이나 문제가 발생하지 않도록 소프트웨어 테스터는 엄격한 테스트를 수행합니다. 또한 구성 가능한 여러 매개 변수로 소프트웨어를 쉽게 테스트 할 수 있으므로 다양한 테스트 수준에서 조합 테스트를 자주 사용합니다. 간단히 말해서 조합 테스트는 매개 변수 조합으로 인한 상호 작용 오류를 감지하는 데 사용됩니다. 조합 테스트의 효과를 뒷받침하는 핵심 통찰력은 1999-2004 년에 수행 된 일련의 연구 및 연구에서 비롯되었습니다. 그것은 체계적으로 테스트의 관리 수에 시스템 설정을 검사 할 수 있습니다 대단히 유용한 접근 방식. 그것은 생산 하 고 매우 비용 효율적인 속도로 높은 품질 테스트를 실행 하는 접근. 또한 가능한 한 빨리 커버리지 문제를 처리 할 수있는 효과적인 테스트 계획 기술입니다. 따라서 소프트웨어 엔지니어가 최상의 테스트 결과를 얻고 싶다면 소프트웨어 개발 수명 주기의 초기 단계에서 조합 테스트를 반드시 실행해야 합니다.