[Application Test]
테스트 케이스 설계
S/W 테스트는 시용자의 요구사항을 만족시키고, 결함을 찾아 해결하고 예방하기 위해 필요하다.
- S/W 테스트 기본원칙
- 결함존재 증명 : 즉, 결함이 없다고 증명하는 것이 아니라 결함을 찾아내는데 집중하는 테스트
- 완벽 테스팅을 불가
- 초기 집중 : 결함을 단시간에 발견하면 테스팅 기간 또한 줄어든다
- 결함 집중(파레토의 법칙) : 오류의 80% 는 전체 모듈의 20%에서 발견된다.
- 살충재 패러독스 : 동일한 테스트 케이스만 반복하게 되면 새로운 버그를 발견 할 수 없다.
- 정황 의존성 : 성격에 맞게 검사해야 한다.
- 오류-부재의 궤변 : 오류가 존재하지 않다고 해도, 요구사항을 만족하지 못하면 품질이 좋다고 할 수 없다.
- S/W 테스트 프로세스
- 계획
- 분석
- 작성
- 수행
- 평가
👉 산출물 : Test 계획서, 베이시스 케이스, 슈트, 시나리오, 스크립트, 결과서
- S/W 테스트 유형
- 정적 테스트 : Test 실행 전
- 리뷰
- 동료 검토 : 동료들에게 설명 → 결함 발견
- 인스펙션 : 외부 인력
- 워크스루 : 자료 배포 후 리뷰
- 정적 분석
- 리뷰
- 동적 테스트 : Test 실행 후
- 블랙 박스 테스트 (외부)
- 화이트 박스 테스트 (내부)
- 경험 기반 테스트
- 탐색적 테스트
- 오류 추정
→ 블랙 박스 테스트와 화이트 박스 테스트를 조금 더 깊이 다뤄보면
- 블랙박스 테스트 : 요구사항을 확인하면서 기능 Test 진행
- 동치 분할 테스트 : 유효값/무효값 그룹핑 → 대푯값 테스트
- 경곗값 분석 테스트 : 경계값 기준으로 테스트 ( 예) 경곗값=0 이면 → -1, 0, 1 테스트)
- 결정 테이블 테스트 : 조건 + 행위 (논리적 발생조건)
- 상태 전이 테스트
- 유스케이스 테스트 : 실제 사용되는 프로세스 흐름 기반 테스트
- 분류트리 테스트 : 트리 구조로 분석
- 페어와이즈 테스트 : 데이터 값들을 최소 한 번 이상 조합해 테스트
- 원인-결과 그래프 테스트 : 그래프를 활용해 출력(결과)에 미치는 영향(원인) 분석 → 효용성을 올릴 수 있는 테스트
- 비교 테스트 : 여러 버전에서의 테스트 후 결과 비교
- 화이트박스 테스트 : 내부 구조와 동작을 Test
- 기본 경로 커버리지 : 수행 가능한 모든 경로 Test
- 제어 흐름 테스트 : 제어 구조 그래프/로직 테스트
- 데이터 흐름 테스트 : 제어 흐름 그래프 테스트
- 1) 구문 커버리지 : 모든 구문 적어도 한번 실행
- 2) 결정 커버리지 : 전체 조건식 True/False
- 3) 조건 커버리지 : 개별 조건식 True/False
- 4) 조건 / 결정 커버리지 : 전체+개별 조건식 True/False
- 5) 변경 조건 / 결정 커버리지 : 전체+개별 조건식 True/False 독립적 실행
- 다중 조건 커버리지 : 모든 조합 실행
- S/W 테스트 케이스란?
요구사항 들을 준수하는지 확인하기 위해 개발된 값들의 집합
S/W 테스트 케이스 필요항목
- 공통항목 작성 : 각각의 식별 항목
- 개별 Test Case 항목 : 개개인의 요구사항
- S/W 테스트 오라클 이란?
Test결과가 참인지 거짓인지 판단하기 위해 사전정의된 참값을 입력해 비교
S/W 테스트 오라클 종류
- 참 오라클 : 모든 입력값 T/F
- 샘플링 오라클 : 특정 입력값 T/F
- 휴리스틱 오라클 : 특정 입력값 T/F 외 나머지 값들은 추청
- 일관성 검사 : 결과값이 일관적인가?
'woncoding > TIL' 카테고리의 다른 글
| TIL | 3.1.수 [Application Test (3)] (0) | 2023.03.02 |
|---|---|
| TIL | 2.28.화 [Application Test (2)] (0) | 2023.03.02 |
| TIL | 2.24.금 [인덱스 | B-Tree/Hash Table] (0) | 2023.03.01 |
| TIL | 2.23.목 [Base64 인코딩] (0) | 2023.02.28 |
| TIL | 2.22.수 [SQL / ORM (3)] (0) | 2023.02.28 |