SECTION 1. IT 실무 최적화: 왜 클로드인가? (입문)
• 01강: 챗GPT 대신 클로드를 선택해야 하는 이유 (아티팩트 & 20만 컨텍스트)
• 02강: IT 현업을 위한 초기 세팅: 프로젝트(Projects) 기능을 통한 도메인 지식 주입
• 03강: 프롬프트 엔지니어링 기초: IT 논리 구조를 반영한 지시 기법
SECTION 2. QA & 테스터를 위한 AI 전략 (심화)
• 04강: [QA] 요구사항 명세서 기반 완벽한 테스트 케이스(TC) 자동 생성
• 05강: [QA] 복잡한 데이터 흐름 분석 및 경계값 테스트 시나리오 도출
• 06강: [QA] 셀레늄/플레이라이트(Playwright) 자동화 스크립트 작성 및 오류 수정
SECTION 3. 개발 & 시스템 설계를 위한 AI 활용 (심화)
• 07강: [Dev] 레거시 코드 리팩토링 및 신규 라이브러리 마이그레이션 가이드
• 08강: [Dev] 에러 로그 분석을 통한 근본 원인(Root Cause) 파악 및 디버깅
• 09강: [Design] 머메이드(Mermaid)를 활용한 시퀀스 다이어그램 및 DB 설계도 그리기
SECTION 4. MCP와 자동화 에이전트로 가는 길 (실전)
• 10강: MCP(Model Context Protocol) 개념과 IT 도구(Notion/GitHub/Jira) 연동
• 11강: Sequential Thinking(심층 사고) 모드로 복잡한 비즈니스 로직 검증하기
• 12강: 클로드 코드(Claude Code) 입문: 터미널에서 제어하는 AI 주도 개발(ADC)
4강에서 테스트 케이스를 뽑고, 5강에서 위험한 경계와 흐름을 찾았습니다. 이제 그 케이스를 직접 실행하는 차례입니다.
손 대신 스크립트가 뛰는 법을 다룹니다.
로그인 실패 시 계정이 잠기는 기능을 검증한다고 해 보겠습니다.
잘못된 비밀번호를 다섯 번 입력해야 하고, 그 케이스만 하루에 수십 번 반복하는 상황입니다.
손으로 직접 클릭한다면 하루가 그 일로 끝납니다.
게다가 사람이 하면 타이핑이 엇나가거나 클릭 순서를 놓치는 실수가 끼어듭니다.
그래서 QA는 반복 작업을 '스크립트'로 옮깁니다. 그리고 그 스크립트를 짜는 일에 클로드가 꽤 쓸 만합니다.
직접 클릭하던 손을 로봇이 대신하는 순간
셀레늄(Selenium)과 플레이라이트(Playwright)는 브라우저를 원격으로 조종하는 도구입니다.
마치 RC카 리모컨처럼, 사람이 손으로 버튼을 누르는 대신 코드가 신호를 보냅니다.
특정 주소로 이동하고, 아이디를 입력하고, 로그인 버튼을 클릭하고, 화면에 특정 문구가 나타나는지 확인합니다.
이 모든 동작이 코드 한 줄 한 줄에 담깁니다.
자동화 스크립트는 동작의 악보다
자동 피아노를 떠올려 보겠습니다.
구멍이 뚫린 롤 종이를 넣으면 건반이 저절로 눌립니다.
연주자가 없어도 같은 곡이 정확히 재생됩니다.
자동화 스크립트도 똑같습니다.
브라우저가 따라갈 악보를 써 두는 겁니다.
사람이 자리를 비워도, 그 악보대로 정확하게 실행됩니다.
100번이든 1,000번이든 같은 순서로, 같은 속도로.
다만 악보는 사람과 달리 융통성이 없습니다.
"대충 버튼 근처를 클릭해"는 통하지 않습니다.
"이 아이디를 가진 버튼을 정확히 클릭해"라고 적혀 있어야 합니다.
그 명세가 조금이라도 현실과 다르면, 자동 피아노는 멈춥니다.
클로드에게 테스트 케이스를 주면 악보가 나온다
4강에서 뽑아둔 테스트 케이스가 여기서 그대로 재료가 됩니다.
케이스를 넘기고 역할과 규칙을 명시하면, 실행 가능한 스크립트가 나옵니다.
너는 시니어 QA 자동화 엔지니어야.
아래 테스트 케이스를 Playwright(Python)으로 작성해 줘.
로케이터는 가능하면 텍스트나 aria-label 기반으로, id·class 기반은 최소화해 줘.
<테스트 케이스>
TC-LOGIN-007
전제: 가입된 계정 (test@example.com / 비밀번호: wrongpass)
단계: 로그인 시도를 잘못된 비밀번호로 5회 반복
기대 결과: '계정이 잠겼습니다' 문구 화면에 노출
</테스트 케이스>
여기서 '로케이터를 텍스트·aria-label 기반으로'라는 조건이 중요합니다.
이 이야기는 바로 뒤에서 다시 합니다.
Selenium이라면 Python 또는 Java, Playwright라면 Python·TypeScript 중 어느 쪽을 쓰는지 함께 명시하면 됩니다.
프레임워크와 언어를 못 박아두지 않으면, 클로드가 임의로 고릅니다.
스크립트가 멈춰 설 때, 에러 메시지 안에 길이 있다
스크립트를 처음 만들면 대부분 한 번에 돌아가지 않습니다.
콘솔에 빨간 글씨가 쏟아지면 당황하기 쉽지만, 그 에러 메시지는 사실 로봇이 보내는 SOS 문자입니다.
"3번 단계에서 문이 잠겨 있어요", "좌회전해야 하는데 그 도로를 못 찾겠어요". 막힌 이유가 거기 적혀 있습니다.
에러와 스크립트를 같이 넘기는 게 핵심이다
많은 사람이 에러 메시지만 복사해서 "이거 왜 났어?"라고 묻습니다.
그러면 클로드는 일반적인 원인을 여러 개 늘어놓을 수밖에 없습니다.
정확한 진단이 어렵습니다.
에러 메시지와 관련 스크립트를 함께 넘기면, 진단이 훨씬 정확해집니다.
의사에게 "어디가 아파요"만 말하는 것과, 검사 결과지와 증상을 함께 가져가는 것의 차이입니다.
아래 Playwright 스크립트를 실행하다가 에러가 났어.
에러 원인을 짚고 수정된 코드를 줘.
<에러 메시지>
TimeoutError: Timeout 30000ms exceeded.
waiting for locator('#submit-btn')
</에러 메시지>
<스크립트>
해당 부분의 코드를 여기에 붙여넣는다
</스크립트>
이렇게 넘기면 클로드는 "submit-btn이라는 id가 존재하지 않거나, 로딩이 완료되기 전에 탐색하고 있을 가능성이 있다"는 식으로 원인을 좁혀줍니다.
가장 흔한 사고 — UI가 바뀌면 길을 잃는 로봇
자동화 스크립트가 자주 깨지는 가장 흔한 원인이 있습니다.
화면의 버튼 id나 클래스 이름이 바뀌는 순간입니다.
어제까지 잘 돌아가던 스크립트가 오늘 갑자기 멈춥니다.
개발팀이 버튼 id를 'submit-btn'에서 'btn-login-submit'으로 바꿔서입니다.
로봇은 옛날 지도를 들고 바뀐 도로를 찾아 헤매는 겁니다.
이 문제를 줄이는 방법이 앞서 언급한 '텍스트·aria-label 기반 로케이터'입니다.
버튼 id 대신 버튼에 적힌 글자("로그인")를 기준으로 찾으면, id가 바뀌어도 버튼 이름이 같은 한 스크립트는 살아남습니다.
클로드에게 "이 스크립트의 로케이터를 id·class 의존 방식에서 텍스트·aria-label 기반으로 바꿔줘"라고 하면 더 튼튼한 버전으로 다듬어 줍니다.
한 번 만들 때 이 한 줄을 더하는 것만으로 유지보수 부담이 크게 줄어듭니다.
SECTION 2를 마치며, 이제 코드를 만드는 쪽으로 들어간다
4강부터 이번 강까지 세 번에 걸쳐 QA의 흐름을 따라왔습니다.
명세서에서 케이스를 뽑고, 경계와 데이터 흐름에서 위험 지점을 찾고, 반복 검증을 스크립트로 넘기는 것. 이 흐름에서 클로드는 경우의 수를 세고 코드 뼈대를 잡는 쪽을 맡았고, 어디를 얼마나 깊이 검증할지는 여전히 사람의 눈이 결정했습니다.
이 균형은 다음 SECTION에서도 같습니다.
다음 7강 예고 — SECTION 3: 개발 & 시스템 설계
SECTION 3에서는 코드를 만드는 쪽으로 시선을 옮깁니다.
7강 「레거시 코드 리팩토링 및 신규 라이브러리 마이그레이션 가이드」에서는, 수년 된 코드를 건드려야 하는 가장 무거운 작업을 다룹니다.
어떻게 짜였는지 파악하기도 어렵고, 하나 고치면 다른 곳이 터지는 그 레거시 코드를, 클로드와 함께 읽어 내고 안전하게 마이그레이션하는 전략을 짚겠습니다.
※ 본 강좌는 매일 1강씩 무료로 연재됩니다. 요금제별 기능과 한도는 모델·플랜에 따라 달라질 수 있으니, 실제 적용 시 최신 안내를 확인하시기 바랍니다.
'11. 자료실·기타 > 테스트 관련 강좌' 카테고리의 다른 글
| 08강: [Dev] 에러 로그 분석을 통한 근본 원인(Root Cause) 파악 및 디버깅 (0) | 2026.06.24 |
|---|---|
| 07강: [Dev] 레거시 코드 리팩토링 및 신규 라이브러리 마이그레이션 가이드 (0) | 2026.06.23 |
| 05강: [QA] 복잡한 데이터 흐름 분석 및 경계값 테스트 시나리오 도출 (1) | 2026.06.19 |
| 04강: [QA] 요구사항 명세서 기반 완벽한 테스트 케이스(TC) 자동 생성출처 (0) | 2026.06.18 |
| 03강: 프롬프트 엔지니어링 기초: IT 논리 구조를 반영한 지시 기법 (0) | 2026.06.17 |