경계값 분석 및 등가 분할

⚡ 스마트 요약

동등 분할 및 경계값 분석은 대규모 입력 범위를 동등 클래스로 압축하고 분할 경계를 테스트하는 블랙박스 테스트 기법으로, 유효 및 무효 입력 전반에 걸쳐 효율적인 커버리지로 강력한 결함 탐지를 제공합니다.

  • 파티션 입력: 값들을 유효한 값과 유효하지 않은 값으로 그룹화하여 중복을 제거하십시오.
  • Target 경계 : 최소값, 최소값 근접값, 명목값, 최대값 근접값 및 최대값을 테스트합니다.
  • 두 가지를 모두 결합하세요: 먼저 등가 분할법을 사용한 다음, 경계값 분석을 통해 경계 결함을 탐지하십시오.
  • 적용 범위 극대화: 클래스당 하나의 값으로 모든 동일한 입력에 대한 동작을 검증합니다.
  • AI 사용 Generators: AI 도구는 파티션 검색 및 경계 케이스 생성을 자동화합니다.

경계값 분석 5점 모델

시간적 제약과 조합 가능성의 한계로 인해 철저한 검사는 현실적으로 어려운 경우가 많습니다. 동등 분할과 경계값 분석은 이러한 문제를 그룹화를 통해 해결합니다.ping 유사한 입력값을 사용하고, 더 적은 사례로 더 강력한 커버리지를 얻기 위해 해당 입력값의 가장자리를 집중적으로 공략합니다.

동등 분할이란 무엇인가요?

등가 분할 (동등 클래스 분할 또는 ECP라고도 함)은 입력 데이터를 동일한 값을 가진 그룹으로 나누는 블랙박스 기법입니다. 테스터는 소프트웨어가 모든 구성원에 대해 동일하게 동작한다고 가정하고 각 클래스에서 대표 요소 하나를 선택합니다.

  • 입력 도메인을 유효한 동등 클래스와 유효하지 않은 동등 클래스로 분할합니다.
  • 모든 경우에 적용됩니다 테스트 수준—단위, 통합, 시스템 및 수용.

경계값 분석이란 무엇인가요?

경계값 분석(BVA)범위 검사라고도 하는 BVA는 각 동등 클래스의 극단적인 끝 부분을 검증합니다. 결함은 범위 한계에 집중되기 때문에 BVA는 다음 다섯 가지 핵심 사항을 목표로 합니다.

  1. 최저한의
  2. 최소값 바로 위
  3. 공칭 가치
  4. 최대치 바로 아래
  5. 최고

경계값 분석 5점 모델

BVA는 동등 분할을 보완합니다. 클래스가 정의되면 경계값이 1만큼 차이가 나거나 경계 오류가 발생합니다.

동등분할과 경계값분석을 사용하는 이유는 무엇일까요?

조합의 수가 너무 많아 모든 경우를 철저히 검사할 수 없을 때는 지능적인 검사 선택이 필수적입니다. 이러한 기법은 다음과 같은 세 가지 이점을 제공합니다.

  1. 대용량 테스트 케이스를 관리하기 쉬운 단위로 압축합니다.
  2. 효과를 저해하지 않으면서 테스트 데이터를 선택하는 명확한 규칙을 제시하십시오.
  3. 수치 변수가 많은 계산 집약적인 애플리케이션에 적합합니다.

동등 분할 수행 방법 (예제)

  • 아래의 "피자 주문" 텍스트 상자를 살펴보세요.
  • 1~10개까지 주문하시면 유효하며, 성공 메시지가 표시됩니다.
  • 수량 11~99는 유효하지 않으므로 오류가 발생합니다. “피자는 10판만 주문 가능해요”.
피자 주문:

시험 조건:

  1. 10보다 큰 숫자는 모두 유효하지 않습니다.
  2. 1보다 작은 숫자는 모두 유효하지 않습니다.
  3. Numbers 1~10번이 유효합니다.
  4. -100과 같은 세 자리 숫자는 모두 유효하지 않습니다.

모든 값을 테스트하면 100개 이상의 경우가 발생합니다. 동등 분할은 동일한 동작을 하는 클래스로 도메인을 그룹화합니다.

피자 입력에 대한 동등 분할 그룹

이러한 그룹을 이렇게 부릅니다. 등가 클래스클래스별로 하나의 값을 선택하세요. 해당 값이 통과하면 나머지 값도 모두 통과하고, 통과하지 못하면 클래스 전체가 실패합니다.

동등 클래스 대표 값

경계값 분석 수행 방법 (예시)

BVA는 동일한 피자 필드를 사용하여 명목값이 아닌 파티션 경계를 확인합니다. 테스터는 0, 1, 10, 11을 평가하여 유효 및 무효 경계를 모두 확인합니다.

피자 입력에 대한 경계값 분석

1부터 10까지의 입력을 허용하는 경우, 경계 테스트 케이스는 다음과 같습니다.

