

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pengujian rilis
<a name="release-management-release-testing"></a>

Pengujian rilis menghasilkan dan mengeksekusi rencana pengujian untuk memvalidasi perubahan kode di lingkungan yang realistis. Agen pengujian rilis menjalankan UAT eksplorasi dan pengujian regresi — regresi fungsional, validasi perjalanan pengguna, pengujian integrasi, dan eksplorasi kasus tepi — terhadap aplikasi web yang Anda gunakan dan REST API.

## Cara kerja pengujian rilis
<a name="how-release-testing-works"></a>

**penting**  
**Pengujian rilis mengeksekusi permintaan nyata terhadap aplikasi target Anda, termasuk operasi tulis (POST, PUT, DELETE). Agen mengeksplorasi titik akhir, mengirimkan formulir, dan menguji penanganan kesalahan — tindakan ini dapat membuat, memodifikasi, atau menghapus data dalam aplikasi target. Gunakan hanya jika profil risiko Anda dapat menerima tindakan mutasi sebagai bagian dari pengujian eksplorasi. Pastikan aplikasi Anda dapat mentolerir operasi penulisan eksplorasi tanpa konsekuensi yang tidak diinginkan seperti mengirim pemberitahuan pelanggan, memproses pembayaran, atau menghapus catatan secara permanen. Sebaiknya jalankan terhadap penerapan pementasan; aplikasi produksi hanya boleh ditargetkan jika operasi penulisan aplikasi Anda aman untuk pengujian otomatis.

Saat dipicu, agen pengujian rilis:

1. **Menghasilkan rencana pengujian ** — Membuat rencana pengujian berdasarkan perubahan kode atau maksud pengujian yang disediakan oleh pengguna. Saat dipicu dari permintaan tarik atau cabang, rencana menargetkan fungsionalitas yang terpengaruh. Saat dipicu secara manual atau dari obrolan, Anda dapat memberikan maksud pengujian yang menjelaskan apa yang harus divalidasi. Rencana tersebut mencakup kebenaran fungsional, perilaku integrasi, dan skenario yang dihadapi pengguna.

1. **Mengeksekusi pengujian terhadap aplikasi yang sedang berjalan ** — Dengan URL target (aplikasi web atau titik akhir API), agen menjelajahi aplikasi dan mengeksekusi pengujian yang dihasilkan. Untuk aplikasi web, ini termasuk interaksi UI berbasis browser dan inspeksi visual. Untuk API, ini termasuk pengujian titik akhir HTTP langsung, validasi skema, dan verifikasi penanganan kesalahan.

1. **Laporan temuan ** — Hasil dikembalikan dengan kegagalan tertentu, fungsionalitas yang terpengaruh, langkah reproduksi, dan perbaikan yang disarankan.

Pengujian rilis mendukung aplikasi web (React, Angular, Vue, server-render) dan REST API.

## Jenis tes yang didukung
<a name="supported-test-types"></a>
+ **Pengujian UI ** - Browser-based pengujian dengan interaksi visual untuk aplikasi web
+ **Pengujian API ** - Pengujian titik akhir HTTP langsung untuk REST API

## Mendefinisikan profil pengujian
<a name="defining-test-profiles"></a>

Profil pengujian menentukan aplikasi web dan API yang ingin Anda uji dan konfigurasi yang diperlukan. Setiap profil pengujian menentukan aplikasi target dan jenis pengujiannya.

Untuk membuat profil pengujian:

1. Di aplikasi web DevOps Agen, navigasikan ke Rel ** ease Manager ** di navigasi sebelah kiri.

1. Pilih ** tombol ** Uji profil.

1. Pilih ** Tambahkan profil pengujian**.

