기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
릴리스 테스트
릴리스 테스트는 실제 환경에서 코드 변경을 검증하기 위한 테스트 계획을 생성하고 실행합니다. 릴리스 테스트 에이전트는 배포된 웹 애플리케이션 및 REST APIs에 대해 기능 회귀, 사용자 여정 검증, 통합 테스트 및 엣지 케이스 탐색과 같은 탐색 UAT 및 회귀 테스트를 실행합니다.
릴리스 테스트 작동 방식
중요
릴리스 테스트는 쓰기 작업(POST, PUT, DELETE)을 포함하여 대상 애플리케이션에 대해 실제 요청을 실행합니다. 에이전트는 엔드포인트를 탐색하고, 양식을 제출하고, 오류 처리를 테스트합니다. 이러한 작업은 대상 애플리케이션에서 데이터를 생성, 수정 또는 삭제할 수 있습니다. 위험 프로필이 탐색 테스트의 일부로 변경 작업을 수락할 수 있는 경우에만를 사용합니다. 애플리케이션이 고객 알림 전송, 결제 처리 또는 레코드 영구 삭제와 같은 의도하지 않은 결과 없이 탐색 쓰기 작업을 허용할 수 있는지 확인합니다. 스테이징 배포에서를 실행하는 것이 좋습니다. 애플리케이션의 쓰기 작업이 자동 테스트에 안전한 경우에만 프로덕션 애플리케이션을 대상으로 지정해야 합니다.
트리거되면 릴리스 테스트 에이전트가 다음을 수행합니다.
테스트 계획 생성 - 사용자가 제공한 코드 변경 또는 테스트 의도를 기반으로 테스트 계획을 생성합니다. 풀 요청 또는 브랜치에서 트리거되면 계획은 영향을 받는 기능을 대상으로 합니다. 수동으로 또는 채팅에서 트리거할 때 검증할 내용을 설명하는 테스트 의도를 제공할 수 있습니다. 이 계획은 기능적 정확성, 통합 동작 및 사용자 대면 시나리오를 다룹니다.
실행 중인 애플리케이션에 대한 테스트 실행 - 대상 URL(웹 애플리케이션 또는 API 엔드포인트)이 주어지면 에이전트는 애플리케이션을 탐색하고 생성된 테스트를 실행합니다. 웹 애플리케이션의 경우 브라우저 기반 UI 상호 작용 및 시각적 검사가 포함됩니다. APIs 경우 여기에는 직접 HTTP 엔드포인트 테스트, 스키마 검증 및 오류 처리 확인이 포함됩니다.
결과 보고 - 특정 실패, 영향을 받는 기능, 복제 단계 및 권장 수정 사항과 함께 결과가 반환됩니다.
릴리스 테스트는 웹 애플리케이션(React, Angular, Vue, server-rendered) 및 REST APIs 지원합니다.
지원되는 테스트 유형
UI 테스트 - 웹 애플리케이션을 위한 시각적 상호 작용을 사용한 브라우저 기반 테스트
API 테스트 - REST APIs 대한 직접 HTTP 엔드포인트 테스트
테스트 프로필 정의
테스트 프로필은 테스트하려는 웹 및 API 애플리케이션과 필요한 구성을 정의합니다. 각 테스트 프로필은 대상 애플리케이션과 해당 테스트 유형을 지정합니다.
테스트 프로필을 생성하려면:
DevOps Agent 웹 앱에서 왼쪽 탐색의 릴리스 관리자로 이동합니다.
프로필 테스트 버튼을 선택합니다.
테스트 프로필 추가를 선택합니다.
다음 세부 정보로 양식을 작성합니다.
이름 - 테스트 프로파일을 설명하는 이름(예: "MyApp Staging")
대상 URL - 애플리케이션의 스테이징 또는 테스트 배포의 URL입니다. 에이전트는 쓰기 작업(POST, PUT, DELETE)을 포함하여 실제 HTTP 트래픽을 전송합니다. 데이터 수정 위험을 이해하고 수락하지 않는 한 프로덕션 URLs을 사용하지 마세요.
테스트 유형 - UI 테스트(시각적 상호 작용을 사용한 브라우저 기반 테스트) 또는 API 테스트(직접 HTTP 엔드포인트 테스트)를 선택합니다.
저장할 테스트 프로필 추가를 선택합니다.
테스트 프로필에서 테스트 실행
테스트 프로필 페이지에서 테스트 실행을 수동으로 트리거할 수 있습니다.
목록에서 테스트 프로파일을 찾습니다.
테스트 시작을 선택합니다.
(선택 사항) 테스트 의도에서 테스트할 구체적인 지침과 대상을 지정합니다. 예를 들어 "체크아웃 흐름이 만료된 쿠폰을 올바르게 처리하는지 확인" 또는 "잘못된 입력으로 사용자 등록 양식을 테스트합니다."
에이전트는 의도를 기반으로 테스트 계획을 생성하고(또는 의도가 제공되지 않은 경우 광범위하게 탐색하고), 테스트를 실행하고, 제안된 변경 사항 아래의 릴리스 관리자 섹션에 결과를 보고합니다.
DevOps Agent 채팅에서 테스트 실행
DevOps Agent 채팅에서 릴리스 테스트를 요청할 수 있습니다. 에이전트에게 테스트 프로필을 나열하거나 실행할 프로필을 지정하도록 요청합니다. 에이전트는 테스트 대상 또는 집중할 영역과 같은 필요한 후속 정보를 요청합니다.
예시:
"내 테스트 프로필 나열"
"테스트 프로필 my-test-profile 실행"
“https://staging.myapp.com 애플리케이션에서 릴리스 테스트를 실행하고 결제 흐름을 확인합니다.”
에이전트는 애플리케이션을 탐색할 때 진행 상황을 보고하고 특정 결과, 스크린샷(UI 테스트용) 및 복제 단계가 포함된 결과를 반환합니다.
IDE에서 테스트 실행
Kiro IDE 또는 Claude Code에서 코딩 에이전트는 릴리스 테스트를 호출할 수 있습니다.
먼저 Kiro 전원 또는 Claude 코드 플러그인을 설치합니다.
검증할 내용을 설명하는 테스트 요구 사항 또는 의도를 지정합니다(예: 인증 리팩터링 후 로그인 흐름이 작동하는지 확인).
코딩 에이전트가 테스트 의도와 대상 테스트 프로파일을 릴리스 테스트 에이전트에 전달합니다.
릴리스 테스트 에이전트가 테스트를 생성 및 실행한 다음 조사 결과를 다시 보고합니다.
문제가 발견되면 코딩 에이전트는 문제를 해결할 것을 제안합니다.
CI/CD 파이프라인의 릴리스 테스트
GitHub Actions
aws-actions/devops-agent-release-testing@v1 GitHub 작업은 배포 후 릴리스 테스트 에이전트를 트리거하고 커밋 또는 풀 요청에 대해 결과를 GitHub Check Run으로 보고합니다.
사전 조건
에이전트 스페이스에 구성된 테스트 프로필
에이전트 스페이스에 Webhook를 통해 DevOps 에이전트 호출 구성된
1단계: GitHub 리포지토리 보안 암호 구성
GitHub 리포지토리에서 설정 → 보안 암호 및 변수 → 작업 → 리포지토리 보안 암호로 이동하여 다음을 추가합니다.
| Secret | 설명 |
|---|---|
| DEVOPS_AGENT_WEBHOOK_URL | 에이전트 스페이스의 웹후크 URL |
| DEVOPS_AGENT_WEBHOOK_SECRET | 에이전트 스페이스의 웹후크 서명 보안 암호 |
웹후크 엔드포인트 생성에 대한 자세한 내용은 섹션을 참조하세요Webhook를 통해 DevOps 에이전트 호출.
2단계: 워크플로에 작업 추가
릴리스 테스트 단계를 워크플로에 추가합니다(예: .github/workflows/release-tests.yml).
name: Release Tests on: push: branches: [main] pull_request: branches: [main] permissions: checks: write contents: read pull-requests: read jobs: test: runs-on: ubuntu-latest steps: - name: Trigger Release Tests uses: aws-actions/devops-agent-qa@v1 with: webhook-url: ${{ secrets.DEVOPS_AGENT_WEBHOOK_URL }} webhook-secret: ${{ secrets.DEVOPS_AGENT_WEBHOOK_SECRET }} test-profile-id: <YOUR_TEST_PROFILE_ID> test-requirement: <WHAT_TO_TEST> # optional env: GITHUB_TOKEN: ${{ github.token }}
<YOUR_TEST_PROFILE_ID>를 에이전트 스페이스의 테스트 프로필 ID로 바꿉니다(로 시작ki-). test-requirement 입력은 선택 사항입니다. 이를 사용하여 에이전트를 특정 영역에 집중시킵니다(예: 인증 리팩터링 후 로그인 흐름 확인).
작업 입력
| Input | 필수 | 설명 |
|---|---|---|
| webhook-url | 예 | 에이전트 스페이스의 웹후크 URL |
| webhook-secret | 예 | HMAC-SHA256 인증을 위한 웹후크 서명 보안 암호 |
| test-profile-id | 예 | 트리거할 테스트 프로필 ID(로 시작ki-) |
| 테스트 요구 사항 | 아니요 | 테스트를 위한 선택적 중점 영역 |
필수 워크플로 권한
| 권한 | 이유 |
|---|---|
| 콘텐츠: 읽기 | 프라이빗 리포지토리의 작업/체크아웃에 필요 |
| pull-requests: 읽기 | 병합 커밋 SHA에서 PR 번호 확인 |
작동 방식
워크플로가 트리거됩니다(예: 스테이징 환경에 배포한 후).
작업은 커밋 또는 PR에 검사 실행(
in_progress)을 생성하며, 이는 보류 중인 검사로 표시됩니다.작업은 서명하여 에이전트 스페이스로 웹후크를 전송합니다.
릴리스 테스트 에이전트는 작업을 선택하고 애플리케이션에 대해 테스트를 실행합니다.
결과는 GitHub Check Run(자세한 요약과 함께 통과/실패)으로 다시 보고됩니다.
에이전트 스페이스에서 연결된 DevOps 에이전트 웹 앱에서 전체 실행 세부 정보(타임라인, 테스트 사례, UI 테스트 스크린샷)를 볼 수 있습니다.
테스트 결과 검토
테스트 결과는 DevOps Agent 웹 앱의 변경 사항 섹션에 제안된 변경 사항 아래에 표시됩니다. 각 테스트 실행은 다음을 보여줍니다.
상태 - 완료됨, 실패 또는 진행 중
범주 - 릴리스 테스트
기간 - 테스트 실행에 걸린 시간
소스 - 수동으로 트리거되었는지, 채팅에서 트리거되었는지 또는 CI/CD 파이프라인에서 트리거되었는지 여부
특정 테스트 실패, 스크린샷(UI 테스트용), 복제 단계 및 권장 수정 사항을 포함한 자세한 결과를 보려면 테스트 실행을 선택합니다.