코딩일기/자격증
[정보처리기사] 화이트박스 테스트와 블랙박스 테스트 | 애플리케이션 테스트 유형
jhy_2023
2024. 7. 22. 13:00
728x90
반응형
1. 화이트박스 테스트 종류 (구조기반 테스트)
화이트박스 테스트는 소프트웨어의 내부 구조를 이해하고 코드의 논리 흐름에 따라 테스트하는 방법입니다.
📌 (1) 제어 구문 검사 (Control Structure Testing) = (조건검사)
- 설명: 프로그램의 제어구문(if, case, else 등)을 테스트하는 기법입니다. 조건문과 분기문을 테스트하여 모든 경로가 올바르게 동작하는지 확인합니다.
- 예시: if 문과 else 문이 예상대로 동작하는지 확인합니다.
📌 (2) 루프 검사 (Loop Testing)
- 설명: 프로그램의 반복구조(루프)에 초점을 맞추어 검사하는 기법입니다. 루프의 초기화, 반복 조건, 루프 내의 처리 등을 테스트합니다.
- 예시: for 루프가 적절한 횟수만큼 반복하는지, 무한 루프에 빠지지 않는지 검사합니다.
📌 (3) 데이터 흐름 검사 (Data Flow Testing)
- 설명: 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사하는 기법입니다. 변수의 선언, 할당, 사용, 소멸 등의 흐름을 테스트합니다.
- 예시: 변수가 정의된 이후에 사용되었는지, 사용된 변수가 올바르게 초기화되었는지 확인합니다.
📌 (4) 기본 경로 검사 (Basic Path Testing)
- 설명: 프로그램의 제어 구조를 플로우 그래프로 표현하고 순환 복잡도를 통해 독립적인 경로의 수를 찾아서 테스트하는 기법입니다. 모든 독립 경로를 한 번씩 실행하여 테스트합니다.
- 예시: 프로그램의 모든 경로를 실행하여 테스트 케이스를 작성하고, 각각의 경로를 실행하여 코드의 모든 부분이 한 번씩은 실행되도록 합니다.
728x90
2. 블랙박스 테스트 종류 (명세기반 테스트)
블랙박스 테스트는 소프트웨어의 내부 구조를 모르는 상태에서 외부 동작을 검사하는 테스트 방법입니다.
📌 (1) 동등 분할 테스트 (Equivalence Partitioning Test)
- 설명: 입력값의 범위를 유사한 특징을 갖는 동등그룹으로 나누고 각 그룹마다 대표값을 선정하는 테스트 기법입니다. 이 기법은 전체 입력값 범위를 작은 그룹으로 나누어 각 그룹을 대표하는 값만 테스트합니다.
- 예시: 90~100점이 A학점일 때, 90과 100의 중간값인 95점을 대표값으로 선정합니다.
📌 (2) 경계값 분석 테스트 (Boundary Value Analysis Test)
- 설명: 경계의 유효한 값과 경계에서 가장 가까운 유효하지 않은 값을 테스트 데이터로 선택하는 테스트 기법입니다. 이 방법은 경계 부분에서 오류가 발생할 가능성이 높기 때문에 경계 값을 집중적으로 테스트합니다.
- 예시: 90~100점이 A학점일 때, 90과 100점(경계의 유효한 값)과 89점 또는 101점(가장 가까운 유효하지 않은 값)을 테스트합니다.
📌 (3) 원인-효과 그래프 테스트 (Cause-Effect Graphing Test)
- 설명: 입력값을 원인으로, 출력값을 효과로 선정하여 테스트하는 기법입니다. 원인과 그에 따른 효과를 정의한 후, 이를 기반으로 테스트를 수행합니다.
테스트 기법 중 그래프를 활용하여 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법 - 예시: 로그인 시 아이디와 비밀번호를 입력하면 로그인 성공, 둘 중 하나라도 입력하지 않으면 로그인 실패 등의 원인에 따른 효과를 정해두고 실제 테스팅 후 비교합니다.
📌 (4) 오류 예측 테스트 (Error Guessing Test)
- 설명: 과거의 경험이나 확인자의 감각으로 테스트하는 기법입니다. 테스트 설계자가 경험을 바탕으로 오류가 발생할 것 같은 부분을 예측하여 테스트합니다.
- 예시: 과거에 자주 발생했던 오류 패턴을 참고하여 테스트 시나리오를 작성합니다.
(5) 비교 테스트 (Comparison Testing)
- 설명: 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법입니다. 이를 통해 버전 간의 일관성을 확인할 수 있습니다.
- 예시: 동일한 기능을 가진 두 버전의 소프트웨어에 동일한 입력 데이터를 제공하고 결과를 비교하여 동일한 출력이 나오는지 확인합니다.
반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형