Recap Series
- 세션 02: Terraform을 활용한 AWS 컴플라이언스
- 세션 03: 초보자에서 빌더로: 멋진 클라우드 여정
- 세션 04: Laravel와 Bref를 활용한 팀 우선 서버리스 엔지니어링
- 세션 05: 행사 개회: AWS Community Day Hong Kong 2025
- 세션 06: Agent-to-Agent: AWS에서 상호 운용 가능한 AI 구축하기
- 세션 07: AI 에이전트와 추가 텔레메트리 데이터를 활용한 신속한 개선
- 세션 08: 바이브 코딩을 넘어서: Kiro를 활용한 사양 주도 개발
- 세션 09: MCP 및 AI 에이전트를 활용한 자동화 테스트
- 세션 10: 통신 보안 현대화: ML 기반 접근 방식
- 세션 11: GenAI 에이전트 재고찰: RAG와 MCP
- 세션 12: TAK와 AWS를 활용한 재난 및 긴급 대응
- 세션 13: 테스트 관점에서 서버리스 애플리케이션 워크플로 재고찰
- 세션 14: 클라우드 성공을 위한 실용적인 AWS FinOps
녹화 영상
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 주도 자동화 테스트는 시간과 비용을 절감합니다.
- 테스터는 테스트 사례 생성이 아니라 검증에 집중합니다.
