개념
"자동화할 수 있다"와 "자동화해야 한다"는 다르다
기술적으로는 거의 모든 테스트를 자동화할 수 있다. 하지만 자동화에는 초기 구축 비용과 지속적인 유지보수 비용이 든다(레슨 3에서 계산법을 다룬다). 그래서 "할 수 있는가"가 아니라 **"자동화할 가치가 있는가"**를 판단하는 기준이 필요하다.
기준 1 — 반복성(Repetition)
같은 테스트를 얼마나 자주 반복해서 실행하는가? 매 배포마다, 매 스프린트마다 반복하는 회귀 테스트는 자동화 가치가 높다. 반면 한 번 하고 다시는 안 할 검증(예: 특정 마이그레이션이 한 번 잘 됐는지 확인)은 자동화 투자가 아까울 수 있다.
기준 2 — 안정성(Stability)
테스트 대상 기능의 요구사항이나 UI가 자주 바뀌는가? 아직 디자인이 계속 바뀌는 신규 기능을 성급하게 자동화하면, 기능이 바뀔 때마다 자동화 코드도 계속 다시 고쳐야 한다 — 오히려 유지보수 비용이 가치를 넘어선다. 기능이 안정된 뒤에 자동화하는 것이 일반적으로 더 효율적이다.
기준 3 — 회귀 가치(Regression Value)
이 테스트가 실패했을 때 실제로 심각한 문제를 잡아낼 가능성이 큰가? 모듈 4(레슨 2)에서 배운 위험기반 테스트의 판단 기준(발생 가능성 × 영향도)이 여기 그대로 적용된다 — 결제, 로그인처럼 리스크가 큰 핵심 흐름은 자동화 우선순위가 높다.
자동화에 적합하지 않은 영역
- 탐색적 테스팅(모듈 5) — 정의상 "미리 정해진 스크립트가 없다"는 것이 핵심이므로, 자동화라는 개념 자체가 성립하지 않는다
- 주관적 판단이 필요한 것 — 디자인이 "보기 좋은가", 문구가 "자연스러운가" 같은 판단은 사람이 해야 한다
- 일회성 검증 — 반복성이 없으면 자동화 비용을 회수하기 어렵다
- 극단적으로 자주 바뀌는 기능 — 안정성이 낮으면 자동화 코드가 기능보다 빨리 낡는다
판단 매트릭스로 정리하기
반복성 높음 반복성 낮음
안정성 높음 자동화 최우선 후보 자동화 우선순위 낮음
안정성 낮음 보류(안정화 후 자동화) 수동 테스트로 충분여기에 회귀 가치(리스크)까지 곱하면, "반복적이고 안정적이면서 리스크도 큰 영역"이 가장 먼저 자동화해야 할 대상으로 좁혀진다.
실무에서 왜 필요한가
"우리 팀 자동화율이 낮다"는 지적을 받았을 때, 무작정 아무 테스트나 자동화 개수를 늘리면 오히려 유지보수 부담만 커질 수 있다. 이 기준으로 판단하는 QA는 "이 영역은 아직 UI가 자주 바뀌어서 자동화를 보류하고, 대신 결제 흐름처럼 안정적이고 리스크가 큰 곳부터 자동화하자"처럼 근거 있는 자동화 로드맵을 제안할 수 있다.
실습 과제
과제 1 — 판단 매트릭스 적용하기 (10분)
다음 세 기능을 반복성·안정성·회귀 가치 기준으로 평가해, 자동화 우선순위를 매긴다.
- 매 릴리스마다 확인해야 하는 로그인 흐름 (안정적, 결제·개인정보와 직결)
- 이번 스프린트에 처음 나온, 디자인이 계속 바뀌는 신규 추천 위젯
- 연 1회 진행되는 이벤트 페이지(매년 디자인이 다름)
과제 2 — 자동화 부적합 사례 찾기 (10분)
"자동화하기 어렵거나 부적합하다"고 판단할 만한 테스트 상황을 이 레슨에서 다루지 않은 예시로 하나 만들어보고, 왜 그런지 설명한다.
자가 체크리스트
- 반복성·안정성·회귀 가치라는 세 가지 판단 기준을 설명할 수 있다
- 안정되지 않은 기능을 성급하게 자동화했을 때의 문제를 설명할 수 있다
- 탐색적 테스팅이 자동화 대상이 될 수 없는 이유를 설명할 수 있다
- 판단 매트릭스를 이용해 자동화 우선순위를 정할 수 있다
흔한 실수
- 자동화 가능 여부만 보고 자동화 가치는 따지지 않는다. 기술적 가능성과 투자 가치는 다른 질문이다.
- 아직 디자인이 안정되지 않은 신규 기능을 서둘러 자동화한다. 기능이 바뀔 때마다 자동화 코드를 계속 다시 짜야 해 손해가 크다.
- 주관적 판단이 필요한 영역까지 자동화로 대체하려 한다. "보기 좋은가" 같은 판단은 자동화의 영역이 아니다.
참고 자료
- ISTQB — Test Automation of Regression Testing 관련 자료 — 자동화 대상 선정 기준의 공식 가이드
- Dorothy Graham & Mark Fewster, Experiences of Test Automation — 자동화 대상 판단 사례를 다룬 실무서