테스트 기법은 프로그램의 내부 구조를 보는지에 따라 갈린다. 화이트박스 테스트는 소스 코드의 제어 구조와 논리 경로를 직접 확인하는 방식이다. 내부 논리 경로가 모두 통과되었는지, Nassi-Shneiderman 도표 같은 구조적 다이어그램으로 검사 기준을 세우는 것이 이에 속한다. 반면 블랙박스 테스트는 내부 구조를 보지 않고 입력과 출력의 관계만 검증한다.
블랙박스 테스트에는 여러 유형이 있다. 경계값 분석은 입력값의 경계를 테스트하고, 동등 분할(등가분할)은 입력 조건을 타당한 값과 그렇지 못한 값으로 나누어 대표값을 검사한다. 인과 그래프는 입력과 출력의 논리 관계를 분석한다. 반대로 조건 검사와 루프 검사는 내부 논리 구조를 직접 봐야 하므로 화이트박스 테스트에 속한다.
비교 테스트는 프로그램의 서로 다른 버전들에 똑같은 검사 자료를 넣어 같은 결과가 나오는지 대조하는 기법이다. 버전 간 기능 동등성을 검증할 때 쓰인다.
검증 검사는 수행 주체와 장소로 구분한다. 알파 검사는 개발자가 있는 곳에서 사용자가 개발자와 마주한 채, 통제된 환경에서 오류와 사용상의 문제점을 확인하는 기법이다. 베타 검사는 최종 사용자가 여러 장소의 자신의 환경에서 실업무를 가지고 소프트웨어를 직접 검사하는 기법이다. 알파는 개발사가 통제하는 안쪽 검사, 베타는 사용자 환경의 바깥쪽 검사로 구분한다.
예제
시나리오 문제는 기법의 분류를 뒤바꾼다. 경계값 분석이나 동등 분할을 화이트박스 기법이라고 하거나, 조건·루프 검사를 블랙박스 유형이라고 하면 틀린다. 검증 검사에서는 환경을 바꾼다. 개발자의 통제된 환경에서 사용자가 함께하는 검사를 베타라고 하거나, 최종 사용자가 여러 장소에서 실업무로 직접 검사하는 것을 알파라고 하면 어긋난다. 여러 버전에 같은 자료를 주어 결과를 비교하는 상황을 경계값 분석으로 돌리는 선지도 함정이다.
대표 기출 3문항
검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?
동치 분할 검사
형상 검사
알파 검사
베타 검사
정답과 해설 보기
정답 ③ · 개발자의 장소에서 통제된 환경 하에 사용자가 개발자 앞에서 수행하는 검증 검사 기법을 묻는 문제이다. 알파 검사는 개발 단계 후반부에 개발사 내부의 통제된 환경에서 최종 사용자가 개발자와 함께 확인하며 수행하는 검사로, 문제의 조건과 정확히 일치한다.
개발자 장소에서 사용자가 개발자 앞에서 통제된 환경에서 수행하는 검사는 알파 검사이다.
블랙박스 테스트의 유형으로 틀린 것은?
경계값 분석
오류 예측
동등 분할 기법
조건, 루프 검사
정답과 해설 보기
정답 ④ · 소프트웨어 테스트 기법 중 블랙박스 테스트와 화이트박스 테스트의 유형을 구분하는 문제이다. 조건 검사와 루프 검사는 소스 코드의 내부 제어 구조와 실행 경로를 직접 확인하며 검증하는 대표적인 화이트박스 테스트 기법에 속한다.
블랙박스 테스트는 내부 구조를 보지 않고 입력/출력만 검증하므로 조건/루프 검사는 화이트박스 테스트다.
검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?
디버깅 검사
형상 검사
자료구조 검사
알파 검사
정답과 해설 보기
정답 ④ · 인수 검사 기법 중 개발자 환경에서 사용자가 주도적으로 참여하는 테스트 방식을 묻는 문제이다. 알파 검사는 개발 조직의 통제된 환경에서 잠재 고객이나 실제 사용자가 개발자 입회하에 시스템을 점검하는 기법이다.
알파 검사는 개발자 내부 테스트 이후, 실제 사용자와 개발자가 함께 참여하여 오류와 사용성을 검증하는 단계적 검사 기법이다.