정보처리기사/소프트웨어 개발

애플리케이션 테스트 유형 분류

glorypang 2025. 10. 5. 01:19
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