테스트 시나리오 Descript이온 예상 결과
경계 값 = 0 시스템에서는 허용하면 안 됩니다.
경계 값 = 1 시스템은 수락해야 합니다.
경계 값 = 2 시스템은 수락해야 합니다.
경계 값 = 9 시스템은 수락해야 합니다.
경계 값 = 10 시스템은 수락해야 합니다.
경계 값 = 11 시스템에서는 허용하면 안 됩니다.

동등 분할법과 경계값 분석법의 차이점

두 가지 모두 검사량을 줄이지만, 초점과 시기가 다릅니다.

아래 등가 분할 경계값 분석
초점 동등한 입력값 그룹 각 그룹의 모서리
데이터 선택 클래스당 하나의 값 최소값, 최소값 근처, 명목값, 최대값 근처, 최대값
가장 좋은 중복 사례 줄이기 1만큼 차이가 나는 결함 포착
주문번호 먼저 지원했습니다. 다음으로 지원했습니다

예시: 비밀번호 입력란 유효성 검사

6~10자를 허용하는 비밀번호 필드는 0~5자, 6~10자, 11~14자의 세 부분으로 나뉘며, 각 부분 내에서는 동일한 결과가 나타납니다.

암호를 입력:
# 테스트 시나리오 예상 결과
1 0~5자를 입력하세요 시스템이 수락하면 안 됩니다.
2 6~10자를 입력하세요 시스템은 수락해야 합니다.
3 11~14자를 입력하세요 시스템이 수락하면 안 됩니다.

등가 분할 및 BVA에 대한 최고의 사례

검사 횟수를 관리하면서 강력한 검사 범위를 유지하려면 다음 사항을 준수하십시오.

  • 모든 영역을 매핑하세요: 유효한 파티션, 유효하지 않은 파티션 및 특수 사례 파티션을 먼저 나열합니다.
  • 각 극한값의 양변을 모두 테스트하십시오. 오차를 잡아내기 위해 바로 안쪽과 바깥쪽에 값을 포함시키세요.
  • 기법들을 결합하세요: 복잡한 논리를 구현하려면 의사결정표 또는 상태전이 테스트와 함께 사용하십시오.
  • 예외적인 상황을 자동화하세요: 회귀 분석 도구가 일관되게 실행되도록 경계값을 매개변수화합니다.

주요 요점

  • 동등 분할은 유사한 입력값을 그룹화합니다. 클래스당 하나의 값만 있으면 충분합니다.
  • 경계값 분석은 파티션 경계와 유효/무효 경계를 검증합니다.
  • 둘 다 숫자 또는 범위 기반 필드에 대한 블랙박스 기법입니다.
  • 이들을 결합하면 결함 탐지 품질을 저하시키지 않으면서 테스트량을 줄일 수 있습니다.

경계값 분석 및 등가 분할 테스트 비디오

여기에서 확인하세요 비디오에 접근할 수 없는 경우

자주 묻는 질문

동등 분할은 클래스당 하나의 대표값을 선택하고, 경계값 분석은 각 경계의 극값을 대상으로 합니다. 분할은 볼륨을 줄이고, 경계값 분석은 극한 결함을 포착합니다.

동등 분할은 소스 코드에 접근하지 않고 입력-출력 동작에 초점을 맞추기 때문에 블랙박스 기법입니다. 테스터는 명세로부터 분할을 도출하므로 단위 테스트, 통합 테스트, 시스템 테스트 및 인수 테스트 수준에 적용할 수 있습니다.

네. 둘 다 적용됩니다. API 테스트매개변수 및 페이로드 필드에는 종종 숫자 범위 또는 길이 제한이 있습니다. 테스터는 유효한 입력, 유효하지 않은 입력 및 경계 입력에 대한 파티션을 정의합니다.

입력값이 숫자 범위가 아닌 경우(예: 순서 없는 집합, 부울 플래그 또는 범주형 값)에는 경계값 해석(BVA)을 사용하지 않는 것이 좋습니다. 이러한 경우에는 경계값이 의미가 없으므로 의사결정표 또는 상태 전이 테스트가 더 적합합니다.

Robust BVA는 표준 접근 방식을 확장하여 유효 범위 바로 바깥에 있는 값(최소값보다 하나 아래, 최대값보다 하나 위)을 추가함으로써 시스템이 명백히 유효하지 않은 입력을 어떻게 거부하는지 검증합니다.

예. AI 생성기는 요구사항과 스키마를 분석하여 동등 클래스와 경계값을 제안합니다. 다음과 같은 도구들이 있습니다. Testim 마블 결함 이력에서 교훈을 얻고 예외적인 상황을 신속하게 파악합니다.

AI가 겹침을 감지합니다ping 분할, 중복 테스트, 테스터가 간과하는 누락된 부분 등이 있습니다. 머신 러닝은 결함 이력에서 위험도가 높은 경계를 순위화하여 더욱 스마트한 테스트 선택과 미묘한 문제의 빠른 감지를 가능하게 합니다.

예. JUnit, TestNGpytest는 매개변수화된 테스트를 지원하여 테스터가 파티션과 경계값을 입력 데이터 세트로 정의할 수 있도록 합니다. 이를 통해 CI 파이프라인에서 동등성 및 경계 조건 테스트를 체계적으로 실행할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.