애플리케이션 테스트 핵심 요약 (정처기 필기)

1) 애플리케이션 테스트

  • 의미
    • 프로그램의 결함(오류) 을 찾아내는 작업
    • 요구사항 만족 여부 를 확인하는 활동
  • 핵심 키워드
    • 결함 발견
    • 품질 향상
    • 요구사항 확인

2) Validation / Verification

구분키워드뜻
Validation사용자, 고객, 요구사항요구사항에 맞게 만들었는지
Verification개발자, 명세서, 설계명세서대로 만들었는지
  • 암기
    • Validation = 사용자 관점
    • Verification = 개발자 관점

3) 애플리케이션 테스트 기본 원리

  1. 완벽한 테스트 불가능
    • 모든 경우 테스트 불가
    • 오류 없음을 증명 불가
  2. 결함 집중
    • 결함은 특정 부분(모듈)에 집중됨
  3. 파레토 법칙 (20:80)
    • 20% 모듈에서 80% 오류 발생
    • 암기: 20 : 80 = 파레토
  4. 살충제 패러독스
    • 같은 테스트를 반복하면 새로운 오류 발견이 어려움
    • 테스트 케이스를 지속적으로 수정, 보완 필요
    • 암기: 같은 살충제를 계속 쓰면 내성이 생김
  5. 오류-부재의 궤변
    • 오류가 없어도 요구사항을 만족하지 못하면 실패 가능
    • 암기: 버그 없어도 망할 수 있음
  6. 점진적 테스트
    • 작은 부분부터 점차 확대
    • 단위 → 통합 → 시스템
  7. 독립적 테스트
    • 개발자 외 독립된 조직(팀)이 테스트하면 객관성 향상

4) 화이트박스 테스트 (White-box)

  • 특징
    • 내부 구조 확인
    • 소스 코드 확인
    • 논리 흐름 검사
  • 키워드
    • 내부 구조, 코드, 경로, 조건, 반복문

종류

종류키워드
기초 경로 검사모든 경로
조건 검사조건문
루프 검사반복문
데이터 흐름 검사변수 흐름

5) 블랙박스 테스트 (Black-box)

  • 특징
    • 기능 중심
    • 사용자 관점
    • 내부 구조는 보지 않음
  • 키워드
    • 입력값, 출력값, 기능 테스트

종류

종류키워드
동치 분할같은 그룹
경계값 분석최대, 최소
오류 예측경험 기반
원인-효과 그래프입력-출력 관계

6) 정적 테스트 / 동적 테스트

종류키워드
정적 테스트실행 안 함
동적 테스트실행 함

7) 개발 단계 테스트

종류키워드
단위 테스트모듈
통합 테스트모듈 결합
시스템 테스트전체 시스템
인수 테스트고객 확인

8) 통합 테스트 (Integration Test)

  • 하향식 통합
    • 상위 → 하위
    • Stub 사용
    • 암기: 하향식 = Stub
  • 상향식 통합
    • 하위 → 상위
    • Driver 사용
    • 암기: 상향식 = Driver

시험 직전 초압축 암기

  • 사용자 관점 = Validation
  • 개발자 관점 = Verification
  • 내부 구조 = 화이트박스
  • 기능 중심 = 블랙박스
  • 실행 안 함 = 정적 테스트
  • 실행 함 = 동적 테스트
  • 20% → 80% 오류 = 파레토
  • 같은 테스트 반복 = 살충제 패러독스
  • 오류 없어도 실패 = 오류-부재의 궤변
  • 하향식 = Stub
  • 상향식 = Driver
  • 경계 부분 검사 = 경계값 분석
  • 수정 후 테스트 = 회귀 테스트