반응형

출처: Software Testing and Continuous Quality Improvement by William E. Lewis, 2009
부록 G Software Testing Techniques, 557~558 페이지

 

기본 경로 테스팅(Basis Path Testing)

기본 경로 테스팅은 프로그램의 흐름이나 논리 경로를 기반으로 테스트 케이스를 식별하는 화이트박스 기법이다. ‘기본 경로(a basis path)는 반복이 허용되지 않는 프로그램의 고유한 경로를 의미한다. 기본 경로는 원자(가장 작은) 수준 경로이며, 시스템의 모든 가능한 경로는 이 기본 경로를 선형 조합(linear combinations)한 것이다. 기본 경로 테스팅은 또한 소스 코드 모듈의 제어 구조를 검사하여 그 복잡성을 측정하는 순환 메트릭(a cyclomatic metric)을 생성한다.

 

이 기법을 설명하기 위해 아래의 작은 프로그램을 고려하자. Field Count 프로그램은 파일에서 레코드를 읽고 각 레코드에 있는 필드의 숫자 범위를 집계한다.

 

 

이론상 만약 루프가 100회 반복되면 완전한 테스트(exhaustive testing)를 위해 1.5 × 10개의 테스트 케이스가 필요하지만, 이는 달성하기 어렵다. 반면, 기본 경로 테스트는 이 프로그램을 테스트하는 데 다음 4개의 기본 테스트 케이스만 요구한다. 

 

  • 1 → 10
  • 1 → 2 → 3 → 8 → 9 → 1 → 10
  • 1 → 2 → 4 → 5 → 7 → 8 → 9 → 1 → 10
  • 1 → 2 → 4 → 6 → 7 → 8 → 9 → 1 → 10

 

수학적으로 이 네 가지 기본 경로의 선형 조합을 통해 프로그램에서 가능한 모든 경로를 생성할 수 있다. 경험에 따르면 잠재적인 결함의 대부분이 이 네 가지 기본 경로 테스트 케이스 실행에서 발견된다. 기본 경로의 수는 또한 순환 복잡도 메트릭(cyclomatic complexity metric)이기도 하다. 일반적으로 프로그램 모듈의 순환 복잡도가 10을 초과하지 않는 것을 권고한다. 이런 메트릭 계산에 많은 노력이 필요하므로 이 프로세스를 자동화하는 테스트 도구가 있다.

 

 

반응형

+ Recent posts