본문 바로가기
CSTS (일반등급)

CSTS 10장 명세 기반 테스트

by record2840 2025. 5. 22.

명세 기반 테스트는 적용 대상에 제한이 없다. ( 컴 통 시 인 전 과정 사용)

프로그램 코드 내부 구조를 전혀 모르는 사람이 명세 기반 테스트를 수행하는 것이 좋을 수도 있다.
외부의 독립적인 테스터가 명세 기반 테스트를 수행하는 것이 좋다.
외부 테스터라 할지라도 프로그램 기능과 도메인에 관한 이해가 충분해야 한다.
예외) 개발자 자신이 명세 기반 테스트를 실행할 때도 있다.
장점
1)
프로그램 코드가 아닌 명세를 바탕으로 테스트 케이스를 설계하므로 서브 시스템이나 전체 시스템처럼 규모가 큰 단위에도 효과적으로 적용 가능
2)
테스터가 구현 언어, 알고리즘 등 구현에 관한 지식이 없어서도 테스트 수행 가능
  
사용자 관점에서 테스트를 수행하기 때문에 효과적으로 결함 검출 가능
3)
명세 결함(일관성, 애매모호한 점)이 드러나는 기회가 되며 명세가 완성되는 순간 테스트 케이스들을 설계할 수 있다.
  
, 코드가 구현될 때까지 기다릴 필요가 없다.
4)
누락 결함을 검출할 가능성을 높여준다.

 

동등 분할

명세에서 입력과 출력을 식별한다.
각 입력/출력 영역을 동등 클래스들로 분할한다.
각 동등 클래스에서 최소한 하나의 대푯값을 선정하여 테스트 케이스에 반영한 다음, 테스트 케이스 테이블을 작성한다.

주의점 : 유효하지 않은 입력 및 출력까지도 고려해야 한다.

 

One-to-One 동등 분할
입력/출력 영역을 분할한 클래스들과 테스트 케이스 간 일대일 관계를 명시적으로 보여 준다.
유효하지 않은 테스트 케이스를 설계하는 경우에는 한 번에 하나의 필드만 유효하지 않은 입력으로 구성하는 것이 바람직

 

최소화 동등 분할
하나의 테스트 케이스에 여러 개의 클래스가 포함되도록 한다. One-to-One 동등 분할보다 테스트 케이스의 수를 줄일 수 있다.
유효하지 못한 테스트 케이스는 One-to-One 방식으로 설계하고,
유효한 테스트 케이스는 최소화 동등 분할 방식을 이용하여 테스트 케이스를 설계하는 것도 고려할 만하다.

 

경계값 분석
2-Value BVA :
경계값과 경계 외부에 있는 경계와 가장 가까운 값을 선정
3-Value BVA :
경계값과 경계 내부와 외부에서 경계와 가장 가까운 값을 선정
☞ 주어진 상황을 이용한 문제를 풀 줄 알아야 합니다. 

조합 테스트
테스트 대상 프로그램 내 여러 클래스의 각 입력 인자를 동등 분할이나 BVA 등의 방법으로 여러 클래스 또는 값으로 분할
All-combinations :
모든 가능한 인자의 모든 가능한 클래스 조합
Each choice:
 입력 인자의 분할된 클래스에서 최소한 하나의 입력 값이 테스트 케이스에 포함되도록 한다.
페어와이즈 테스트: 각 인자의 값과 다른 인자의 값을 최소한 한 번은 조합하여 테스트
                  
모든 입력에 대해 존재할 수 있는 모든 상호 작용을 고려하지 않고 모든 두 개의 입력 간에 가능한 모든
                  
상호작용만을 고려한다.
Base choice
테스트: 기반이 되는 테스트 조합을 미리 선정한다. 기반 테스트는 사용자의 관점에서 선택될 빈도가 가장 높고, 일반적으로 정상 동작할 수 있는 것을 선정하고 선정된 기반 테스트에서 하나의 인자에만 변경을 주며 나머지는 기반 테스트의 값으로 고정하여 테스트 케이스를 생성한다.

 

결정표 테스트 
결정표를 이용하여 테스트 케이스를 설계하는 테스트
상태 의존적인 동작하는 경우 해당하지 않는다.
장점 : 가능한 조건 조합 중 어떤 경우가 누락되었는지 알 수 있다.
단점 :

 ☞ 꼭 나오니까 이해해두기 

상태 전이 테스트 (구분하기)
 -
상태 테스트 : 상태 전이도의 모든 상태를 최소한 한 번 방문 (기출)
 -
단일 전이 테스트(0-switch 테스트):  상태 전이도의 모든 유효한 전이들을 최소한 한 번 방문
 - All transitions
테스트: 유효한 전이를 포함하여 유효하지 않은 전이들도 최소한 한 번 방문하는 테스트 케이스
 -
다중 전이 테스트 : 상태 전이도에 있는 N+1개의 전이 시퀀스들을 최소한 한 번 방문하는 테스트 케이스

 

시나리오, 상태 전이 테스팅은 상태 의존적인 동작을 하는 경우에 적합하다.

.

반응형