본문 바로가기
IT기술노트/소프트웨어공학

명세기반 테스트(Specification-based Test)

by 비트코기 2021. 2. 2.

블랙박스 테스트, 블동경의상 유분페


I. 문서 기반으로 테스트 케이스 도출, 명세기반 테스트의 개요

가. 명세기반 테스트(Specification-based Test)의 정의

   - 프로그램의 구조를 고려하지 않고 SRS, 설계문서 등을 기반으로 테스트 케이스를 설계, 테스트를 실행하는 테스트 기법

나. 명세기반 테스트의 특징

특징

내용

블랙박스 테스트

시스템 내부를 참조하지 않고 테스트 수행

데이터 증식

입출력 데이터에 초점

테스트 케이스 도출

초기 테스트 설계 적용으로 테스트 케이스 도출 가능


II. 명세기반 테스트의 유형 (블동경의상 유분페)

기법

개념도

내용

동등분할

(Equivalence

Class Partitioning)

 

- 대표값을 이용 테스트 케이스도출

정의) 입력 정보를 유사한 특징을 가진 클래스로 분류, 각 클래스의 대표 테스트 케이스를 작성하는 방법

- 클래스는 유한개의 독립적 집합으로 분리

- 동일한 입력에 대해서는 동일한 결과

- 출력 결과에 대해서도 동등분할

경계값 분석

(Boundary Value Analysis)

 

- 결함은 경계값 근처에서 많이 발생한다는 점을 이용

정의) 입력 조건의 중간 값보다 경계 값에서 에러 발생 확률이 높다는 이론을 이용

- 경계치에 치중하여 출력 유형 고려

- 동등 분할 후 분할된 클래스의 경계값에 근거하여 테스트 케이스 작성

의사결정

테이블

(Decision Table

Testing)

 

- 조건에 따라 참/거짓으로 표현

정의) 명세서가 논리적인 관계를 가지고 있는 경우 대상을 조건과 결과로 구분하여 조합 관계를 고려한 테스트 방법

- 주요한 의사 결정 요소들을 표로 만들고 요소들간의 결합에 의한 테스트 케이스 설계, 결정요소 조합을 통해 테스트 시나리오 도출

상태전이

(State transition testing)

 

- 전이 트리 구성도

정의) 상태 전이 다이어그램 기반으로 시스템 동작을 확인하는 기법

- 이벤트, 액션, 활동, 상태, 상태 전이 사이의 관계를 검증하는 기법

- Embedded 소프트웨어 테스트에 유용

유즈케이스

(Usecase testing)

 

- Use case명세서를 이용한 테스트 케이스 설계

정의) 유즈케이스 명세서를 기반으로 테스트 시나리오를 구성하여 테스트하는 방법

- 고객의 기능적 요구사항대로 시스템이 개발되었는지 검증 가능

- 이벤트 흐름의 경로 기반 테스트

- 개발 초기부터 테스트 케이스 작성 가능

분류 트리

 

정의) 흐름을 트리 구조로 표현하여 테스트 케이스 설계

- 경험기반 경계값 분석 등을 활용조합 기반의 케이스 도출

- 입력변수들 간의 조합

- 트리 구조의 시각화

페어와이즈

조합

(Pairwise

testing)

 

- Test case 의 최소화

정의) 입력 데이터의 파라미터 값들이 다른 파라미터의 값과 최소 한번씩은 조합을 이루도록 테스트하는 방법

- 조합 테스트 기법으로 조합의 개수를 보장성 있게 부여

- 대부분의 결함이 2개의 요소(Pair)의 상호 작용에 기인한다는 것에서 착안


III. 구조기반 기법과 명세기반 기법의 비교

구분

구조기반 테스트

명세기반 테스트

개념도

 

 

정의

- 프로그램 내부 로직을 참조

- 모든 경로를 테스트

- 외부 명세로부터 직접 테스트

- Data, I/O 위주 테스트

특징

- 구조테스트

- Logic Driven 테스트

- 모듈 테스트

- 기능테스트

- Data Driven 테스트

- I/O 테스트

적용

- 단위테스트 위주

- 대부분의 테스트에 적용

 

반응형

댓글