회귀 테스트
이미 고친 버그나 기존 기능이 새 변경 때문에 다시 깨지지 않았는지 확인하는 테스트이다. 회귀(regression)는 앞으로 나아간 코드가 예전 문제 상태로 되돌아가는 현상을 뜻한다. 바이브 코딩에서는 AI가 한 화면을 고치다가 다른 화면의 props, API 응답 모양, CSS 클래스, 권한 체크를 함께 바꿔 버릴 수 있으므로 회귀 테스트가 특히 중요하다. 좋은 회귀 테스트는 과거 장애의 재현 조건을 작고 자동화된 형태로 남겨, 같은 실수가 다시 들어오면 즉시 실패하게 만든다.
예시
AI가 Q&A 목록 UI를 고친 뒤 예전에 중복 H1 문제가 다시 생기지 않도록 detail page의 h1 개수를 검사하는 회귀 테스트를 추가한다. 이후 리팩터링 때 같은 문제가 재발하면 테스트가 먼저 실패한다.
참고
버그를 고칠 때는 수정 코드만 남기지 말고, 그 버그가 다시 들어오면 실패하는 테스트를 함께 남기는 것이 안전하다.
카테고리
테스트·디버깅
난이도
basic
태그
회귀테스트 · 재발방지
함께 읽기
연관 용어
테스트·디버깅
단위 테스트
개별 함수, 메서드, 모듈이 예상대로 올바르게 동작하는지 검증하는 가장 작은 범위의 자동화된 테스트이다. '단위(unit)'는 테스트할 수 있는 가장 작은 코드 조각을 의미하며, 외부 의존성(데이터베이스, 네트워크, 파일 시스템)을 모킹(mocking)하여 해당 함수 자체의 로직만 순수하게 검증한다. 바이브 코딩에서 단위 테스트는 AI가 생성한 코드의 정확성을 보장하는 첫 번째 방어선이다. AI에게 'calculateTax 함수의 단위 테스트를 작성해줘'라고 하면 Jest, Vitest 등의 프레임워크로 다양한 입력 값과 경계 조건에 대한 테스트 코드를 생성한다. 그러나 AI가 생성한 테스트에는 주의가 필요하다: AI는 종종 정상 경로(happy path)만 테스트하고, 에지 케이스(경계 값, null, 빈 문자열, 음수 등), 에러 상황, 동시성 문제 등을 간과하는 경향이 있다. 따라서 AI가 생성한 테스트를 검토하고 에지 케이스를 추가하는 것이 인간의 중요한 역할이다. 에이전틱 엔지니어링에서는 Test Generator 에이전트가 자동으로 테스트를 생성하고, 품질 게이트에서 테스트 통과를 필수로 요구한다.
테스트·디버깅
통합 테스트
여러 모듈이나 서비스가 결합(integration)되어 함께 올바르게 동작하는지 검증하는 테스트이다. 단위 테스트가 개별 부품(함수)의 정상 동작을 확인한다면, 통합 테스트는 부품들이 조립되었을 때 전체가 기대한 대로 동작하는지 확인한다. 바이브 코딩에서 통합 테스트가 특히 중요한 이유: AI는 개별 함수 단위에서는 올바른 코드를 생성하더라도, 함수 간 데이터 전달, API와 데이터베이스 연동, 서비스 간 통신에서 미묘한 불일치를 만들어낼 수 있다. 예를 들어, 사용자 서비스가 반환하는 사용자 ID 형식(숫자 vs 문자열)과 결제 서비스가 기대하는 형식이 다른 경우, 단위 테스트는 각각 통과하지만 통합 테스트에서 실패한다. 테스트 범위 예시: API 엔드포인트 → 비즈니스 로직 → 데이터베이스 쿼리가 함께 동작하는지, 인증 미들웨어와 라우터가 올바르게 연결되는지, 외부 API 연동이 예상대로 동작하는지 등. Supertest(Node.js), pytest(Python) 등의 도구가 사용된다.
테스트·디버깅
엔드투엔드 테스트
실제 사용자의 관점에서 전체 애플리케이션 흐름을 처음(End)부터 끝(End)까지 시뮬레이션하여 검증하는 최상위 레벨의 테스트이다. 실제 브라우저를 자동 제어하여 클릭, 입력, 네비게이션 등의 사용자 행동을 재현하고, 전체 시스템(프론트엔드 → API → 데이터베이스 → 외부 서비스)이 통합적으로 올바르게 동작하는지 확인한다. 바이브 코딩에서 E2E 테스트는 '바이브 체크(Vibe Check)의 자동화된 버전'이라고 볼 수 있다. 인간이 수동으로 브라우저에서 확인하는 것을 자동화한 것이며, AI가 전체 앱을 생성한 후 E2E 테스트로 사용자 시나리오를 검증하면 바이브 체크보다 훨씬 체계적이다. 테스트 시나리오 예시: '회원가입 → 이메일 인증 → 로그인 → 상품 검색 → 장바구니 추가 → 결제 → 주문 확인' 전체 흐름. Playwright(Microsoft, 크로스 브라우저), Cypress(개발자 친화적) 등이 대표적 도구이며, AI에게 'Playwright로 로그인 → 대시보드 접근 E2E 테스트를 작성해줘'라고 요청할 수 있다.