블랙박스 테스트와 화이트박스 테스트의 차이
포인트: 코드 내부를 보지 않고 기능만 테스트.
코딩 예시: 함수가 입력에 대해 올바른 출력을 주는지 확인.
예시 코드:
# 테스트할 함수
def add(a, b):
return a + b
# 블랙박스 테스트
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0
여기서 함수 add
의 내부 코드가 어떻게 생겼는지 모른 채, 입력과 출력만 확인합니다.
포인트: 코드 내부를 보고, 모든 경로와 로직을 테스트.
코딩 예시: 함수 내부의 조건문, 루프 등을 모두 테스트.
예시 코드:
# 테스트할 함수
def is_even(number):
if number % 2 == 0:
return True
else:
return False
# 화이트박스 테스트
assert is_even(2) == True # if 조건이 참인 경우
assert is_even(3) == False # if 조건이 거짓인 경우
여기서는 is_even
함수의 내부 로직을 알고, 모든 조건을 테스트합니다.
아래는 블랙박스 테스트들임