무지개곰
article thumbnail
반응형

1. 애플리케이션 테스트의 개념

  • 정의: 애플리케이션의 잠재 결함을 찾아내는 행위 또는 절차.
  • 목적:
    • Validation: 소프트웨어가 고객 요구사항을 만족시키는지 확인.
    • Verification: 소프트웨어가 정확히 기능을 수행하는지 검증.

2. 애플리케이션 테스트의 기본 원리

종류설명

테스팅은 결함이 존재함을 밝히는 것 결함을 줄일 순 있지만, 결함이 없다고 증명할 수 없음.
완벽한 테스팅은 불가능 무한 경로와 무한 입력 값으로 인해 모든 결함을 발견하는 것은 불가능.
개발 초기에 테스팅 시작 테스팅 기간 단축, 재작업 감소로 개발 기간 단축 및 결함 예방 가능.
결함 집중 20%의 모듈에서 80%의 결함 발견 (파레토 법칙).
살충제 패러독스 동일한 테스트 케이스 반복 시 새로운 결함 발견이 어려움.
테스팅은 정황에 의존적 소프트웨어 성격에 따라 테스트 방식이 달라짐.
오류-부재의 궤변 결함이 없어도 요구사항을 충족하지 못하면 품질이 높다고 볼 수 없음.

3. 프로그램 실행 여부에 따른 테스트

종류 설명
정적 테스트 프로그램 실행 없이 명세서나 소스 코드를 분석.
동적 테스트 프로그램 실행 후 오류를 찾는 테스트.
예시 정적: 워크스루, 인스펙션, 코드 검사 / 동적: 화이트박스, 블랙박스 테스트.

4. 테스트 기반에 따른 테스트

종류 설명
명세 기반 테스트 요구사항 명세에 따라 테스트 케이스 생성.
구조 기반 테스트 내부 논리 흐름에 따른 테스트 케이스 생성.
경험 기반 테스트 테스터 경험에 의존하여 수행하는 테스트.
예시 명세: 동등 분할, 경계값 분석 / 구조: 구문 기반, 결정 기반, 조건 기반 / 경험: 에러 추정, 체크리스트, 탐색적 테스트

5. 시각에 따른 테스트

종류 설명
검증(Verification) 테스트 개발자의 시각에서 제품의 생산 과정을 테스트.
확인(Validation) 테스트 사용자의 시각에서 제품의 결과물을 테스트.
예시 검증: 단위 테스트, 통합 테스트, 시스템 테스트 / 확인: 알파 테스트, 베타 테스트.

6. 목적에 따른 테스트

종류 설명
회복(Recovery) 결함 후 복구 여부 확인.
안전(Security) 불법 침입 방어 여부 확인.
강도(Stress) 과부하 상황에서 소프트웨어가 정상적으로 실행되는지 확인.
성능(Performance) 실시간 성능 및 효율성 확인.
구조(Structure) 내부 논리 경로 및 소스 코드 복잡도 평가.
회귀(Regression) 변경된 코드에 새 결함이 없는지 확인.
병행(Parallel) 변경 전/후 소프트웨어의 동일 데이터 입력 결과 비교.

7. 테스트 커버리지 유형

기법 설명
구문 커버리지 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 테스트.
결정 커버리지 전체 조건식이 최소한 참/거짓 값을 가지도록 테스트.
조건 커버리지 각 조건식이 참/거짓을 한 번씩 가지도록 개별 조건 조합을 테스트.
조건/결정 커버리지 전체 조건식과 개별 조건식이 참/거짓을 모두 가질 수 있도록 테스트.
변경/조건 결정 커버리지 각 조건식이 독립적으로 전체 조건식에 영향을 미치도록 테스트.
다중 조건 커버리지 모든 조건식의 가능한 조합을 100% 보장하도록 테스트.
반응형
profile

무지개곰

@무지개곰

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!