티스토리 뷰

728x90

블랙박스 테스트(Black-box testing)는 소프트웨어 내부 구조나 작동 원리를 알지 않고 외부 동작을 중심으로 테스트하는 기법입니다. 기능 중심의 테스트로, 주로 입력출력을 확인하여 시스템이 요구사항에 맞게 작동하는지를 검증합니다.

블랙박스 테스트 기법의 주요 특징

  1. 내부 구현을 고려하지 않음: 소프트웨어의 내부 동작이나 구조를 모른 채 테스트.
  2. 기능 중심의 테스트: 요구사항에 맞는 기능이 제대로 수행되는지 확인.
  3. 외부 인터페이스 및 시스템 출력에 대한 테스트: 입력에 대한 적절한 출력이 나오는지를 확인.
  4. 주로 사용자 관점에서의 테스트: 사용자 인터페이스, 사용자 경험 등을 고려한 테스트.

주요 블랙박스 테스트 기법

1. 동등 분할(EPC, Equivalence Partitioning Class)

  • 개념: 입력 값을 동등한 범주로 나누어 각 범주(클래스)에서 대표값을 선택해 테스트.
  • 목적: 동일하게 처리될 입력값 그룹을 구분해, 모든 값을 일일이 테스트할 필요 없이 대표값만으로 효율적으로 테스트.
  • 예시: 입력값이 1~100까지 허용된다면, 0 이하, 1~100 사이, 101 이상으로 구분하여 대표값을 선택해 테스트.

2. 경계값 분석(BVA, Boundary Value Analysis)

  • 개념: 입력 값의 경계 부분에서 오류가 발생하기 쉽다는 가정 하에, 경계값을 중심으로 테스트.
  • 목적: 최소값, 최대값, 경계값 등을 집중적으로 테스트하여 경계 조건에서 발생할 수 있는 오류를 찾아냄.
  • 예시: 입력값이 1~100일 때, 0, 1, 100, 101 등을 테스트.

3. 원인-결과 그래프(Cause-Effect Graph)

  • 개념: 입력(원인)출력(결과) 사이의 관계를 그래프로 표현하고, 이 관계를 기반으로 테스트 케이스를 도출.
  • 목적: 복잡한 입력 값들 간의 관계를 체계적으로 분석하여 그에 따른 출력이 적절한지 확인.
  • 예시: 여러 입력 조건에 따라 출력이 어떻게 변화하는지 그래프로 표현하여 테스트 케이스를 생성.

4. 결정 테이블(Decision Table)

  • 개념: 입력 조건과 그에 따른 결과를 표 형태로 정리하여 테스트하는 기법.
  • 목적: 입력 조건의 조합에 따른 결과를 일목요연하게 확인할 수 있음.
  • 예시: 여러 조건의 조합에 따라 결과가 달라지는 경우, 각 조건을 표로 만들어 테스트 케이스를 도출.

5. 상태 전이(State Transition)

  • 개념: 시스템이 상태를 어떻게 전이하는지에 따라 테스트하는 기법.
  • 목적: 특정 입력에 따라 시스템의 상태가 변하고, 그에 따른 결과가 적절한지 확인.
  • 예시: 은행 계좌 상태가 정상에서 비활성으로 전이되는 과정에서 계좌에 입출금이 제대로 처리되는지를 테스트.

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

  • 개념: 사용자 관점에서 시스템의 기능을 테스트하는 기법. 실제 사용자가 시스템을 어떻게 사용할지에 대한 시나리오 기반으로 테스트.
  • 목적: 사용자 동작을 중심으로 시스템이 적절하게 작동하는지 확인.
  • 예시: 로그인 기능 테스트 시, 성공적인 로그인과 실패 시의 동작을 테스트.

블랙박스 테스트의 장점

  1. 내부 구조를 몰라도 테스트 가능: 소프트웨어의 동작 원리를 알지 못해도 테스트를 수행할 수 있음.
  2. 사용자 관점에서의 테스트: 사용자 경험에 기반한 테스트로, 실제 사용 시 발생할 수 있는 오류를 쉽게 찾을 수 있음.
  3. 자동화 테스트 용이: 많은 부분이 자동화하기 적합하며, 반복적인 테스트를 쉽게 수행할 수 있음.

블랙박스 테스트의 단점

  1. 커버리지 부족 가능성: 내부 구조를 모르기 때문에 코드의 모든 부분을 테스트하지 못할 가능성이 있음.
  2. 세부 오류 탐지 어려움: 내부의 세밀한 동작이나 성능 이슈를 탐지하기 어려움.
  3. 테스트 케이스 설계가 복잡할 수 있음: 다양한 입력값과 그에 따른 출력을 고려해야 하기 때문에 테스트 케이스 설계가 복잡할 수 있음.

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

  • 블랙박스 테스트: 내부 로직을 보지 않고, 기능 중심으로 테스트.
  • 화이트박스 테스트: 코드 내부 구조를 보고 논리적 흐름이나 코드 커버리지를 확인하며 테스트.

요약

블랙박스 테스트는 소프트웨어의 외부 동작을 중심으로, 입력에 대한 출력 결과를 테스트하는 기법입니다. 주요 기법으로는 동등 분할, 경계값 분석, 원인-결과 그래프 등이 있으며, 사용자의 관점에서 오류를 찾아내는 데 효과적입니다.

728x90

'Study > 정보처리기사' 카테고리의 다른 글

V-모델 (V-Model)이란?  (0) 2024.10.12
화이트박스 테스트 (White-Box Testing)란?  (0) 2024.10.12
RAID (Redundant Array of Independent Disks)란?  (1) 2024.10.12
ACID란?  (0) 2024.10.12
DESC(Descending) 키워드란?  (1) 2024.10.12