반응형

출처: Testing IT: An Off-the-Shelf Software Testing Process by John Watkins, 255~258 페이지

 

테스트 설계 프로세스에서 테스트 분석가(Test Analyst)가 샘플 테스트 데이터를 선택할 때 사용할 수 있는 동등 분할 및 경계 분석 기법을 보여주는 예제이다.


 

동등 분할(Equivalence Partitioning) 예제

테스팅 대상

호텔 숙박 비용 청구를 검증하는 소프트웨어 시스템의 사양이 다음 요구사항을 포함한다.

  • 숙박비 청구에 $70의 상한선이 있다.
  • $70를 초과하는 모든 청구는 거부되어야 하며 오류 메시지가 표시되어야 한다.
  • 모든 비용 금액은 $0보다 커야 하며 그렇지 않은 경우 오류 메시지가 표시되어야 한다.

 

테스팅 요구사항 분석

위 요구사항을 분석하는 과정을 지원하기 위해 파티션과 그 경계를 그래픽으로 표시하고 경계 값과 관련하여 파티션 범위를 명시하는 것이 유용하다.

[파티션의 그래픽 뷰]

 

테스트케이스 설계

다음 단계는 테스트케이스 ID, 파티션에서 뽑은 대표 값(테스트케이스의 입력 값), 테스트할 파티션, 테스트케이스의 예상 출력(결과)를 보여주는 표를 작성하여 테스트케이스를 설계하는 것이다.

[표 형식의 테스트케이스]

 

 

경계값 분석(Boundary Analysis) 예제

테스팅 대상

이 예는 위 동등 분할에서 제시된 것과 동일한 문제를 사용한다.

 

테스팅 요구사항 분석

에러가 입력 변수의 극단값(extreme values) 주변에서 발생하는 경향이 있다는 것이 경계값 테스팅을 뒷받침하는 근거이다. 

요구사항을 분석하는 것을 지원하기 위해 경계를 그래픽으로 표시하고, 경계 양쪽에 대해 경계값 및 기타 의미 있는 값을 결정하는 것이 좋다.

[경계의 그래픽 뷰]

 

테스트케이스 설계

다음 단계는 테스트케이스 ID, 테스트 입력 값(경계 주변의 값과 경계상의 값), 테스트할 경계, 테스트케이스 예상 결과를 보여주는 표를 작성함으로써 테스트케이스를 설계하는 것이다. 이제 테스트 분석가는 호텔 요금에 대한 이러한 값들을 사용하여 경계 값을 테스트하는 일련의 효과적인 테스트케이스를 설계할 수 있다.

[표 형식의 테스트케이스]

 

 

요약(Summary)

  • 동등 분할 테스팅은 적절한 커버리지를 유지하면서 테스트케이스의 수를 관리 가능한 크기로 줄이는 데 사용되는 기법이다. 이 간단한 기술은 우리가 공식적인 테스트 설계 방법으로 인식하지 못할지라도 거의 모든 테스터가 직관적으로 사용하는 방법이다.
  • 동등 분할 테스팅이 그 자체로 유용한 기법이지만 이것의 가장 큰 기여는 우리를 경계값 테스팅으로 이끄는 데에 있다. 일반적으로 경계에 많은 결함이 숨어 있기 때문에 경계값 테스팅은 경계 분석에 집중하는 기술이다. 숙련된 테스터라면 이러한 상황을 여러 번 경험했을 것이며, 경험이 없는 테스터라도 경계에서 실수가 가장 자주 발생할 것이라는 직감을 가진다.
  • 강력한 타이핑 언어(예: Ada, Pascal)는 변수 범위의 명시적 정의를 허용한다. 예를 들어 Pascal에서 변수가 특정 범위 내에 있도록 정의된 경우 해당 범위를 벗어난 값은 정상 실행을 중단하는 런타임 에러를 발생시킨다. 사실, 강력한 타이핑 언어 출현의 역사적 이유 중 하나는 경계 값 테스트로 쉽게 드러나는 종류의 에러를 프로그래머가 만들지 않도록 막기 위한 것이었다. 다른 언어(예: C, FORTRAN, COBOL)는 강력한 타이핑이 아니므로 경계 값 테스트는 이러한 언어로 코딩된 프로그램에 더 적합하다. 

 

 

 

반응형

+ Recent posts