[QA]테스트 설계(경험기반 테스트).
[QA]테스트 설계(경험기반 테스트).
테스트 설계 기법
경험 기반 테스트란?
테스터의 경험과 직관을 바탕으로 결함을 찾는 테스트 방법.
경험 기반 테스트의 중요성
- 결함 탐지 속도 향상: 예상치 못한 결함을 신속하게 발견 가능
- 테스트 범위 보완: 기존 테스트 기법에서 누락될 수 있는 부분을 보완
- 유연한 접근법: 정형화되지 않은 테스트 방식으로 다양한 상황 대응 가능
- 리소스 절약: 사전 준비 없이도 테스트 가능해 효율적
- 시스템 학습 효과: 테스터가 시스템에 대한 이해도를 높일 수 있음
경험 기반 테스트의 유형
1. 탐색적 테스트
- 테스터가 설계, 실행, 결과 분석을 동시에 수행
- 별도의 테스트 케이스 없이 실시간으로 테스트 진행하며 결함 탐지
- 테스터의 경험과 직관을 활용하여 빠르게 피드백이 필요한 경우에 적합
2. 오류 추정
- 테스터의 시스템 지식을 바탕으로 결함 발생 가능성이 높은 부분을 예측하여 테스트 수행
- 복잡하거나 결함 가능성이 높은 시스템에서 효과적
- 테스트 케이스 없이 경험과 직감을 통해 오류 발생 가능 영역을 집중적으로 검증
- 과거 프로젝트에서 자주 발생한 결함 패턴을 활용하여 유사한 문제를 탐지하는 데 유용
- 예) 🤔”전에 이런 유형의 버그가 많았으니, 이번에도 비슷한 문제가 있을 가능성이 높다~~”
오류 추정 테스트 프로세스
- 결함 패턴 분석 → 2. 테스트 케이스 설계 → 3. 테스트 수행 → 4. 결과 분석 → 5. 테스트 최적화 → 6. 결과 재검증 → 7. 효과 확인
즉, 처음에는 명확한 테스트 케이스 없이 경험과 직감으로 테스트할 부분을 선정한 뒤, 결함이 자주 발생하는 패턴을 분석하면서 테스트 방법을 결정하고, 테스트 케이스를 즉석에서 설계하거나 조정하며 진행한다는 소리임.
3. 체크리스트 기반 테스트
- 미리 작성된 체크리스트를 활용하여 시스템을 검증하는 방법
- 별도의 테스트 케이스를 상세히 작성하지 않아도 되므로 준비 기간이 단축됨
- 체크리스트 기반 검증을 통해 일관된 테스트 수행 가능
- 발견된 결함이나 오류를 체크리스트에 기록하여 명확한 문서화 가능
경험 기반 테스트 기법 비교
| 비교 항목 | 탐색적 테스트 | 오류 추정 | 체크리스트 |
|---|---|---|---|
| 정의 | 테스터의 경험과 직관을 활용해 실시간으로 결함을 탐지하는 테스트 방식 | 과거의 결함 경험과 오류 유형을 기반으로 결함이 발생할 가능성이 높은 부분을 테스트 | 미리 작성된 테스트 항목(체크리스트)을 기준으로 시스템을 점검하는 방법 |
| 준비 | 사전 테스트 케이스 설계가 필요하지 않음 | 오류 유형에 대한 결함 목록을 사전에 준비함 | 체크리스트 작성이 필요하며, 테스트 범위를 명확하게 정리함 |
| 접근 방식 | 유연하고 비구조적이며, 직관에 따라 테스트 진행 | 결함 발생 가능성이 높은 영역에 집중 | 체크리스트를 따라 각 항목을 하나씩 확인 |
| 장점 | 예상하지 못한 결함이나 복잡한 환경에서 발생할 수 있는 오류 탐지에 효과적 | 결함이 잘 발생하는 부분을 신속하게 탐지 | 테스트 누락을 줄이고 일관된 테스트 진행 |
| 단점 | 테스트 결과의 일관성이 떨어질 수 있고, 테스터의 역량에 크게 의존함 | 과거 경험이 부족하면 새로운 유형의 오류를 놓칠 수 있음 | 체크리스트 외의 예상하지 않은 상황을 탐지하기 어려울 수 있음 |
| 활용 시기 | 시스템 초기 단계, 복잡한 기능 또는 빠르게 결함을 찾아야 할 때 활용 | 결함 발생 가능성이 높은 기능이나 영역을 테스트할 때 | 명확한 테스트 기준이나 항목이 존재할 때 |
| 예시 | 네트워크 끊김 상황에서 메신저 메시지 전송 기능을 테스트 | 이전에 오류가 발생했던 파일 업로드 기능을 집중적으로 검증 | 로그인 화면에서 아이디, 비밀번호 입력을 테스트하는 항목 확인 |
위 내용을 참고하여 프로젝트에 적절한 경험 기반 테스트 기법을 적용해보세요! 🚀
This post is licensed under CC BY 4.0 by the author.
