블랙박스 테스트 상세 종류

ahha로군·2024년 7월 15일
0

정처기_10단원

목록 보기
5/5

블랙박스 테스트와 화이트박스 테스트의 차이

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

  • 포인트: 코드 내부를 보지 않고 기능만 테스트.

  • 코딩 예시: 함수가 입력에 대해 올바른 출력을 주는지 확인.

  • 예시 코드:

    # 테스트할 함수
    def add(a, b):
        return a + b
    
    # 블랙박스 테스트
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0

    여기서 함수 add의 내부 코드가 어떻게 생겼는지 모른 채, 입력과 출력만 확인합니다.

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

  • 포인트: 코드 내부를 보고, 모든 경로와 로직을 테스트.

  • 코딩 예시: 함수 내부의 조건문, 루프 등을 모두 테스트.

  • 예시 코드:

    # 테스트할 함수
    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 함수의 내부 로직을 알고, 모든 조건을 테스트합니다.

차이 요약

  • 블랙박스 테스트: 코드 내부를 보지 않고 기능만 테스트. 함수의 입력과 출력을 확인.
  • 화이트박스 테스트: 코드 내부를 보고, 모든 경로와 조건을 세세하게 테스트.

아래는 블랙박스 테스트들임

1. 동등분할 테스트 (Equivalence Partitioning Testing)

  • 포인트: 비슷한 값들을 그룹으로 나눠서 대표값만 테스트.
  • 예시: 색연필 세트에서 파란색 계열(하늘색, 바다색) 중 하나만 테스트.

2. 경계값 분석 테스트 (Boundary Value Analysis Testing)

  • 포인트: 극한 값들을 테스트.
  • 예시: 리모컨 버튼이 1에서 100까지 되면 1, 100, 2, 99를 테스트.

3. 결정 테이블 테스트 (Decision Table Testing)

  • 포인트: 모든 경우의 수를 표로 만들어 테스트.
  • 예시: 식당 메뉴에서 각 재료가 있는지 없는지 표를 만들어 모든 조합을 테스트.

4. 상태 전이 테스트 (State Transition Testing)

  • 포인트: 상황이 변하는 것을 테스트.
  • 예시: TV가 꺼졌다 켜졌다 하는 경우를 테스트.

5. 유스케이스 테스트 (Use Case Testing)

  • 포인트: 실제 사용 시나리오를 테스트.
  • 예시: 컴퓨터를 켜고 로그인한 후 게임을 실행하는 과정을 테스트.

6. 분류 트리 테스트 (Classification Tree Method Testing)

  • 포인트: 트리 구조로 나누어 테스트.
  • 예시: 동물원을 나누는 트리에서 각 구역(포유류, 조류 등)을 테스트.

7. 페어와이즈 테스트 (Pairwise Testing)

  • 포인트: 가능한 값들의 조합을 최소화해서 테스트.
  • 예시: 옷의 색상과 사이즈를 테스트할 때, 각각의 조합 중 몇 가지만 테스트.

8. 원인–결과 그래프 테스트 (Cause–Effect Graphing Testing)

  • 포인트: 원인과 결과의 관계를 그래프로 테스트.
  • 예시: 비가 오면 우산을 쓰는 것을 테스트.

9. 비교 테스트 (Comparison Testing)

  • 포인트: 여러 프로그램의 결과를 비교해서 테스트.
  • 예시: 두 계산기 앱이 같은 결과를 내는지 비교.

10. 오류 추정 테스트 (Error Guessing Testing)

  • 포인트: 개발자가 예상할 수 있는 실수를 찾아내서 테스트.
  • 예시: 비밀번호를 입력할 때 대소문자를 혼동할 수 있는 경우를 테스트.

11. 경험 기반 테스트 (Experience-Based Testing)

  • 포인트: 과거 경험을 바탕으로 중요한 부분을 테스트.
  • 예시: 전에 문제가 있었던 부분을 다시 테스트.
profile
달달한 거 좋아합니다. 잘부탁드려요.

0개의 댓글