728x90
반응형
어플리케이션 테스트
- 어플리케이션에 잠재된 결함을 찾아내는 일련의 행위 또는 절차
- Verification 검증 -> 개발자 입장, 소프트웨어 명세서 만족
- Validation 확인 -> 사용자 입장, 고객 요구사항 만족
어플리케이션 테스트 원리
- 완벽한 테스트는 불가능
- 잠재적 결함을 줄일 수 있지만, 결함이 없다고 증명할 수 없음
- 파레토 법칙
- 어플리케이션의 20% 코드에서 전체 결함의 80%가 발견
- 살충제 패러독스
- 동일한 테스트 케이스 반복하면 더 이상 결함이 반복되지 않음
- 테스팅은 정황(Context)에 의존적
- 정황에 따라 테스트 결과가 달라질 수 있기에, 정황에 따른 테스트 수행
- 오류-부재의 궤변
- 결함을 모두 제거해도 사용자 요구사항 만족시키지 못하면 품질이 높지 못함
어플리케이션 테스트 분류
실행 여부 따라
- 정적 테스트 따라 -> 실행X
- 워크스루(검토회의) -> 전문가 직접 검토, 절차 따라, 오류 조기 검출
- 인스펙션 -> 워크스루의 발전, 산출된 결과물 품질 평가 및 개선 방법 제시
- 동적 테스트 -> 실행 O, 모든 단계
- 화이트박스 테스트 / 블랙박스 테스트
테스트 기반에 따라
- 명세 기반 테스트 -> 사용자 요구사항 명세
- 구조 기반 테스트 -> SW 내부 논리 흐름
- 경험 기반 테스트 -> 테스터의 경험, 체크리스트
시각에 따라
- Verification 검증 테스트 -> 개발자 시각, 제품 명세서
- Validation 확인 테스트 -> 사용자 시각, 사용자 요구사항
목적에 따라
- Recovery 회복 테스트 -> 실패시키고 올바르게 복구되는가
- Security 안전 테스트 -> 보호 도구가 볼법 침입으로부터 보호하는가
- Stress 강도 테스트 -> 과부하 시 정상적으로 실행되는가
- Performance 성능 테스트 -> 실시간 성능, 전체 효율성 등 응답시간 및 처리량
- Structure 구조 테스트 -> 내부 논리적 경로, 소스코드 복잡도
- Regression 회귀 테스트 -> 변경/수정된 코드에 새로운 결함이 없는가. 즉 반복 테스트
- Parallel 병행 테스트 -> 변경된 SW와 기존 SW 동일한 데이터 입력해서 결과 비교
테스트 기법에 따라
화이트박스 테스트
- 내부 논리적 경로 및 모듈 안의 내용 볼수 있어서, 내부의 논리적인 모든 경로 테스트
- 종류
- 기초경로 검사 -> 대표적. 절차적 설계의 논리적 복잡성 측정
- 제어구조 검사 -> 조건 검사: 논리적 조건
- 검증 기준
- 문장 검증 기준 -> 모든 구문 한 번 이상
- 분기 검증 기준 -> 모든 조건문의 조건식 결과가 (True, False) 한 번 이상
- 조건 검증 기준 -> 조건문의 개별 조건식 결과가 (True, False) 한 번 이상
- 분기/조건 기준 -> 분기 검증 기준, 조건 검증 기준 모두 만족
블랙박스 테스트
- 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 종류
- 동치 분할 검사 Equivalence Partitioning Testing
- 타당/타당하지 않은 입력 자료 개수가 균등할 때, 입력자료에 맞는 결과가 출력되는지 확인
- 경계값 분석 Boundary Value Analysis
- 중간값보다 경계값에서 오류 발생 확률 높음. 경계값을 테스트 케이스로
- 원인-효과 그래프 검사 Cause-Effect Graphing Test
- 입력 데이트간 관계와 출력에 영향 미치는 상황 분석 후, 효용성 높은 테스트 케이스 선정
- 오류 예측 검사 Error Guessing
- 과거의 경험. 확인자 감각으로 테스트
- 비교 검사 Comparison Testing
- 여러 버전에 동일한 테스트 자료 제공, 동일한 결과 출력되는지 테스트
=> 동적 테스트, 명세 기반 테스트, 경험 기반 테스트에 해당
- 여러 버전에 동일한 테스트 자료 제공, 동일한 결과 출력되는지 테스트
- 동치 분할 검사 Equivalence Partitioning Testing
728x90
반응형
'백엔드 Backend' 카테고리의 다른 글
[보안] 보안 공격 종류 (0) | 2024.11.04 |
---|---|
[결합도/응집도] 결합도와 응집도란 (0) | 2024.10.24 |
악성코드 종류 (0) | 2024.10.16 |
SOLID 원칙 (0) | 2024.10.08 |
비동기 Asynchronous 란? (0) | 2024.10.04 |