Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 기구학
- CentOS
- 맥케이브
- homogenous
- homogeinous
- AI
- humble
- 회전 복잡도
- 네트워크 충돌
- segmentation
- Coding
- 합병
- 소스 코드 품질 분석
- Computer
- MIPS
- Linux
- Java
- 명령어
- robotics
- 컴퓨터구조
- 정처기
- 리눅스
- 알고리즘
- 정렬
- sam2
- 3dof
- 정보처리기사
- SQL
- ROS2
- sort
Archives
- Today
- Total
UTF-404
테스트 지식 체계에 대해 알아보기(1) 본문
728x90
💡 소프트웨어 테스트 종류
➡️ 소프트웨어 테스트 종류는 프로그램 실행 여부, 테스트 상세 기법, 테스트에 대한 시각, 테스트의 목적, 테스트의 종류에 따라 분류할 수 있다.
💡 프로그램 실행 여부에 따른 분류
- 경험기반 테스트도 블랙박스 테스트에 포함되기도 한다.
- 프로그램 실행 여부에 따라 정적 테스트와 동적 테스트로 나눌 수 있다.
분류 | 설명 | 유형 |
정적 테스트 | 테스트 대상을 실행하지 않고 구조를 분석하여 논리성을 검증하는 테스트 | 리뷰(동료 검토, 워크스루, 인스펙션), 정적분석 |
동적 테스트 | 소프트웨어를 실행하는 방식으로 테스트를 수행하여 결함을 검출하는 테스트 | 화이트박스 테스트, 블랙박스 테스트, 경험기반 테스트 |
💡 테스트 기법에 따른 분류
📍 블랙박스 테스트(Black-box Test)
- 블랙박스 테스트는 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트(기능 테스트)이다.
- 블랙박스 테스트는 소프트웨어의 특징, 요구사항, 설계 명세서 등에 초점을 맞춰 테스트가 이루어진다.
- 블랙박스 테스트는 기능 및 동작 위주의 테스트를 진행하기 때문에 내부 구조나 작동 원리를 알지 못해도 가능하다.
- 블랙박스 테스트는 명세 테스트라고 부른다.
📎 블랙박스 테스트 유형
유형 | 설명 |
동등 분할 테스트 (Equivalence Partitioning Testing) |
입력 데이터의 영역을 유사한 도메인별로 유효값/무효값으로 그룹핑하고 대표값으로 테스트 케이스를 도출하여 테스트하는 기법 |
경곗값 분석 테스트 (Boundary Value Analysis Testing) |
∙ 등가분할 후 경계값 부분에서 오류 발생 확률이 높기에 경계값을 포함하여 테스트 케이스를 설계하여 테스트하는 기법 ∙ "최소값 바로 위, 최대치 바로 아래" 등 입력값의 극한 한계를 테스트하는 기법 |
결정 테이블 테스트 (Decision Table Testing) |
요구사항의 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 모두 조합하여 테스트하는 기법 |
상태전이 테스트 (State Transition Testing) |
테스트 대상/시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는 경우의 수를 테스트하는 기법 |
유스케이스 테스트 (Use Case Testing) |
시스템이 실제 사용되는 유스케이스로 모델링 되어 있을 때 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법 |
분류 트리 테스트 (Classification Tree Method Testing) |
SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트하는 기법 |
페어와이즈 테스트 (Pairwise Testing) |
테스트 데이터 간에 최소한 한 번씩을 조합하는 방식이며, 이는 커버해야 할 기능적 범위를 모든 조합에 비해 상대적으로 적은 양의 테스트 세트를 구성하기 위한 테스트 기법 |
원인-결과 그래프 테스트 (Cause-Effect Graph Testing) |
그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트하는 기법 |
비교 테스트 (Comparison Testing) |
여러 버전의 프로그램에 같은 입력 값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법 |
오류 추정 테스트 (Error Guessing Testing) |
∙ 개발자가 범할 수 있는 실수를 추정하고 이에 따른 결함이 검출되도록 테스트 케이스를 설계하여 테스트하는 기법 ∙ 특정 테스트 대상이 주어지면 테스터의 경험과 직관을 바탕으로 개발자가 범할 수 있는 실수들을 나열하고, 해당 실수에 따른 결함을 노출하는 테스트로 다른 블랙 박스 테스트 기법을 보완할 때 사용하는 기법 |
📍 화이트박스 테스트(White-box Test)
- 화이트박스 테스트는 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트이다.
- 화이트박스 테스트는 코드 분석과 프로그램 구조에 대한 지식을 바탕으로 문제가 발생할 가능성이 있는 모듈 내부를 직접 관찰하고, 테스트하는 방법이다.
- 소스 코드의 모든 문장을 한 번 이상 수행함으로써 진행된다.
- 산출물의 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
- 화이트박스 테스트는 구조 기반 테스트, 코드 기반 테스트, 로직 기반 테스트, 글라스(Glass) 박스 테스트라고 부른다.
유형 | 내용 |
구문 커버리지 = 문장 커버리지 (Statement Coverage) |
∙ 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 테스트 커버리지 ∙ 조건문 결과와 관계없이 구문 실행 개수로 계산 |
결정 커버리지 = 선택 커버리지 (Decision Coverage) =분기 커버리지(Branch Coverage) |
∙ (각 분기의) 결정 포인트 내의 전체 조건식이 적어도 한 번은 참(T)과 거짓(F)의 결과를 수행하는 테스트 커버리지 |
조건 커버리지 (Condition Coverage) |
∙ (각 분기의) 결정 포인트 내의 각 별개 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지 |
조건-결정 커버리지 (Condition/Decision Coverage) |
∙ 전체 조건식뿐만 아니라 개별 조건식도 참 한번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지 |
변경 조건-결정 커버리지 (Modified Condition/Decision Coverage) |
∙ 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지 |
다중 조건 커버리지 (Multiple Condition Coverage) |
∙ 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지 |
기본 경로 커버리지 = 경로 커버리지 (Base Path Coverage) |
∙ 수행 가능한 모든 경로를 테스트하는 기법 ∙ 기본 경로는 사이클을 허용 |
제어 흐름 테스트 (Control Flow Testing) |
∙ 프로그램 제어구조를 그래프 형태로 나타내어 내부 로직을 테스트하는 기법 |
데이터 흐름 테스트 (Data Flow Testing) |
∙ 제어 흐름 그래프에 데이터 사용현황을 추가한 그래프를 통해 테스트 하는 기법 |
루프 테스트 (Loop Testing) |
∙ 프로그램의 반복(Loop) 구조에 초점을 맞춰 실시하는 테스트 기법 |
728x90
'정보처리기사' 카테고리의 다른 글
통합 테스트에 대해 알아보기!! (0) | 2024.02.29 |
---|---|
테스트 지식 체계에 대해 알아보기(2) (0) | 2024.02.28 |
국제 표준 제품 품질 특성이란? (0) | 2024.02.27 |
DRM 개념 알아보기 (0) | 2024.02.27 |
IDE 도구 개념에 대해 알아보기 (1) | 2024.02.27 |