AI 시대의 품질 아키텍트 : 테스터에서 시스템 품질 설계자로
Part 0. 오리엔테이션
0화. 30분 데모와 프로덕션 사이의 거리 — 현실 인식과 방향 제시
Part 1. 기초 체력
AI가 짠 코드를 읽고 검증할 수 있는 눈과 웹·API 원리 다지기
1화. AI가 짠 코드를 읽는 눈 — Python 또는 JS/TS 중 하나를 코드 리뷰 가능한 수준까지. 실습: AI가 생성한 테스트 코드의 버그 3개 찾기.
2화. 변경은 diff에서 시작된다 — Git과 PR 기반 협업, 변경 기반 테스트의 첫 단추. 실습: PR diff만 보고 영향 범위 추정해 보기.
3화. 웹은 어떻게 움직이는가 — HTTP, 쿠키·세션의 원리. 실습: 개발자도구로 요청·응답 해부.
4화. 인증의 지도 — OAuth·JWT·RBAC를 테스터 시선으로. 실습: 토큰 만료·권한 우회 시나리오 설계.
5화. API의 두 얼굴 — REST와 GraphQL의 차이와 테스트 관점. 실습: 같은 기능을 두 방식으로 호출·검증.
Part 2. 테스트 자동화
Playwright를 주력으로 깊이 익히기
6화. 왜 Playwright인가 — 도구 선택의 근거와 첫 테스트 작성.
7화. 플래키의 근원, 셀렉터와 대기 — 안정적 셀렉터와 비동기 대기 전략.
8화. 실패를 영상으로 읽는다 — Trace Viewer로 원인 추적.
9화. 계약을 테스트하라 — API·계약 테스트(OpenAPI/GraphQL schema 기반).
10화. 눈에 보이는 회귀, 모두에게 열린 화면 — 시각적 회귀와 접근성 자동 검사. (Selenium·Appium은 레거시·모바일 대응용으로 짧게 짚기)
Part 3. AI 활용·MCP (연재 핵심)
AI를 단순 도구가 아닌 차별화 무기로 만드는 구간
11화. 프롬프트로 테스트를 설계하기 — 명세·PR을 입력해 케이스를 생성·우선순위화하는 패턴 정립.
12화. 에이전트는 무엇을 대신하는가 — 에이전트형 테스트의 개념과 한계(수동 노력 최대 45% 절감 추정).
13화. 스스로 고치는 테스트, 그리고 그 한계 — 자가 치유와 AI Healer. 셀렉터·DOM 변경에서 75%+ 복구, 그러나 복잡한 로직 버그는 사람 몫.
14화. npx playwright init-agents — 첫 MCP 실습 — 접근성 트리 기반 Playwright MCP 시작하기.
15화. MCP로 통합을 검증하다 — MCP 기반 통합 검증 실습.
16화. 환각을 거르는 사람 — AI 결과의 환각·오탐을 걸러내는 인간 검증 체계 설계. 직무 특성상 가장 큰 강점이 되는 지점.
Part 4. 파이프라인·운영
개인기를 조직의 신뢰 시스템으로 연결
17화. 문 앞의 품질 게이트 — CI/CD 품질 게이트 구성.
18화. 플래키를 격리하라 — 불안정 테스트 격리와 실패 원인 자동 분류.
19화. 관측성을 테스트로 환원하기 — 로그·메트릭·트레이스(OpenTelemetry)를 테스트 사고로 끌어오기.
20화. 진짜 같은 가짜 데이터 — 테스트 데이터 합성과 마스킹.
Part 5. 비기능 영역
눈에 보이지 않는 품질 지키기
21화. 무게를 견디는가 — k6/JMeter로 부하·스트레스 테스트.
22화. 손안의 성능 — 모바일 성능 지표(FPS·시작속도·메모리·배터리).
23화. 공격자처럼 생각하기 — OWASP Top 10으로 본 보안 기본기.
24화. 코드를 스캔하는 도구들 — SAST·DAST·SCA(SonarQube·OWASP ZAP·Snyk) 실전.
Part 6. 전략·리더십·표준
아키텍트로서의 설계·운영·리더십
25화. 테스트 가능성을 설계에 심다 — Testability를 기획·개발 단계로 끌어올리기.
26화. 공통 언어로서의 BDD — Gherkin으로 기획·개발·QA를 한 문장에 모으기.
27화. AI를 지휘하는 운영 모델 — 20명 규모 팀을 위한 AI 오케스트레이션 가이드라인과 코칭.
28화. 표준과 AI를 잇다 — KOLAS 인정 요건·품질 표준을 AI 검증 체계로 연결하는 도메인 전문성.
29화. 데모를 프로덕션으로 옮기는 비용 — 30분 데모와 실전의 거리, 사람의 감독이 끝까지 필요한 이유를 균형 있게 정리.
30화. 테스터에서 품질 아키텍트로
테스터가 Playwright를 선택하는 순간, 자동화가 진짜 안정적으로 변한다
AI 시대에 테스트 자동화를 시작하려는 테스터라면 “Selenium, Cypress, Playwright… 뭐부터 해야 하지?” 하고 고민하게 됩니다.
왜 하필 Playwright인지, 실제로 첫 테스트를 어떻게 작성하는지 중학생도 이해할 수 있게 차근차근 풀어보겠습니다.
오래된 자전거와 최신 전기 스쿠터
중학생 때 자전거를 타고 학교를 다녔다고 생각해 보세요.
오래된 자전거는 페달을 열심히 밟아도 속도가 잘 안 나고, 바퀴가 헐거워져서 자주 고장 납니다.
그런데 최신 전기 스쿠터는 버튼 하나로 부드럽게 출발하고, 언덕도 쉽게 올라가며, GPS까지 알려줘요.
Selenium은 그 오래된 자전거와 비슷합니다.
한때 최고였지만, 현대 웹의 복잡한 동작(비동기, Shadow DOM, 모바일)을 다루려면 많은 노력과 우회 코드가 필요하죠.
반면 Playwright는 전기 스쿠터처럼 만들어졌어요.
Microsoft가 개발한 이 도구는 Chromium, Firefox, WebKit(사파리)까지 한 번에 지원하고, 자동 대기 기능이 뛰어나서 테스트가 훨씬 안정적입니다.
Playwright를 선택해야 하는 현실적인 이유
Playwright가 빛나는 첫 번째 이유는 신뢰성입니다.
웹 페이지가 로딩되는 동안 “이 버튼이 나타날 때까지 기다려” 같은 코드를 일일이 쓰지 않아도 됩니다.
자동으로 스마트하게 기다려주기 때문에 ‘플래키(flaky)’ 테스트, 즉 가끔 성공하고 가끔 실패하는 불안정한 테스트가 크게 줄어듭니다.
두 번째는 속도와 효율입니다. 병렬 실행이 기본으로 지원되고, 브라우저를 가볍게 제어할 수 있어 테스트가 빠르게 끝납니다.
실제 프로젝트에서 Selenium 대비 2~3배 빠른 경우도 흔해요.
세 번째는 현대 웹에 최적화되어 있다는 점입니다.
API 테스트, 파일 업로드·다운로드, 모바일 에뮬레이션, 네트워크 가로채기까지 한 도구로 모두 처리할 수 있어요.
특히 AI가 코드를 생성해주는 시대에 Playwright의 명확한 API는 AI가 만들어준 코드를 읽고 수정하기도 훨씬 수월합니다.
마지막으로 커뮤니티와 지속적인 업데이트가 활발하다는 것도 큰 장점입니다. 테스터가 성장하면서 필요한 기능이 계속 추가되고 있어요.
첫 테스트, 직접 손으로 작성해 보기
이론만 듣는 것보다 직접 타보는 게 중요하죠. Node.js가 설치되어 있다면 터미널에서 아래 명령어만 입력하면 Playwright 환경이 준비됩니다.
npm init playwright@latest
설치가 끝나면 tests/example.spec.ts 같은 파일이 생깁니다. 첫 테스트를 이렇게 작성해 보세요.
import { test, expect } from '@playwright/test';
test('Google 홈페이지에서 검색이 제대로 되는지 확인', async ({ page }) => {
await page.goto('https://google.com');
// 검색창에 'Playwright' 입력
await page.getByRole('textbox', { name: '검색' }).fill('Playwright');
await page.getByRole('button', { name: 'Google 검색' }).click();
// 결과 페이지에 Playwright 관련 내용이 있는지 확인
await expect(page.getByRole('heading', { name: /Playwright/ })).toBeVisible();
});
이 코드의 아름다운 점은 읽기 쉽다는 거예요.
“페이지로 가라, 입력해라, 클릭해라, 이게 보이는지 확인해라”처럼 사람 말처럼 자연스럽습니다.
실행은 npx playwright test 한 줄이면 끝납니다.
브라우저가 자동으로 열리면서 테스트가 진행되는 모습을 직접 볼 수 있어요.
Trace Viewer로 실패를 영상처럼 분석하기
테스트가 실패하면 npx playwright show-trace trace.zip 명령으로 Trace Viewer를 열어보세요.
마치 CCTV 영상을 돌려보듯, 클릭 하나하나와 화면 변화를 타임라인으로 확인할 수 있습니다.
이 기능 하나만으로도 디버깅 시간이 절반 이상 줄어듭니다.
Playwright로 시작하는 자동화 여정
Playwright를 선택하는 순간, 테스터는 단순히 “버튼 클릭 자동화”를 넘어서 시스템 전체 동작을 안정적으로 검증하는 품질 파트너가 됩니다.
AI가 테스트 코드를 제안해도, Playwright의 명확한 구조 덕분에 쉽게 검토하고 다듬을 수 있어요.
첫 테스트를 성공시켜보세요.
그 작은 성공이 모여서 데모가 아닌 진짜 프로덕션 품질을 지키는 든든한 기반이 됩니다.
다음 단계에서는 더 강력한 셀렉터와 대기 전략을 함께 파헤쳐 보겠습니다.
'11. 자료실·기타 > 테스트 관련 강좌' 카테고리의 다른 글
| 8화. 실패를 영상으로 읽는다 — Trace Viewer로 원인 추적. (0) | 2026.07.13 |
|---|---|
| 7화. 플래키의 근원, 셀렉터와 대기 — 안정적 셀렉터와 비동기 대기 전략. (0) | 2026.07.10 |
| 5화. API의 두 얼굴 — REST와 GraphQL의 차이와 테스트 관점. 실습: 같은 기능을 두 방식으로 호출·검증. (0) | 2026.07.08 |
| 4화. 인증의 지도 — OAuth·JWT·RBAC를 테스터 시선으로. 실습: 토큰 만료·권한 우회 시나리오 설계. (0) | 2026.07.07 |
| 28화. 표준과 AI를 잇다 — KOLAS 인정 요건·품질 표준을 AI 검증 체계로 연결하는 도메인 전문성. (0) | 2026.07.07 |