본문 바로가기
QA

경계값 분석(Boundary Value Analysis) 은 왜 해야 하는 것일까요?

by Zeromk2 2023. 2. 2.
728x90

테스트 할 때 숫자가 등장하는 기능이라면 어김없이 사용하게 되는 테스트 설계 기법이 있습니다.

주니어, 시니어를 막론하고 가장 많이 사용하게 되는 테스트 기법이라고 생각합니다. 

바로 경계값 분석이지요.

어떤 기법인지 간단히 알아보자면 이렇습니다. (제가 생각하는)

기준이 되는 범위의 동작 가능 범위의 최대(최소) 값과 동작 불가 범위의 최소(최대) 값을 확인

 

말이 조금 어렵군요. 예를 들어보겠습니다. 

19세 이상만 사용할 수 있는 기능이 있다고 하겠습니다.

1세부터 18세까지는 이용할 수 없고 19세 이후부터는 이용할 수 있는 것이지요

이럴때의 경계값 분석 범위는 18세와 19세일 때 입니다.

사용가능한 범위의 최소 값과 (19세) 사용불가능한 범위의 최대값을 (18세) 확인 하는 것이지요.

(0세나 음수 나이를 테스트 하는 부분은 이 글에서는 논외로 하겠습니다)

 

범위의 동작 가능과 동작 불가능의 경계를 테스트 한다고해서 경계값 분석이라는 이름을 사용합니다.


그렇다면 경계는 왜 중요한 것일까요?

바로 프로그래밍과 관련이 있기 때문입니다. 

해당 기능을 코드로 구현할 경우 나이 값을 비교하는 코드가 작성되어 있을 것입니다.

유저의 나이 값이 "age" 라는 변수에 들어가 있다고 가정하겠습니다.

그럼 동작하도록 의도되어 19세 이상의 값을 체크하는 코드라면 아래와 같은 형식일 것입니다.

 

하지만 우리 모두는 사람이기 때문에 실수 할 수 있습니다. 그래서 기준 값을 잘못 지정하는 일이 생길 수 있습니다.

그럴경우 아래와 같이 될 수 있을 겁니다.

이럴경우 1번 상황이라면 19세인데도 해당 기능을 사용하지 못할 것이고
2번이라면 18세인데도 해당 기능을 사용할 수 있게 됩니다.

경계값 분석의 대상 범위내에서 오동작이 바로 탐지되게 됩니다.

이렇기 때문에 기준 경계의 값을 반드시 테스트해야 하는 것이죠. 

간단하지만 강력한 기능검증 설계 기법이라고 생각합니다. 언제 어디서나 우리와 함께 할 기법이니 친근하게 지내는게 

좋겠습니다 :)

댓글