애자일 테스팅 심화 — 테스트 4분면·DoD·리파인먼트·페어/몹 테스팅·애자일 품질 지표
스프린트 안에서 품질을 지키는 협업 기법을 실습한다. 애자일 테스트 4분면으로 테스트 유형의 균형을 잡고 완료의 정의(DoD)에 품질 조건을 넣으며, 스프린트 안에서 테스트가 끼어드는 타이밍을 설계한다. 백로그 리파인먼트에서 QA가 던지는 질문과 스토리 슬라이싱, 페어 테스팅·몹 테스팅 운영법, 번다운·리드타임·결함 유출률을 회고에 연결하는 애자일 품질 지표를 다룬다.
★ 애자일에서 품질은 마지막 단계가 아니라 스프린트의 모든 대화에 들어 있다.
학습 목표
이 모듈 한 줄 요약 — "회의에 앉아 있는 것과 결정을 바꾸는 것은 다르다". 스프린트 회의에 QA 가 참석하는 것만으로는 아무것도 달라지지 않는다. 그 자리에서 스토리를 쪼개게 만드는 QA 와 그냥 앉아 있는 QA 는 같은 회의에서 다른 결과를 만든다. 이 모듈은 전자가 쓰는 도구를 다룬다.
모듈 7(레슨 8)에서 스크럼 이벤트마다 QA가 무엇을 하는지 한 번 훑었다. 이 모듈은 그 자리에서 한 단계 더 내려간다. 이벤트에 참석하는 것과 그 이벤트에서 결정을 바꾸는 것은 다른 일 이기 때문이다. 리파인먼트에 앉아 있는 QA와 리파인먼트에서 스토리를 쪼개게 만드는 QA는 같은 회의에 있지만 다른 성과를 낸다. 이 모듈은 후자가 쓰는 도구를 다섯 개 다룬다.
첫째, 테스트 4분면 이다. 팀이 "테스트를 충분히 했는가"를 물을 때 대개 답은 감이다. 4분면은 그 감을 지도로 바꾼다 — 기술을 보는 테스트와 비즈니스를 보는 테스트, 팀을 이끄는 테스트와 제품을 비평하는 테스트가 각각 얼마나 있는지 눈으로 확인하고, 비어 있는 칸을 스프린트 계획에 넣는다. 둘째, 완료의 정의(DoD) 다. 품질 게이트를 리드 한 사람의 권위가 아니라 팀 합의로 만들면, 릴리스 직전의 싸움이 스프린트 초의 대화로 옮겨간다. 셋째, 리파인먼트 질문 설계와 스토리 슬라이싱 이다. 모호함을 발견하는 것과 그 모호함을 해결 가능한 크기로 자르는 것은 다른 기술이다.
넷째, 페어 테스팅과 몹(앙상블) 테스팅 이다. 두 사람이 같은 화면을 보는 30분이 혼자 하는 세 시간보다 나을 때가 있고, 그 반대일 때가 훨씬 많다. 언제 쓰고 언제 쓰지 않는지가 이 기법의 전부다. 다섯째, 애자일 품질 지표 다. 번다운·리드타임·결함 유출률을 보고용 숫자가 아니라 회고의 대화 재료로 쓰는 법을 익힌다.
이 모듈을 관통하는 문장은 하나다. 애자일에서 품질은 마지막 단계가 아니라 스프린트의 모든 대화에 들어 있다.
완료 후 할 수 있는 것
- 테스트 4분면으로 팀의 현재 테스트 포트폴리오를 그리고, 비어 있는 사분면을 근거로 다음 스프린트의 테스트 활동을 제안할 수 있다
- 스프린트 안에서 각 테스트 유형이 들어갈 타이밍을 설계하고, "스프린트 마지막 이틀에 테스트가 몰리는" 구조를 진단해 고칠 수 있다
- 팀의 완료의 정의(DoD)를 검증 가능한 문장으로 쓰고, 인수 기준·릴리스 기준과의 경계를 설명할 수 있다
- DoD를 지키지 못했을 때의 예외 처리 규칙(미완료 스토리·기술 부채 등록)을 팀 합의로 만들 수 있다
- 백로그 리파인먼트에서 쓸 질문 세트를 위험 기준으로 설계하고, 예제 매핑으로 25분 안에 규칙과 예시를 뽑아낼 수 있다
- SPIDR 등 슬라이싱 패턴으로 큰 스토리를 독립적으로 릴리스 가능한 조각으로 자르고, 각 조각의 테스트 가능성을 판정할 수 있다
- 페어 테스팅·몹 테스팅 세션을 역할 교대 규칙과 타이머로 운영하고, 언제 이 기법을 쓰지 않을지 판단할 수 있다
- 번다운·사이클타임·결함 유출률을 수집해 회고에서 가설과 실험으로 연결하고, 지표가 조작될 때의 신호를 알아챌 수 있다
채용시장에서의 위치
국내 채용 공고에서 "애자일 환경 경험"은 거의 모든 QA 공고에 들어가는 문구가 됐다. 그래서 이 문구 자체는 변별력이 없다. 변별력은 스프린트 안에서 무엇을 바꿨는지 에서 나온다. "스크럼으로 일했다"는 답과 "리파인먼트 질문 세트를 만들어 스프린트 중반 재작업을 줄였다", "DoD에 성능 회귀 항목을 넣고 나서 릴리스 롤백이 사라졌다"는 답은 면접에서 전혀 다른 무게를 갖는다.
특히 QA 한 명이 여러 스쿼드를 지원하는 조직(국내 플랫폼·커머스 기업에서 흔한 구조)에서는 혼자 다 테스트할 수 없다는 전제 가 깔린다. 이때 필요한 사람은 테스트를 많이 하는 사람이 아니라 팀이 스스로 테스트하게 만드는 사람이다. 4분면으로 공백을 보여 주고, DoD로 기준을 박고, 페어·몹으로 지식을 옮기는 일이 그 역할의 실체다. 공고에서는 "QA 프로세스 정착", "개발팀 품질 문화 리딩", "스쿼드 내 품질 활동 설계" 같은 문구로 드러난다.
ISTQB에는 CTFL-AT(Agile Tester) 확장 자격이 있고, 스크럼 쪽에서는 Scrum.org의 PSM·PSPO나 Scrum Alliance의 CSM이 흔히 언급된다. 다만 국내 QA 면접에서 이 자격증이 단독으로 가점이 되는 경우는 드물고, 대개 자격증의 용어를 실제 팀 사례로 번역할 수 있는가 를 본다. 이 모듈의 실습 과제는 그 번역물을 만들어 두는 용도로 설계했다.
레슨 (5개)
- 중급약 35분
테스트 4분면과 스프린트 내 테스트 타이밍 — 언제 무엇을 테스트할 것인가
팀이 "테스트를 충분히 했는가"를 물을 때 대개 답은 감이다. Brian Marick이 제안하고 Lisa Crispin·Janet Gregory가 발전시킨 테스트 4분면으로 팀의 테스트 포트폴리오를 지도로 그리고, 비어 있는 사분면을 찾는다. 나아가 각 사분면의 활동이 스프린트 안 어느 시점에 들어가야 하는지 타이밍을 설계해, 테스트가 스프린트 마지막 이틀에 몰리는 구조를 고치는 법을 익힌다.
- 중급약 32분
완료의 정의(DoD) — 품질 게이트를 팀 합의로 만들기
릴리스 직전에 "이거 아직 테스트 안 됐는데요"가 나오는 팀은 완료의 기준이 사람마다 다른 팀이다. 스크럼 가이드가 말하는 DoD의 정확한 위치, 인수 기준·릴리스 기준과의 경계, 검증 가능한 DoD 문장 쓰는 법, 스토리별 추가 조건을 다루는 법, 그리고 DoD를 못 지켰을 때의 예외 처리 규칙까지 팀 합의로 만드는 절차를 다룬다.
- 중급약 38분
리파인먼트 질문 설계와 스토리 슬라이싱 — 모호함을 발견하고 자르는 기술
리파인먼트에서 좋은 질문을 던지는 것과 그 질문의 답을 작업 가능한 크기로 자르는 것은 다른 기술이다. 위험 기준으로 질문 세트를 설계하고, 예제 매핑으로 25분 안에 규칙·예시·미해결 질문을 분리하며, SPIDR 같은 슬라이싱 패턴으로 큰 스토리를 독립 릴리스 가능한 조각으로 나눈 뒤 각 조각의 테스트 가능성을 판정하는 절차를 다룬다.
- 중급약 34분
페어 테스팅과 몹(앙상블) 테스팅 — 역할 교대로 운영하고, 언제 쓰지 않을지 판단하기
두 사람이 같은 화면을 보는 30분이 혼자 하는 세 시간보다 나을 때가 있고, 그 반대일 때가 훨씬 많다. 드라이버·내비게이터·관찰자의 역할과 교대 주기, 시작 5분부터 회고까지 시간이 배분된 세션 대본, QA×개발·QA×QA·QA×기획 조합이 각각 무엇을 잡아내는지, 사람-시간이 N배로 드는 이 기법을 언제 쓰지 말아야 하는지, 원격에서의 입력권과 피로도 관리를 다룬다.
- 중급약 36분
애자일 품질 지표 — 번다운·리드타임·결함 유출률을 팀 회고에 연결하기
스프린트 하나의 실제 숫자로 번다운·번업, 리드타임·사이클타임, 결함 유출률과 결함 제거 효율(DDE)을 계산하고, 그 숫자에서 무엇을 읽어 회고에서 어떤 실험을 걸지까지 이어 간다. 속도를 목표로 삼으면 추정이 부풀고 결함 수를 목표로 삼으면 티켓이 사라지는 굿하트의 법칙, 팀이 보는 지표와 밖에 내보내는 지표의 경계를 함께 다룬다.