1. Isi formulir dengan detail berikut:
   + **Nama ** — Nama deskriptif untuk profil pengujian (misalnya, "MyApp Staging”)
   + **URL target ** — URL dari pementasan atau pengujian penerapan aplikasi Anda. Agen mengirimkan lalu lintas HTTP nyata termasuk operasi tulis (POST, PUT, DELETE). Jangan gunakan URL produksi kecuali Anda memahami dan menerima risiko modifikasi data.
   + **Jenis pengujian ** — Pilih pengujian ** UI ** (pengujian berbasis browser dengan interaksi visual) atau pengujian ** API ** (pengujian titik akhir HTTP langsung)

1. Pilih ** Tambahkan profil pengujian ** untuk disimpan.

**Catatan: ** Aplikasi harus dapat diakses melalui internet publik. Titik akhir jaringan pribadi saat ini tidak didukung.

## Menjalankan pengujian dari profil pengujian
<a name="running-tests-from-a-test-profile"></a>

Dari ** halaman ** Profil uji, Anda dapat memicu uji coba secara manual:

1. Temukan profil pengujian Anda dalam daftar.

1. Pilih ** Mulai pengujian**.

1. (Opsional) Tentukan instruksi spesifik dan apa yang akan diuji di ** Test intent**. Misalnya, “Verifikasi alur checkout menangani kupon kedaluwarsa dengan benar” atau “Uji formulir pendaftaran pengguna dengan input yang tidak valid.”

Agen akan membuat rencana pengujian berdasarkan maksud Anda (atau menjelajahi secara luas jika tidak ada niat yang diberikan), menjalankan pengujian, dan melaporkan hasil di ** bagian Rel ** ease Manager di bawah perubahan yang diusulkan.

## Menjalankan tes dari obro DevOps lan Agen
<a name="running-tests-from-devops-agent-chat"></a>

Dari DevOps obrolan Agen, Anda dapat meminta pengujian rilis. Minta agen untuk mencantumkan profil pengujian Anda atau tentukan yang mana yang akan dijalankan. Agen akan menanyakan informasi tindak lanjut yang diperlukan, seperti apa yang harus diuji atau area mana yang harus difokuskan.

Contoh:
+ “Daftar profil tes saya”
+ “Jalankan profil uji my-test-profile”
+ “Jalankan pengujian rilis pada aplikasi saya di https://staging.myapp.com dan verifikasi aliran pembayaran”

Agen melaporkan kemajuan saat mengeksplorasi aplikasi, dan mengembalikan hasil dengan temuan spesifik, tangkapan layar (untuk pengujian UI), dan langkah-langkah reproduksi.

## Menjalankan pengujian dari IDE Anda
<a name="running-tests-from-your-ide"></a>

Dari Kiro IDE atau Claude Code, agen pengkodean dapat menjalankan pengujian rilis:

Pertama, instal plugin [[ Kiro power ]() atau ]() Claude Code.
+ Tentukan persyaratan pengujian atau maksud yang menjelaskan apa yang akan divalidasi (misalnya, “verifikasi alur login berfungsi setelah refactor autentikasi”)
+ Agen pengkodean meneruskan maksud pengujian dan profil pengujian target ke agen pengujian rilis
+ Agen pengujian rilis menghasilkan dan mengeksekusi tes, kemudian melaporkan temuan kembali
+ Jika masalah ditemukan, agen pengkodean menawarkan untuk memperbaikinya di tempat

**Catatan: ** Pengujian terhadap permintaan tarik langsung dari IDE saat ini tidak didukung. Gunakan profil pengujian dengan URL aplikasi yang digunakan dan berikan persyaratan pengujian untuk memfokuskan pengujian.

## Pengujian rilis di saluran CI/CD pipa
<a name="release-testing-in-cicd-pipelines"></a>

### GitHub Tindakan
<a name="github-actions"></a>

T `aws-actions/devops-agent-release-testing@v1` GitHub indakan memicu agen pengujian rilis setelah penerapan dan melaporkan hasilnya sebagai Ch GitHub eck Run pada permintaan komit atau tarik Anda.

#### Prasyarat
<a name="prerequisites"></a>
+ Profil [ pengujian yang ](#defining-test-profiles) dikonfigurasi di Ruang Agen Anda
+ A [Memanggil A DevOps gen melalui Webhook](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md) dikonfigurasi di Ruang Agen Anda

#### Langkah 1: Konfigurasikan rahasia GitHub repositori
<a name="step-1-configure-github-repository-secrets"></a>

Di GitHub repositori Anda, buka Peng ** aturan → Rahasia dan variabel → Tindakan → Rahasia repositori ** dan tambahkan:


| Rahasia | Deskripsi | 
| --- | --- | 
| DEVOPS\_AGENT\_WEBHOOK\_URL | URL webhook dari Ruang Agen Anda | 
| DEVOPS\_AGENT\_WEBHOOK\_SECRET | Rahasia penandatanganan webhook dari Ruang Agen Anda | 

Untuk informasi tentang membuat titik akhir webhook, lihat[Memanggil A DevOps gen melalui Webhook](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md).

#### Langkah 2: Tambahkan tindakan ke alur kerja Anda
<a name="step-2-add-the-action-to-your-workflow"></a>

Tambahkan langkah pengujian rilis ke alur kerja Anda (misalnya,`.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 }}
```

Ganti `<YOUR_TEST_PROFILE_ID>` dengan ID profil pengujian dari Ruang Agen Anda (dimulai dengan`ki-`). Mas `test-requirement` ukan bersifat opsional — gunakan untuk memfokuskan agen pada area tertentu (misalnya, “verifikasi alur login setelah refactor autentikasi”).

#### Masukan tindakan
<a name="action-inputs"></a>


| Input | Diperlukan | Deskripsi | 
| --- | --- | --- | 
| webhook-url | Ya | URL webhook dari Ruang Agen Anda | 
| Webhook-rahasia | Ya | Rahasia penandatanganan webhook untuk otentikasi HMAC-SHA256  | 
| test-profil-id | Ya | ID profil pengujian yang akan dipicu (dimulai denganki-) | 
| persyaratan-tes | Tidak | Area fokus opsional untuk pengujian | 

#### Izin alur kerja yang diperlukan
<a name="required-workflow-permissions"></a>


| Izin | Alasan | 
| --- | --- | 
| isi: baca | Diperlukan untuk actions/checkout repo pribadi | 
| tarik-permintaan: baca | Selesaikan nomor PR dari gabungan komit SHA | 

#### Cara kerjanya
<a name="how-it-works"></a>

1. Alur kerja Anda memicu (misalnya, setelah penerapan ke lingkungan pementasan).

1. Tindakan membuat Check Run (`in_progress`) pada commit atau PR, yang muncul sebagai pemeriksaan tertunda.

1. Tindakan menandatangani dan mengirim webhook ke Ruang Agen Anda.

1. Agen pengujian rilis mengambil tugas dan menjalankan pengujian terhadap aplikasi Anda.

1. Hasil dilaporkan kembali sebagai Ch GitHub eck Run (pass/fail dengan ringkasan terperinci).

Anda dapat melihat detail eksekusi lengkap (timeline, kasus uji, tangkapan layar untuk pengujian UI) di aplikasi web DevOps Agen yang ditautkan dari Ruang Agen Anda.

## Meninjau hasil tes
<a name="reviewing-test-results"></a>

Hasil pengujian muncul di ** bagian R ** ilis aplikasi web DevOps Agen di bawah perubahan yang diusulkan. Setiap uji coba menunjukkan:
+ **Status ** - Selesai, Gagal, atau Sedang Berjalan
+ **Kategori ** - Pengujian Rilis
+ **Durasi ** — Berapa lama uji coba berlangsung
+ **Sumber ** — Apakah itu dipicu secara manual, dari obrolan, atau dari CI/CD saluran

Pilih uji coba untuk melihat hasil terperinci termasuk kegagalan pengujian tertentu, tangkapan layar (untuk pengujian UI), langkah reproduksi, dan perbaikan yang disarankan.