널리 활용하는 경험 기반 테스트 기법
- 오류 추정
- 탐색적 테스팅
- 체크리스트 기반 테스팅
오류 추정
오류 추정이란 테스터의 지식을 기본으로 오류, 결함, 장애 발생을 예측하는 데 사용하는 테스트 기법이다.
필요 테스트 지식
- 애플리케이션의 과거 동작
- 개발자가 범하기 쉬운 오류 유형과 이런 오류로 인해 발생하는 결함 유형
- 다른 유사 애플리케이션에서 발생한 장애 유형
일반적으로 오류, 결함, 장애는 입력(올바른 입력을 인식하지 못함, 매개변수 오류 또는 누락), 출력(잘못된 형식, 잘못된 결과), 논리(사례 누락, 잘못된 연산자), 계산(잘못된 피연산자, 잘못된 계산), 인터페이스(매개변수 불일치, 호환되지 않는 유형), 데이터(잘못된 초기화, 잘못된 유형)와 관련이 있을 수 있다.
결함 공격
- 오류 추정을 구현하는 방법 중 하나이다.
- 이 테스트 기법은 테스터가 발생 가능한 오류, 결함, 장애 목록을 만들거나 획득해서 오류와 관련된 결함을 식별 및 노출하거나, 장애를 유발하는 테스트를 설계하도록 한다.
- 이런 목록은 경험, 결함 및 장애 데이터 또는 소프트웨어에 뭄ㄴ제가 생기는 원인에 관한 일반적인 지식을 기반으로 작성할 수 있다.
탐색적 테스팅
- 탐색적 테스팅에서는 테스터가 테스트 대상에 대해 배워가면서 테스트의 설계, 실행, 평가를 동시에 하게 된다.
- 이 테스팅은 테스트 대상에 대해 더 배우고, 집중하고 있는 테스트는 더 깊이 탐색하고, 테스트 되지 않은 영역에 대한 테스트를 만들기 위해 사용된다.
- 탐색적 테스팅은 때로 테스팅을 구조화하기 위해 세션 기반 테스팅을 사용하기도 한다.
- 세션 기반 접근법에서는 탐색적으로 테스팅 시간을 정해놓고 수행한다.
- 테스터는 테스트 목적이 정의된 테스트 차터를 테스팅 지침으로 사용한다.
- 일반적으로 테스트 세션이 끝나면 보고가 이루어진다.
- 이 때 테스터와 테스트 세션 결과에 관심이 있는 이해관계자 간의 토론이 이루어진다.
- 이 접근법에선 테스트 목적을 상위 수준의 테스트 컨디션으로 취급할 수 있다.
커버리지 항목
- 테스트 세션 중에 식별하고 실행한다.
- 테스터가 수행 절차와 발견 내용을 기록하기 위해 테스트 세션 시트를 사용할 수 있다.
탐색적 테스팅은 명세가 부족하거나 부적합할 경우, 테스트에 시간적 압박이 심할 때 유용하다.
탐색적 테스팅은 다른 공식 테스트 기법을 보완하기에도 유용하다.
테스터가 풍부한 경험과 도메인 지식을 가지고 있고 높은 수준의 분석 기술, 호기심, 창의성 등 필요 기술을 갖춘 경우 탐색적 테스팅이 더욱 효과적일 수 있다.
탐색적 테스팅 중 다른 테스트 기법(동등분할)을 사용할 수 있다.
체크리스트 기반 테스팅
- 체크리스트 기반 테스팅에서 테스터는 체크리스트를 활용해 테스트 컨디션을 확인하는 테스트를 설계, 구현, 실행한다.
- 체크리스트는 경험, 사용자에게 중요한 것이 무엇인지에 대한 지식, 또는 소프트웨어가 실패하는 이유와 방법에 대한 이해를 바탕으로 작성할 수 있다.
- 자동으로 점검할 수 있는 항목, 시작 조건, 종료 조건으로 더 적합한 항목, 너무 일반적인 항목은 체크리스트에 포함해서는 안된다.
체크리스트 항목을 질문 형식으로 포함하는 경우가 많다.
- 각 항목은 개별적이면서 직접적으로 확인할 수 있어야 한다.
- 이런 항목은 요구사항, 그래픽 인터페이스 속성, 품질 특성 또는 기타 유형의 테스트 컨디션일 수 있다.
- 체크리스트는 기능 및 비기능 테스트를 포함한 다양한 테스트 유형을 지원하기 위해 만들 수 있다.(ex 사용성 테스트를 위한 10가지 휴리스틱 평가 기준)
시간이 지남에 따라 개발자가 같은 오류를 범하지 않게 됨으로 일부 체크리스트 항목은 점차 효과가 떨어질 수 있다. 새로 발견한 심각도가 높은 결함으로 인해 새로운 항목을 추가해야 할 수도 있다.
따라서 체크리스트는 결함 분석을 기반으로 정기적으로 업데이트해야 한다.
하지만 체크리스트가 너무 길어지지 않도록 주의할 필요가 있다.
구체적인 테스트 케이스가 없는 경우
- 체크리스트 기반 테스팅은 테스트를 위한 지침과 일정 수준의 일관성을 제공할 수 있다.
- 체크리스트가 상위 수준으로 작성된 경우 실제 테스트는 조금씩 달라질 수 있으며, 결국 커버리지는 높아지지만 재현 가능성은 떨어질 수 있다.
정리
명세 기반 테스트 기법과 대비되는 개념이 경험 기반 테스트 기법이다.
QA가 가장 많이 활용하게 되는 방식이 경험 기반 테스트이다.
경험 기반 테스트 기법이란?
테스터의 경험, 직관, 도메인 지식을 바탕으로 테스트를 수행하는 방법이다.
- 명세서에 의존하지 않고
- 실제 사용 상황을 상상하여
- 문제를 찾아내는 방식
명세 기반 테스트와의 차이
두 테스트 기법은 경쟁 관계각 아니라 서로 보완 관계이다.
| 구분 | 명세 기반 테스트 | 경험 기반 테스트 |
| 기준 | 요구사항, 명세서 | 테스터 경험, 직관 |
| 테스트 설계 | 사전에 명확 | 실행 중 유연 |
| 문서 의존도 | 높음 | 낮음 |
| 예측 가능성 | 높음 | 상대적으로 낮음 |
| 실무 활용 | 기본 | 보완, 확장 |
실무에서는 명세 기반 테스트 후 경험 기반 테스트를 추가하는 경우가 많다고 한다.
경험 기반 테스트 기법의 종류
오류 추정(Error Guessing)
과거 경험을 바탕으로 문제가 발생할 것 같은 부분을 집중적으로 테스트하는 기법
- 이전에 자주 오류가 발생했던 기능
- 복잡한 입력값
- 예외 처리 구간
숙련된 QA일수록 오류 추정의 정확도가 높아진다.
체크리스트 기반 테스트
체크 리스트 기반 테스트는 자주 확인행야 할 항목을 목록으로 만들어 테스트하는 방식
- 로그인 시 확인 포인트
- 입력 폼 공통 체크 사항
- 권한/상태별 공통 검증 항목
신입 QA에게 특히 도움되는 방식, 팀 내 테스트 품질을 일정 수준으로 맞추는 데도 효과적
탐색적 테스트란?(Exploratory Testing)
테스트 설계와 실행을 동시에 수행하는 테스트 기법
사전에 모든 테스트 케이스를 만들기보다, 테스트를 진행하면서 생각하고, 배우고, 다음 테스트를 결정한다.
불확실성이 높은 기능이나 초기 개발 단계에서 특히 효과적이다.
탐색적 테스트의 특징
| 항목 | 내용 |
| 테스트 설계 | 실행과 동시에 수행 |
| 유연성 | 매우 높음 |
| 문서화 | 최소 또는 사후 정리 |
| 발견 가능성 | 예기치 않은 이유 |
| QA 역량 의존 | 높음 |
탐색적 테스트는 "아무렇게나 테스트한다"가 아니라, 의도와 목적을 가지고 자유롭게 탐색하는 테스트이다.
탐색적 테스트가 효과적인 상황
- 요구사항이 자주 변경될 때
- 신규 기능 초기 검증
- 테스트 케이스로 커버되지 않는 영역
- 사용자 행동이 다양한 서비스(사용자가 자기 마음대로 이리저리 조작할 수 있는 자유도가 높은 서비스)
명세가 부족한 상황에서 QA의 역할이 가장 빛나는 테스트 방식이다.
QA실무 관점의 경험 기반 테스트 기법의 핵심
- TC가 전부는 아니다
- 경험은 테스트 품질을 높이는 중요한 자산이다.
- 탐색적 테스트는 감이 아니라 기술이다.
신입QA는 명세 기반 테스트 위주로 시작하고, 점점 경험 기반 테스트 영역을 넓혀 가는게 좋다고 한다.
Reference
https://www.kstqb.org/sw/sw3.asp
KSTQB
ISTQB® SW 테스팅 자격시험 --> ISTQB ® Certified Tester Foundation Level (CTFL) --> ISTQB® Certified Tester Foundation Level (CTFL) 자격명 (Name) ISTQB® Certified Tester Foundation Level (CTFL) 인증기관 (Certification Body) International S
www.kstqb.org
https://qa-note.tistory.com/24
📗 ISTQB 실러버스 정리 4-2 — 경험 기반 테스트 기법 (탐색적 테스트 포함)
들어가며ISTQB CTFL 실러버스 4-2장은 앞에서 다룬 명세 기반 테스트 기법과 대비되는 개념을 설명하는 장입니다. 문서가 충분하지 않거나, 테스트 케이스만으로는 한계가 느껴질 때QA가 가장 많이
qa-note.tistory.com
'QA > ISTQB' 카테고리의 다른 글
| ISTQB - CTFL [테스트 활동 관리] 테스트 계획 정리 (0) | 2026.07.16 |
|---|---|
| ISTQB - CTFL [테스트 분석과 설계] 협업 기반 테스트 접근법 정리 (0) | 2026.07.16 |
| ISTQB - CTFL [테스트 분석과 설계] 화이트박스 테스트 기법 정리 (0) | 2026.07.15 |
| ISTQB - CTFL [테스트 분석과 설계] 테스트 기법 개요, 블랙박스 테스트 기법 정리 (0) | 2026.07.14 |
| ISTQB - CTFL [정적 테스팅] 피드백과 리뷰 프로세스 정리 (0) | 2026.07.13 |