728x90
반응형
SMALL
1) 프로그램 실행 여부
- 정적 테스트 (Static)
코드를 실행하지 않고 검토/분석
예) 코드 리뷰, 정적 분석(PMD, SonarQube), 문서/설계서 점검 - 동적 테스트 (Dynamic)
프로그램을 실행하여 동작 확인
예) 단위·통합·시스템·인수 테스트
2) 테스트 기법
2-1. 화이트박스 (구조 기반)
- 구문 커버리지 : 코드 구조 내의 모든 구문에 대해 한 번 이상 수행하는 테스트 커버리지
- 조건 커버리지 : 결정 포인트 내의 모든 개별 조건식에 대해 수행하는 테스트 커버리지
- 결정 커버리지 : 결정 포인트 내의 모든 분기문에 대해 수행하는 테스트 커버리지
- if(a && b && c) 에서
- a, b, c 각각이 T/F 나뉘는 것은 조건 커버리지
- a && b && c 자체를 보는 것은 결정 커버리지
- 조건/결정 커버리지 : 결정포인트 T/F, 개별조건식 T/F 가짐
- 변경/조건 커버리지 : 모든 결정 포인트 내의 개별 조건식은 적어도 한 번 T, F를 가져야 함
- 다중 조건 커버리지 : 결정 포인트 내 모든 개별 조건식의 가능한 조합을 100% 보장해야 함
2-2. 블랙박스 (명세 기반)
- 동치 분할: 입력을 유효/무효 등가 클래스로 나눠 대표값 테스트
- 경계값 분석: 경계 근처 값(최소/최대/±1) 집중
- 원인–결과 그래프: 입력 조건 조합 → 출력 규칙을 표/그래프로 도출
- 오류 예측: 경험적으로 오류가 날 법한 케이스 추정
- 비교 검사(참조 비교): 두 시스템/버전 결과 비교(골든 마스터)
- 예) 길이 8–20자 비밀번호: 7, 8, 20, 21 테스트
3) 테스트에 대한 시각
- 검증(Verification) 테스트 – “제대로 만들었는가?”
개발자가 명세/설계에 맞게 만들었는지 확인(리뷰, 단위/통합 테스트) - 확인(Validation) 테스트 – “올바른 것을 만들었는가?”
고객/사용자 요구에 부합하는지 확인(시스템/인수 테스트, UAT)
4) 테스트 목적(품질 특성 관점)
- 회복(Recovery) 테스트: 장애/예외 후 정상 복구 여부
- 안전(Security) 테스트: 인증/권한/취약점 점검(OWASP 등)
- 강도(Stress) 테스트: 한계를 넘는 부하로 붕괴 지점/안정성 확인
- 성능(Performance) 테스트: 처리량·응답시간·자원 사용
- 구조(Structural) 테스트: 내부 구조/경로/인터페이스 검증(화이트박스 성격)
- 회귀(Regression) 테스트: 변경 후 기존 기능이 깨지지 않았는지 재검증
- 병행(Parallel) 테스트: 신·구 시스템을 동시에 실행해 결과 비교
- 예) 신 결제 시스템과 구 시스템 출력 금액/정산 일치 여부 비교
5) 테스트 기반(테스트 설계 근거)
- 명세 기반(Specification-based): 요구/명세/사용자 시나리오에 근거(블랙박스)
예) 경계값/동치 분할/의사결정표/상태 전이 - 구조 기반(Structure-based): 코드/제어흐름에 근거(화이트박스)
예) 문장/분기/조건/경로 커버리지 - 경험 기반(Experience-based): 테스터 경험/휴리스틱에 근거
예) 탐색적 테스트, 오류추정, 체크리스트
728x90
반응형
LIST