4.3 기본 설계 기법
명세 기반 기법 : 주어진 명세(모델)를 바탕으로 TC를 도출하는 것
명세 기반 기법 적용시 고려해야할 사항
1. 시스템이 상태 다이어그램, 유즈케이스 등으로 표현되지 않은 경우, 요구사항 분석서와 설계서를 먼저 작성한 후 TC 생성을 고려
2. 조기 테스트 설계에 활용. SW가 없더라도 명세만 있다면 TC를 도출할 수 있다. 개발 초기에 테스팅을 하여 개발자/분석자/아키텍트가 발견하기 어려운 결함을 조기에 발견할 수 있다.
1. 동등분할
SW나 시스템이 특정 범위의 입력값에 의해 결과값이 동일할 경우, 이 범위를 하나의 그룹(클래스)으로 간주
입력값/출력값 영역을 집합으로 나누어 각 집합의 대표값 하나를 선택하여 TC를 작성하는 것
동등 분할을 적용할 수 있는 분야 : 입력값 / 출력값 / 내부값/ 시간관련 값 / 모듈간 인터페이스 파라미터
명세에 있는 입/출력값을 사용하므로 명세기반 테스트 기법으로 분류되지만, 구조 기반 기법이나 경험 기반 기법에서도 사용된다.
동등 분할은 모든 테스트 유형에서 적용 가능하다. (비기능성, 구조적, 리그레션 테스팅 등등)
* 동등분할은 유효한 입력 데이터뿐만 아니라 유효하지 않은 데이터, 거부할 데이터까지 모두 포함한다.
2. 경계값 분석
동등분할의 경계부분의 입력값에서 결함 발견 확률이 높으므로 경계값을 포함하여 테스트하는 기법
모든 테스트레벨, 모든 테스트 유형, 모든 테스트 분류에 적용 가능
3. 결정 테이블 테스팅
논리적인 조건이나 정황을 구현하는 시스템에서 요구사항을 도출하거나 설계를 문서화하는데에 유용
SW의 조건이 논리적 조건에 의존적인 모든 경우에 적용 가능
4. 상태 전이 테스팅
현재 상황과 이전의 이력을 반영하는 상태 및 변화에 따라 다르게 동작하는 부분들을 다이어그램이나 테이블로 표현, 테스팅
상태 전이 테스팅을 통해 설계 가능한 방식
- 전형적인 상태의 순서를 커버
- 모든 상태를 커버
- 모든 상태 전이를 실행
- 특정한 상태 전이 순서를 실행
- 불가능한 상태 전이를 테스트
상태 다이어그램 표기법
상태 : 하나 또는 그 이상의 이벤트를 기다리는 시스템의 모드
전이 : 이벤트에 의해 한 가지 상태에서 다른 상태로 변경
이벤트 : 상태 전이를 유발하는 요인
가드 : 이벤트가 발생하는 조건
액션 : 상태의 전이에 따라 발생하는 동작
상태 다이어그램을 통해 도출할 수 있는 결함
1) 모델상의 결함 - [리뷰 또는 인스펙션, 정적 분석 툴로 발견]
- 초기 상태 누락 / 전이 또는 액션의 누락 / 중복 표기 또는 표기 실수
2) 구현상의 결함 - [테스팅을 통해 발견]
- 여분 / 누락 / 훼손 상태
- 액션이 틀리거나 누락
- 스니크 패스(Sneak paths), 트랩 도어(Trap doors, back doors)
상태 전이 테스팅의 설계 절차
1) 상태-이벤트 테이블 구성
2) 전이 트리 구성
3) 반응(Legal or Valid) 테스트 케이스 구성
4) 무반응(Illegal or Invalid) 테스트 케이스 구성
5) 가드 또는 조건 테스트 케이스 구성
6) 테스트 프로시저 구성
* 테스트 프로시저란? : 테스트의 실행 순서. 테스트 케이스를 순차적으로 나열한 것
- 테스트 프로시저를 기술한 문서를 테스트 프로시저 명세, 테스트 스크립트, 수동 테스트 스크립트 등으로 부름
5. 유즈케이스 테스팅
SW가 실제 사용되는 방식에 기반하여 프로세스 흐름을 기술
시나리오 라고도 부르며, 고객이나 유저 그룹을 직접 참여시키는 인수 테스트 설계시 유용함
통합 테스트 단계시 서로 다른 컴포넌트 간의 상호작용으로 발생하는 결함을 찾을 수 있다.
컴포넌트 레벨 유즈케이스 테스팅
- 흐름과 시나리오만을 고려하여 TC 도출
- 유즈케이스 상세를 문장별로 분석하여 TC 도출
절차
1) 어떤 흐름을 테스트할지 고려하여 테스트 시나리오 구성
2) 유즈케이스 상세에서 필수적인 테스트 상황 선택
3) 유즈케이스 상세 내용을 입력값, 출력값, 상황 처리 등으로 분류
4) 각각의 상황에 ID 부여
5) 각각의 상황에 가능한 값을 결정
- Valid / Invalid, true/false 등
시스템 레벨 유즈케이스 테스팅
- 유즈케이스간의 상호 작용과 활동을 테스트
- 활동(상태) 기반 커버리지 < 전이 기반 커버리지 < 경로 기반 커버리지
활동(상태) : 컴포넌트 레벨의 유즈케이스 테스팅 기법 이용
전이 : 상태 전이 테스팅 기법을 적용
경로 : 동등 분할, 경계값 분석, 조합 테스팅 기법으로 입력값을 수를 관리 -> 커버리지를 높임
* 유즈케이스가 얼마나 쉽고 정확하고 체계적인지에 따라 TC 완성도와 커버리지가 결정된다.
'ISTQB 공부방' 카테고리의 다른 글
Part.4 테스트 설계 (고급)기법 - ISTQB (0) | 2021.01.06 |
---|---|
Part.4 테스트 설계 기법 - ISTQB (3) - 구조 기반 기법 (0) | 2021.01.05 |
Part.4 테스트 설계 기법 - ISTQB (1) (0) | 2021.01.04 |
Part.3 정적 기법 - ISTQB (0) | 2021.01.04 |
Part.2 소프트웨어 수명주기와 테스팅 - ISTQB (0) | 2021.01.03 |
댓글