AWS Community Day Hong Kong 2025 Recap

MCP 및 AI 에이전트를 활용한 자동화 테스트

Recap Series

녹화 영상

https://www.youtube.com/watch?v=cgoFdt8ybwY&t=1296s

준비 및 계획

기반: 테스트 데이터

  • 흔히 간과되지만 매우 중요합니다.
  • 작업 관리 시스템(예: Jira): 웹훅을 사용해 업데이트를 AWS S3에 저장합니다.
  • Swagger 문서: API 사양과 매개변수를 제공합니다.
  • 과거 테스트 사례: 이전 사례를 검증하고 다시 테스트할 수 있게 합니다.

데이터 소스 연결

  • 전통적인 방식은 관계를 찾아내는 능력이 제한적입니다.
  • 연결 관계를 이어 주기 위해 대규모 언어 모델(LLM)을 도입합니다.
  • 예시:
  • Mariana(AI를 활용하는 클라우드 컴퓨팅 분야에서 AWS 경력 보유)
  • Dario(AI 기업 Entropic의 공동 창업자)
  • Entropic은 AWS Bedrock을 통해 사용할 수 있는 일련의 LLM을 개발했습니다.

실행

AI 주도 테스트 워크플로

  • AI를 활용하여 테스트 프로세스를 자동화하고 개선합니다.
  • AI가 기존 테스트 프레임워크와 통합되는 방식을 자세히 살펴봅니다.

보고

종합 보고

  • 자동화 테스트에서 유용한 통찰을 담은 보고서를 생성합니다.
  • AI를 활용해 실행 가능한 통찰과 권장 사항을 제공합니다.
  • AI를 통한 전통적인 테스트 워크플로의 혁신을 강조합니다.
  • 제시된 아이디어에 대한 피드백과 토론을 요청합니다.

지식 그래프로 관계 이해하기

  • 지식 그래프는 단순한 텍스트 검색으로는 파악할 수 없는 복잡한 관계를 포착합니다.
  • 예시: Mariana(AWS 경력)와 Entropic(Dario가 설립한 AI 기업)의 관계
  • 지식 그래프는 단순 검색으로 찾을 수 없는 숨겨진 연결 관계를 보여 줍니다.

자동화 테스트에서 지식 그래프의 중요성

  • 작업 및 테스트 사례 자동 생성에 매우 중요합니다.
  • 데이터 소스에서 엔터티를 추출하고 관련 항목을 연결합니다.
  • 예시:
  • 요구 사항 티켓
  • API 사양
  • 과거 테스트 사례

지식 그래프 생성

  • 전통적인 방식(예: PostgreSQL)은 위젯이 많고 가시성이 낮습니다.
  • 노코드 솔루션(예: DynamoDB)은 비효율적입니다.
  • 그래프 데이터베이스(예: AWS Neptune, Neo4j)가 더 적합하지만 새로운 개념(노드, 엣지, 속성)을 배워야 합니다.

솔루션: Amazon Neptune Analytics

  • 그래프 데이터베이스 기능을 기반 모델 및 AWS Bedrock과 결합합니다.
  • 복잡한 구문 없이 정보를 삽입하고 검색할 수 있습니다.
  • 데이터 시각화를 위한 보기 좋은 그래프 뷰를 제공합니다.

그래프 검색 증강(RA)

  • AI가 참조 문서를 검색하여 응답을 생성하는 기법입니다.
  • 그래프 RA는 단순한 텍스트 검색 대신 지식 그래프를 검색에 사용합니다.

AI 주도 테스트 파이프라인

  • 지식 그래프 기반 위에 구축됩니다.
  • 테스트 사례에 Gherkin 형식의 행위 주도 개발(BDD)을 사용합니다.
  • Gherkin 시나리오는 Given, When, Then 같은 키워드를 사용하여 기능의 초기 상태, 동작, 예상 결과를 명시합니다.
  • 테스트 사례 예시: 사전 조건과 시나리오를 사용해 홈페이지 제목 확인
  • 효과적인 자동화 테스트에는 지식 그래프가 필수적입니다.
  • Amazon Neptune Analytics는 그래프 데이터베이스 관리와 시각화를 간소화합니다.
  • 그래프 RA는 AI 주도 테스트 사례 생성과 실행을 향상합니다.

AI 주도 테스트 사례 생성

목표

  • AI 에이전트를 사용해 테스트 사례의 커버리지와 일관성을 높입니다.

AI 에이전트의 역량

  • 테스트 목표를 달성하기 위해 수행할 최적의 동작을 선택합니다.
  • 비즈니스 흐름을 분석하고 지식 그래프에서 요구 사항을 읽습니다.

예시

구독 관리 기능

비즈니스 흐름 분석

  • 지식 그래프가 다음을 식별합니다.
  • UI에서 결제 수단 검증
  • 결제 API 호출

충돌 감지

  • AI 에이전트가 요구 사항 충돌을 감지합니다.
  • 이전 규칙: 사용자는 프리미엄 기능에 접근하기 전에 이메일을 인증해야 합니다.
  • 새 규칙: 체험판 사용자는 이메일 인증 없이 7일 동안 프리미엄 기능에 접근할 수 있습니다.
  • 관련 테스트 사례를 그에 맞게 업데이트합니다.

