×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 1,485,639명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)

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

소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식이다.

사용자가 직접 특정 App이나 Device를 가지고 이리저리 작동시키는 과정이 블랙박스 테스트와 동일하다.

즉, 내부에 어떤 내용이 있는지 하나도 모른 채, 내가 원하는 기능이 예측한대로 정상 동작 하는지를 확인하는 방식이다.

 

즉, 사용자가 소프트웨어 또는 제품에 대한 요구사항과 결과물이 일치하는 지 확인하기 위한 테스트 기법

(사용자 관점의 테스트 방법)

 

 

Black Box Test 기법

동등 분할 기법 (Equivalence Partitioning) 프로그램의 입력 도메인을 테스트 케이스가 산출될 수 있는 데이터 클래스로 분류하는 방법
경계값 분석 기법 (Boundary Value Analysis) 입력 조건의 중간 값보다 경계 값에서 에러가 발생 될 확률이 높다는 점을 이용하여 테스트 케이스를 생성
오류 예측 기법 (Error Guessing) 각 시험 기법들이 놓치기 쉬운 오류들을 감각 및 경험으로 찾아보는 방법
원인 결과 그래프 기법 (Cause Effect Graph) 입력 데이터 간 관계가 출력에 미치는 영향을 그래프로 표현하여 오류를 발견하도록 함
의사결정 테이블 테스팅 논리적 조건이나 상황에서 입력 조건과 결과를 참, 거짓으로 표현하여 조합을 만들고 테스트케이스를 작성
상태전이 테스팅 시스템에 반영되는 이전의 상태가 무엇인지, 상태간 전이, 상태를 변화시키는 이벤트와 입력값을 파악

 

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

응용 프로그램의 내부 구조, 동작을 디테일하게 검사하는 테스트 방식이다.

디테일하게라는 의미는 내부 소스 코드를 테스트 하는 기법이며 사용자가 들여다 볼 수 없는 구간의 코드 단위들을 테스트 할 수 있다.(ex : private variable or method etc...)

 

즉, 개발자가 소프트웨어 또는 컴포넌트 등의 로직에 대한 테스트를 수행하기 위해 설계 단계에서 요구된 사항을 확인하는 테스트 기법 (개발자 관점의 단위 테스팅 기법)

 

 

White Box Test 기법

문장 검증 프로그램의 모든 문장이 적어도 한번씩 수행되는 검증 기준 1-2-3-4-5-6-7
위 순서로 문장 실행 시 RESULT 변수 값을 양수로 만드는 K보다 큰 수 선택
선택 검증 선택하는 부분만 검증 1-2-3-4-5-6-7
1-2-3-4-5-6-1
경로 검증 수행 가능한 모든 경로 검사 1-2-3-4-5-6-7
1-2-3-4-5-6-1
1-2-4-5-6-7
1-2-4-5-6-1
조건 검증 IF 문장이나 While 문장 내 조건식을 조사하는 기준 if(x > 1 or y < 10) 경우
x > 1 조건과 y < 10 경우
모두 테스트

 

Black Box Test vs White Box Test

정의 모듈 사양서를 기초로 입력/출력 조건 등 모든 기능면의 테스트 모듈 사양서 소스코드를 기초로
모듈의 논리 테스트
관점 사용자 관점 개발자 관점
기준 인터페이스 및 성능 오류 논리상 오류
V&V 상위 레벨 (사용자 환경) 하위 레벨 (시험 환경)
대상 시작/종료/인터페이스 결함 루프, Decision 결함, 비수행 구문
기법 동등 분할, 경계값분석 등 루프, 제어구조 테스트
활용 베타 테스트 알파 테스트