본문 바로가기

My Study/etc

S/W 테스트 분류(화이트박스 테스팅, 블랙박스 테스팅)

S/W 테스트 분류


블랙박스 테스팅 : 소스코드가 없는 경우

화이트박스 테스팅 : 소스코드가 있는 경우


예를 들어서 개발자가 소프트웨어를 하나 만들었다고 합시다 ^^

아주 간단한 패스워드 인증 프로그램입니다 -_-;; 그림은 넣어야겠는데 딱히 넣을게 없어서 넣어봤습니다..;;

만약 개발자가 3년이 지난 후 이 프로그램이 어떻게 돌아가는지 본다면 어찌해야 할까요?? 이미 소스 코드가 존재하므로 소스코드를 보면서 로직의 흐름을 확인해 보겠죠??


위와 같은 경우는 화이트박스 테스팅 일까요? 블랙박스 테스팅 일까요? 당연히 소스코드를 가지고 있고 소스코드를 토대로 로직의 흐름을 점검해 보므로 화이트박스 테스팅이 됩니다.


그러면 여기서 문제입니다~!

집에서 띵가띵가 놀고있던 Ezbeat이 해당 프로그램을 보고 분석을 해보기위해 디버거로 프로그램을 테스팅 해보기 시작합니다.

당연히 소스는 모르겠죠??^^

이 때 Ezbeat이 해보는 테스팅은 블랙박스 테스팅 일까요?? 화이트박스 테스팅 일까요??


=========================

정답은 화이트박스 테스팅입니다.

소스코드 없이 테스팅 되기 때문에 블랙박스 테스팅이라고 많이들 생각 하셨겠지만, 제품을 역어셈블하여 어셈블리코드를 보면서 제품의 흐름을 테스팅 하므로 화이트박스 테스팅입니다.

결국 어셈블리도 소스코드이기 때문이죠?? ^^ 저도 처음에 이 문제를 들었을 때 블랙박스 테스팅이라고 생각했지만..아니었습니다~!