API 세부 정보 탐색

  • 그래프 DB에서 엔드포인트, 필수/선택 매개변수, 오류 응답을 추출합니다.
  • 기록된 데이터(예: 구독 생성 성공, 결제 실패)를 통해 API 종속성을 식별합니다.

테스트 데이터 생성

  • 다음을 포괄하는 테스트 데이터를 생성합니다.
  • 정상 흐름(성공 시나리오)
  • 엣지 케이스(경계 조건)
  • 오류 조건(실패 시나리오)

결론

  • AI 에이전트는 다음 방식으로 테스트 사례 생성을 향상합니다.
  • 비즈니스 흐름 분석
  • 충돌 감지 및 테스트 사례 업데이트
  • API 세부 정보와 종속성 탐색
  • 포괄적인 테스트 데이터 생성

테스트 사례 개선 및 실행

비즈니스 규칙으로 테스트 사례 개선

  • 비즈니스 흐름 분석 정보와 식별된 규칙을 사용해 시나리오를 보완합니다.
  • 개선된 시나리오를 시나리오 기반 테스트 사례로 변환합니다.

사람 참여형 검증

  • AI가 포괄적인 테스트 사례를 생성할 수 있지만, 검증에는 인간 전문가가 필요합니다.
  • 사람의 검증을 통해 엣지 케이스와 비즈니스 맥락이 반영되도록 합니다.
  • Jira 티켓 시스템, API 문서, 과거 테스트 사례만으로는 모든 시나리오를 다루지 못할 수 있습니다.

Playwright를 사용한 실행

  • Playwright: 빠르고 안정적인 엔드투엔드 테스트를 제공합니다.
  • Playwright는 Chromium, WebKit, Firefox를 포함한 모든 최신 렌더링 엔진을 지원합니다. 크로스 플랫폼을 지원하며 로컬의 Windows, Linux, macOS에서 테스트할 수 있습니다.
  • 테스트 실행에 Playwright를 활용합니다.
  • 널리 알려진 오픈 소스 자동화 테스트 프레임워크입니다.
  • 효율적인 테스트를 위해 브라우저와 직접 통신합니다.
  • 여러 언어(Java, Python, C, JavaScript, TypeScript)를 지원합니다.
  • GitHub에서 78.9K개의 스타를 받은 강력한 커뮤니티 지원을 갖추고 있습니다.
  • 자연어 지시를 위한 MCP(Model-Based Continuous Planning)를 기본 지원합니다.
  • 기본 제공 기능:
  • 효율성을 위한 병렬 실행
  • 포괄적인 추적 및 디버깅 기능
  • 자동 스크린샷 및 영상 녹화
  • 테스트 프로세스를 문서화하고 나중에 검증할 수 있게 하는 상세 로깅

결론

  • AI는 테스트 사례 생성을 향상하지만, 사람의 검증이 매우 중요합니다.
  • Playwright는 효율적이고 다재다능하며 풍부한 기능을 갖춘 테스트 실행 환경을 제공합니다.

AI 에이전트로 테스트 사례 실행

작업 실행 에이전트

  • 실행 단계를 처리하는 AI 에이전트입니다.
  • 생성된 작업에서 테스트 매개변수를 추출합니다.
  • 나중에 참조할 수 있도록 Playwright 스크립트를 생성하여 데이터베이스에 저장합니다.
  • 테스트를 자동으로 실행합니다.

Playwright를 활용한 AI 주도 테스트 예시

  • 프런트엔드 및 백엔드 테스트
  • Amazon Q Developer CLI와 Playwright MCP를 함께 사용한 실험
  • 간단한 전자상거래 웹사이트를 위한 테스트 사례 3개:
  • 배송 정보를 입력해 제품을 구매하고 주문 절차 완료
  • 로그인하여 제품 페이지에 들어간 뒤 추가 동작 없이 종료
  • 제품을 장바구니에 추가한 뒤 추가 동작 없이 종료

실행 후 검증

  • 테스트 사례를 데이터베이스에 저장합니다.
  • 나중에 검증할 수 있도록 영상 녹화 같은 기능을 활용합니다.
  • 테스터는 녹화된 영상을 검토하여 예상 동작과 일치하는지 확인할 수 있습니다.

전체 테스트 실행 흐름 요약

  • 3개의 AI 에이전트가 함께 작동합니다.
  • 테스트 사례 생성기
  • 테스트 사례 실행기
  • 보고서 생성기(결과 및 녹화 자료 수집)
  • 모듈화된 접근 방식으로 유연성과 확장성을 제공합니다.

여러 MCP 활용

  • 다양한 테스트 요구에 맞춰 여러 MCP를 사용합니다.
  • 현실적인 데이터 생성을 위한 MySQL MCP
  • 최근 사용한 테스트 사례를 저장하기 위한 Redis MCP
  • 테스트 프로세스를 간소화합니다.

핵심 메시지: 시프트 레프트 테스트

  • 개발 주기 초기에 자동화 테스트를 통합합니다.
  • 이점:
  • 품질 향상
  • 효율성 개선
  • 비용 절감
  • 기술 부채 감소

결론

  • AI 주도 자동화 테스트는 시간과 비용을 절감합니다.
  • 테스터는 테스트 사례 생성이 아니라 검증에 집중합니다.