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

최준근·2023년 3월 3일
0

QA

목록 보기
4/5

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


소프트웨어의 내부 구조나 작동 원리를 전혀 고려하지 않고, 입력값과 출력값에만 주목하여 테스트를 수행한다. 이는 소프트웨어를 외부적으로 검증하는 방식으로, 사용자의 시각에서 어떤 기능이 어떻게 작동하는지를 확인할 때 유용하다. 블랙박스 테스트에서는 일반적으로 사용자 시나리오를 기반으로 입력값을 정의하고, 소프트웨어의 출력값을 검증한다.

정리하자면 개발자의 입장이 아닌 사용자의 입장에서 소프트웨어 혹은 제품에 대한 요구사항과 결과물이 일치하는지 확인하는 테스트이다.

블랙박스 테스트 기법

1. 동등 분할 (Equivalence Partitioning)

입력 데이터에 따른 결과값을 테스트할 때 사용되는 기법으로 입출력 데이터에 따라 다르게 
동작하는 기능을 테스트하는 경우에 사용된다.
소프트웨어에서 요구하는 입력 데이터를 그룹화하여 해당 그룹에 속하는 값으로 결과값을 비교한다.

2. 경계값 분석 기법(Boundary Value Analysis)

경계가 뚜렷한 입력 데이터에 따른 동작을 검사할 때 사용되는 기법으로 입력 조건의 경계에 
해당하는 값들에서 에러가 발생할 확률링 높다는 점을 이용하여 검사를 진행한다.

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

입력값의 조합에 따라 발생할 수 있는 결과를 표현한 그래프로, 입력값이 많고
복잡한 경우 유용하다. 이를 통해 입력값 조합을 줄이고, 잠재적인 문제를 발견할 수 있다.

4. 의사결정 테이블 테스팅

논리적인 조건이나 상황에서 입력 조건과 결과를 참, 거짓으로 표현해 조합을 만들고 테스트를 작성한다.
예를 들어 게임 회사에서 게임을 홍보하기 위해 적절한 타겟을 정하기 위해 의사 결정표를 만들고 
중복되는 내용을 통합하여 해당 표를 가지고 테스트 케이스를 작성한다.

5. 상태전이(State Transition)

시스템의 상태가 바뀔 때마다 입력값과 출력값이 어떻게 바뀌는지를 검증하는 기법이다.
이는 시스템의 상태 전이를 이해하고, 시스템이 예상대로 작동하는지 확인하는 데 유용하다.

6. 결함 캡쳐(Fault Injection)

일부 입력값을 의도적으로 잘못된 값으로 변경하여 소프트웨어의 오류 처리 능력을 검증하는 기법이다.
이를 통해 오류를 미리 파악하고, 이를 수정하여 소프트웨어의 신뢰성을 향상시킬 수 있다.

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

소프트웨어 혹은 제품의 내부 구조와 작동 방식을 이해하고 이를 기반으로 테스트를 수행하는 방법이다.
이는 소프트웨어의 내부 코드나 로직, 데이터 구조 등을 검증할 때 유용하다. 화이트박스 테스트는 일반적으로 소프트웨어 코드를 분석하여 가능한 모든 시나리오에 대한 입력값을 정의하고, 출력값을 검증한다.

화이트박스 테스트 기법

1. 문장 검증

소스 코드의 모든 구문이 한번 이상 수행되도록 하는 검사이다.

2. 분기 검증

결점 검증기준이라고도 불리며, 소스 코드의 모든 조건문에 대해 조건이 
참/거짓인 경우를 한번 이상 수행되도록 하는 검증 기법이다.

3.조건 검증

소스 코드의 조건문에 포함된 모든 조건식의 결과가 참/거짓인 경우가 한 번 이상
수행되도록 하는 검증 기법이다.

4. 분기/조건 기준

소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 참/거짓인 경우 
각각을 한 번 이상 수행되도록 하는 검증 기법이다.
profile
느려도 좋으니 꾸준하게

0개의 댓글