본문 바로가기

IT관련 정보

블랙박스 테스트와 화이트박스 테스트에 대해 알아보자

대표적인 소프트웨어 테스트 방법에는 블랙박스테스트와 화이트박스 테스트가 존재하는데 오늘 한번 간단하게 알아보도록 하자!

블랙박스 테스트 (Black Box Testing)란

블랙박스 테스트는 소프트웨어의 기능과 기능 외적인 요구사항을 테스트하는 기법이다. 내부 코드나 로직을 신경쓰지 않고, 입력값과 출력값에 중점을 둔다.

 

장점

개발자와 테스터 간 독립성 유지

요구사항에 집중한 테스트 가능

 

종류:

등치 분할 (Equivalence Partitioning):

등치 분할은 입력값의 유효한 범위를 나누어 각각의 등치 파티션에 대해 하나의 테스트 케이스를 작성하는 기법이다.

 

경계값 분석 (Boundary Value Analysis):

경계값 분석은 입력값의 경계 부근에서 오류가 발생할 가능성이 가장 높은 지점을 테스트하는 기법이다.

 

원인-효과 그래프 (Cause-Effect Graph):

원인-효과 그래프는 시스템의 입력값과 조건들 간의 관계를 그래픽적으로 표현한 기법이다.

 

 

 

화이트박스 테스트 (White Box Testing)란

화이트박스 테스트는 소프트웨어의 내부 코드, 로직, 구조를 검증하는 기법이다. 프로그램의 내부 동작을 이해하고 테스트 케이스를 설계한다.

 

장점:

코드의 논리적 오류를 찾아내기 용이

코드 커버리지를 통한 테스트 품질 평가 가능

 

종류:

문장 및 분기 커버리지 (Statement and Branch Coverage)

문장 커버리지는 테스트가 실행될 때 각각의 문장이 실행되는 정도를 측정한다.

분기 커버리지는 조건문이 참과 거짓으로 평가되는 정도를 측정한다.

경로 커버리지 (Path Coverage)

경로 커버리지는 프로그램 내의 모든 가능한 경로를 실행하는 정도를 측정한다.

조건 커버리지 (Condition Coverage)

조건 커버리지는 조건문 내의 각 조건이 참과 거짓으로 평가되는 정도를 측정한다.

 

어떤 상황에서 사용할까?

블랙박스 테스트: 사용자의 입장에서 시스템을 검증하고자 할 때, 요구사항을 중심으로 테스트할 때 사용한다.

화이트박스 테스트: 코드의 논리적 오류를 찾아내거나 코드 커버리지를 평가하고자 할 때 사용한다