명세 기반 테스트(specification-based testing)
- 요구사항 명세서에 근거하여 테스트 케이스를 설계하는 기법
- 요구사항과 기능 명세서에 맞게 동작하는지 검증
- 블랙박스 테스트의 한 형태
1. 명세 기반 테스트의 목적
- 명세 기반 테스트의 주 목적은 SW가 명세서에 정의된 대로 동작하는지 확인하는 것
- 기능을 올바르게 구현했는지 검증하고 SW가 모든 요구사항을 충족하는지 확인
2. 명세 기반 테스트의 특징
- 블랙박스 테스트 기법 : 내부 코드나 구현 방식을 고려하지 않고, 요구사항에만 근거해 테스트 진행
- 요구사항 중심 : SW의 기능, 성능 등에 대한 명세를 기준으로 테스트 수행
- TC 설계 : 명세서에서 입력값, 예상 결과, 경계 조건 등을 파악하여 TC 작성
3. 명세기반 테스트 기법
동등 분할(Equivalence Partitioning)
- 테스트할 입력을 여러 개의 등가 클래스로 나누고, 각 클래스에서 하나의 값만을 대표로 테스트 하는 방식
경계값 분석(Boundary Value Analysis)(BVA)
- 경계 지점의 값이 버그를 발생시키는 경우가 많아 경계 값을 중심으로 TC 설계, 특정 조건의 최솟값, 최댓값, 바 직전과 직후의 값을 테스트 데이터로 사용
결정 테이블(Decision Table)
- 다양한 입력 조건과 그에 따른 출력 결과를 표 형태로 정리하여 TC를 설계하는 기법
상태 전이 테스트(State Transition Testing)
- SW가 특정 상태에서 다른 상태로 전이될 때 발생할 수 있는 동작을 테스트하는 방식
4. 명세 기반 테스트의 장점과 단점
장점
- 사용자가 기대하는 대로 시스템이 동작하는지 검증할 수 있다.
- 요구사항을 명확히 이해하고 반영도록 도움
- 블랙박스 테스트 기업으로 비전문가도 TC 작성 및 수행 가능
단점
- SW 내부 구조에 대한 검증이 이루어지지 않는다.
- 명세서가 부정확하거나 불완전하면 TC도 영향을 받음
- 요구사항 명세서가 방대할 경우 TC 설계가 복잡할 수 있다.