

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 pengujian UAT dan regresi eksplorasi — regresi fungsional, validasi perjalanan pengguna, pengujian integrasi, dan eksplorasi kasus tepi — terhadap aplikasi web dan REST API yang Anda gunakan.

## 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 di mana 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 ketika 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. **Menjalankan pengujian terhadap aplikasi yang sedang berjalan** — Mengingat URL target (aplikasi web atau titik akhir API), agen mengeksplorasi aplikasi dan menjalankan 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. **Temuan laporan** — Hasil dikembalikan dengan kegagalan spesifik, fungsionalitas yang terpengaruh, langkah reproduksi, dan perbaikan yang direkomendasikan.

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

## Jenis pengujian 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 tes
<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 **Release 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 Pementasan”)
   + **URL target** — URL 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 menyimpan.

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

## Menjalankan tes 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 harus diuji di **Maksud pengujian**. 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 mengeksplorasi secara luas jika tidak ada maksud yang diberikan), menjalankan pengujian, dan melaporkan hasil di bagian **Manajer Rilis** di bawah perubahan yang diusulkan.

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

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

Contoh:
+ “Daftar profil pengujian saya”
+ “Jalankan profil pengujian profil uji saya”
+ “Jalankan pengujian rilis pada aplikasi saya di https://staging.myapp.com dan verifikasi alur pembayaran”

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

## Menjalankan tes 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 [daya Kiro atau plugin]() Kode [Claude]().
+ Tentukan persyaratan pengujian atau maksud yang menjelaskan apa yang harus divalidasi (misalnya, “verifikasi alur masuk berfungsi setelah refactor autentikasi”)
+ Agen pengkodean meneruskan maksud pengujian dan profil pengujian target ke agen pengujian rilis
+ Agen pengujian rilis menghasilkan dan menjalankan tes, kemudian melaporkan temuan kembali
+ Jika masalah ditemukan, agen pengkodean menawarkan untuk memperbaikinya

**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 CI/CD jaringan pipa
<a name="release-testing-in-cicd-pipelines"></a>

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

`aws-actions/devops-agent-release-testing@v1` GitHub Tindakan memicu agen pengujian rilis setelah penerapan dan melaporkan hasil sebagai GitHub Check Run pada permintaan commit atau pull Anda.

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

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

Di GitHub repositori Anda, buka **Pengaturan → 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 DevOps Agen 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-`). `test-requirement`Input bersifat opsional — gunakan untuk memfokuskan agen pada area tertentu (misalnya, “verifikasi alur masuk setelah refactor auth”).

#### 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 HMAC-SHA256 otentikasi | 
| tes-profil-id | Ya | ID profil pengujian yang akan dipicu (dimulai denganki-) | 
| persyaratan uji | 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 | 
| permintaan tarik: baca | Selesaikan nomor PR dari gabungan komit SHA | 

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

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

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

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

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

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

Anda dapat melihat detail eksekusi lengkap (timeline, kasus pengujian, 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 **Perubahan** pada aplikasi web DevOps Agen di bawah perubahan yang diusulkan. Setiap uji coba menunjukkan:
+ **Status** - Selesai, Gagal, atau Sedang Berlangsung
+ **Kategori** - Pengujian Rilis
+ **Durasi** — Berapa lama uji coba berlangsung
+ **Sumber** — Apakah itu dipicu secara manual, dari obrolan, atau dari CI/CD pipeline

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