탐색적 테스팅
차터 작성, 변수 발견, 상태·전이 모델링, 생태계와 신뢰 경계 탐험, 재현 불가능한 버그 다루기까지. 스크립트가 닿지 않는 영역을 다룬다.
★ 실무 핵심. 레슨 수가 가장 많은 축에 속한다 — 기법마다 따로 연습한다.
학습 목표
이 모듈 한 줄 요약 — "미리 적어 둔 것 밖에서 결함을 찾는 법". 모듈 3의 설계 기법은 전부 "미리 생각해 둔 것" 을 확인한다. 아무리 꼼꼼해도 상상하지 못한 것은 목록에 안 들어간다. 탐색적 테스팅은 그 바깥을 노린다 — 해 보면서 배우고, 배운 것으로 다음에 무엇을 해 볼지 그 자리에서 정한다.
"아무렇게나 눌러 보는 것" 과는 다르다. 목표가 있고, 시간이 정해져 있고, 무엇을 봤는지 기록한다. 그 차이가 첫 레슨의 주제다.
이 모듈을 마치면 탐색적 테스팅을 "정해진 스크립트 없는 즉흥적 클릭"이 아니라 학습·설계·실행이 동시에 일어나는 규율 있는 활동으로 이해하고 실제로 운영할 수 있다. 차터를 쓰고, 숨은 변수를 찾고, 상태와 관계를 실시간으로 탐험하고, 화면이 없는 API까지 탐험하고, 재현 안 되는 버그를 다루고, 언제 충분히 탐험했는지 판단하는 법까지 다룬다.
완료 후 할 수 있는 것
- 스크립트 테스트·경험 기반 테스트·탐색적 테스팅을 구분해 설명할 수 있다
- 좋은 차터(Charter)를 써서 시간 상자 안에서 탐험을 진행할 수 있다
- 악몽의 머리기사 게임으로 리스크를 구체적인 차터로 바꿀 수 있다
- 콘솔·네트워크·로그를 함께 보며 화면에 안 보이는 결함을 잡을 수 있다
- 숨어 있는 변수를 찾아내고, 순서·상호작용·퍼소나를 바꿔가며 탐험할 수 있다
- 개체·관계·상태를 실시간으로 추적하며 데이터 일관성 결함을 찾을 수 있다
- 소프트웨어 생태계와 신뢰 경계를 그려 외부 의존성 리스크를 탐험할 수 있다
- 화면이 없는 API도 탐험 대상으로 다룰 수 있다
- 레거시 시스템을 정찰 세션과 이해관계자 인터뷰로 이해할 수 있다
- 재현 안 되는 버그를 증거 중심으로 다루고 정직하게 보고할 수 있다
- 짝 탐험을 운영하고, 차터 단위로 탐험 시간을 추정하고, 언제 충분한지 판단할 수 있다
- 휴리스틱 치트시트를 탐험이 막혔을 때 참고 도구로 활용할 수 있다
채용시장에서의 위치
"탐색적 테스팅 경험"은 QA 채용공고에서 가장 자주 언급되는 실무 역량 중 하나다. 자동화나 스크립트로는 절대 못 잡는 결함 — 예상치 못한 조합, 숨은 변수, 재현 안 되는 버그 — 을 잡아내는 능력이 곧 "테스트 케이스만 실행하는 사람"과 "진짜 결함을 찾는 사람"을 가르는 기준이다. 이 모듈은 이 커리큘럼에서 레슨 수가 가장 많은 축에 속한다 — 기법 하나하나가 따로 연습할 가치가 있어서 잘게 나눠 두었기 때문이다.
레슨 (14개)
- 중급약 20분
탐색적 테스팅이란 — 스크립트 테스트와의 차이, 시간 상자 안에서 탐험하기
탐색적 테스팅은 즉흥적 클릭이 아니라 학습·설계·실행이 동시에 일어나는 규율 있는 활동이다. 스크립트·경험 기반 테스트와 무엇이 다른지 구분한다.
- 중급약 18분
차터(Charter) 작성법 — 좋은 차터의 조건
탐험에 방향을 주는 미션 선언문, 차터를 쓴다. 너무 막연하지도, 스크립트처럼 너무 구체적이지도 않은 지점을 찾는다.
- 중급약 18분
악몽의 머리기사 게임 — 리스크를 차터로 바꾸기
이 제품이 뉴스에 최악의 방식으로 나온다면 헤드라인이 뭘까를 상상해 형식적인 리스크 분석이 놓치는 위험을 끄집어낸다.
- 중급약 20분
세심하게 관찰하기 — 보이지 않는 것을 보이게 만들기, 콘솔과 로그 활용
화면이 멀쩡해 보여도 콘솔에는 에러가 찍히고 있을 수 있다. 탐험하는 동안 화면 밖의 신호까지 함께 관찰하는 습관을 만든다.
- 중급약 20분
변수 찾아내기 — 숨어 있는 변수와 대참사
입력 필드만 변수가 아니다. 시간대, 데이터 양, 브라우저 상태처럼 아무도 "변수"라고 인식하지 않는 요소들이 실제 대참사급 결함을 만든다.
- 중급약 20분
순서와 상호작용 바꿔보기, 퍼소나 기법
정해진 순서대로만 조작하면 순서 의존적인 결함을 놓친다. 순서를 뒤섞고, 여러 조작을 동시에 해보고, 다른 성격의 사용자가 되어 탐험한다.
- 중급약 20분
개체와 관계 탐험: 속성·의존성, CRUD, 데이터 따라가기
화면 흐름이 아니라 시스템이 다루는 것들(사용자, 주문, 쿠폰)을 중심으로, 하나를 지우거나 바꿨을 때 연결된 다른 것들이 어떻게 되는지 추적한다.
- 중급약 20분
상태와 전이 발견: 상태 모델 다이어그램, 상태 테이블
모듈 3에서는 이미 알려진 상태를 표로 그려 테스트했다. 여기서는 실제로 탐험하며 문서에 없던 상태를 실시간으로 발견하고 그려나간다.
- 중급약 20분
소프트웨어 생태계 탐험: 생태계 다이어그램, 신뢰 경계, "만약 ~한다면?"
시스템은 혼자 존재하지 않는다. 결제 게이트웨이, 이메일 서비스 같은 외부 의존성을 그려보고, 그 경계가 무너지면 무슨 일이 생기는지 탐험한다.
- 중급약 20분
사용자 화면이 없는 곳 탐험하기 (API·웹서비스)
클릭할 화면이 없어도 탐험은 가능하다. API에 예상 밖의 요청을 보내며 백엔드를 직접 탐험하는 법을 익힌다.
- 중급약 20분
기존(레거시) 시스템 탐험: 정찰 세션, 이해관계자 인터뷰
문서도 없고 원작자도 떠난 시스템을 테스트해야 할 때, "버그 찾기"가 아니라 "이해하기"를 목표로 하는 정찰 세션을 먼저 연다.
- 중급약 18분
재현 불가능한 버그 다루기
한 번 보고 다시는 안 생기는 버그는 무시해야 할 착시가 아니라, 숨은 변수와 동시성이 만든 진짜 결함일 수 있다. 증거를 즉시 남기는 법을 익힌다.
- 중급약 20분
짝 탐험(Pair Exploration), 탐험 추정, 언제 충분한가
둘이 함께 탐험하면 혼자보다 더 많이 본다. 그리고 "탐색적 테스팅은 언제 끝나는지 알 수 없다"는 흔한 오해에 실무적인 답을 준다.
- 중급약 20분
테스트 휴리스틱 치트시트 (일반 + 웹)
탐험이 막힐 때 꺼내 보는 기억 보조 도구. SFDPOT 같은 일반 휴리스틱과 웹 특화 체크 항목으로, 이 모듈에서 배운 기법 전체를 하나의 참조표로 정리한다.
이 모듈의 실습
실습은 별도 저장소에서 진행합니다. 새 탭으로 열립니다.
- 차터로 이끄는 탐색 세션과 결함 지도중급 · 약 120분 · 바로 실습
도구: markdown