오늘은 애플리케이션의 테스트 기법에 대해 알아보자
정처기에서 많이 나오니 알아둘 필요가 있다.
테스트 시각에 따른 분류
검증(Verification) : 소프트웨어 개발 과정을 테스트, 개발자 혹은 시험자의 시각
확인(Validation) : 소프트웨어 결과를 테스트, 사용자 시각
테스트 목적에 따른 분류
회복 테스트(Recovery) : 시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트
안전 테스트(Security) : 소스 내 보안적인 결함을 미리 점검하는 테스트
성능 테스트(Performance) : 응답 시간, 반응 속도, 처리량 등을 측정하는 테스트
구조 테스트(Structure) : 시스템의 내부 논리 경로, 소스 코드의 복잡도를 테스트
회귀 테스트(Regression) : 오류제거와 수정에 의해 새로 유입된 오류가 없는 지 확인하는 일종의 반복 테스트 기법
병행 테스트(Parallel) : 변경된 시스템과 기존 시스템에 동일한 데이터 입력 후 결과 비교
성능 테스트 상세 유형
부하(Load) 테스트 : 시스템에 부하를 계속 증가시키면서 시스템의 임계점을 찾음
스트레스(Stress) 테스트 : 임계점 이상의 부하를 가해 비정상적인 상황에서의 처리를 테스트
스파이크(Spike) 테스트 : 짧은 시간에 사용자가 몰릴 때 시스템의 반응 측정 테스트
내구성(Endurance) 테스트 : 오랜 시간 동안 시스템에 높은 부하를 가해 테스트
테스트 종류에 따른 분류
1. 명세 기반 테스트 (Specification-based Testing)
명세 기반 테스트는 요구사항 명세서나 설계 문서를 기반으로 테스트 케이스를 작성하는 기법이다. 명시된 기능이 올바르게 동작하는지를 검증한다.
특징:
테스트 케이스는 요구사항에 기반하여 작성된다.
명시된 입력값과 기대 결과를 사용하여 검증한다.
예: 유스케이스, 요구사항 명세서 등을 기반으로 하는 테스트
2. 구조 기반 테스트 (Structure-based Testing)
개요: 구조 기반 테스트는 코드의 내부 구조나 로직을 기반으로 테스트 케이스를 작성하는 기법이다. 코드의 경로, 분기, 루프 등을 테스트한다.
특징:
코드의 흐름을 기반으로 테스트 케이스를 작성한다.
코드 커버리지를 통해 테스트의 완성도를 측정할 수 있다.
예: 문장 및 분기 커버리지, 경로 커버리지 등을 사용하는 테스트.
3. 경험 기반 테스트 (Experience-based Testing)
개요: 경험 기반 테스트는 테스터의 경험, 직관, 지각 등을 기반으로 테스트를 수행하는기법이다. 과거의 경험을 활용하여 테스트 케이스를 작성하고 실행한다
특징:
테스터의 경험이 중요한 역할을 한다.
실제 사용자 시나리오나 예상되는 문제를 중심으로 테스트를 수행한다.
예: 예상치 못한 상황을 시뮬레이션하고 검증하는 테스트한다.
'IT관련 정보' 카테고리의 다른 글
관계 데이터 모델에 대해 알아보자 (1) | 2023.10.29 |
---|---|
오늘은 애자일(Agile) 방법론에 대해 알아보자 (0) | 2023.10.26 |
MVC 패턴이란? (0) | 2023.10.20 |
최초적합, 최적적합, 최악적합에 대해 알아보자 (0) | 2023.10.14 |
JAVA 와 KOTLIN의 차이점에 대해 알아보자 (1) | 2023.10.11 |