

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Test di rilascio
<a name="release-management-release-testing"></a>

I test di rilascio generano ed eseguono piani di test per convalidare le modifiche al codice in ambienti realistici. L'agente di release testing esegue test UAT e regressione esplorativi (regressione funzionale, convalida del percorso utente, test di integrazione ed esplorazione dei casi limite) rispetto alle applicazioni Web e alle API REST distribuite.

## Come funzionano i test di rilascio
<a name="how-release-testing-works"></a>

**Importante**  
**Il test di rilascio esegue richieste reali sull'applicazione di destinazione, incluse le operazioni di scrittura (POST, PUT, DELETE). L'agente esplora gli endpoint, invia moduli e verifica la gestione degli errori: queste azioni possono creare, modificare o eliminare dati nell'applicazione di destinazione. Utilizzatele solo laddove il vostro profilo di rischio sia in grado di accettare azioni mutanti nell'ambito dei test esplorativi. Assicurati che le tue applicazioni siano in grado di tollerare operazioni di scrittura esplorative senza conseguenze indesiderate, come l'invio di notifiche ai clienti, l'elaborazione dei pagamenti o l'eliminazione definitiva dei record. Consigliamo di utilizzare implementazioni temporanee; le applicazioni di produzione devono essere prese di mira solo quando le operazioni di scrittura dell'applicazione sono sicure per i test automatici.

Quando viene attivato, l'agente di test di rilascio:

1. **Genera un piano di test**: crea un piano di test basato sulle modifiche al codice o sull'intento di test fornito dall'utente. Quando viene attivato da una pull request o da una branch, il piano mira alle funzionalità interessate. Se attivato manualmente o dalla chat, puoi fornire un intento di test che descriva cosa convalidare. Il piano copre la correttezza funzionale, il comportamento di integrazione e gli scenari rivolti all'utente.

1. **Esegue test su un'applicazione in esecuzione**: dato un URL di destinazione (applicazione Web o endpoint API), l'agente esplora l'applicazione ed esegue i test generati. Per le applicazioni Web, ciò include l'interazione dell'interfaccia utente basata su browser e l'ispezione visiva. Per le API, ciò include il test diretto degli endpoint HTTP, la convalida dello schema e la verifica della gestione degli errori.

1. **Riporta i risultati**: i risultati vengono restituiti con errori specifici, funzionalità compromesse, fasi di riproduzione e correzioni consigliate.

Il test di rilascio supporta applicazioni web (React, Angular, Vue, renderizzate dal server) e API REST.

## Tipi di test supportati
<a name="supported-test-types"></a>
+ **Test dell'interfaccia utente**: Browser-based test con interazioni visive per applicazioni Web
+ **Test delle API: test** diretti degli endpoint HTTP per le API REST

## Definizione dei profili di test
<a name="defining-test-profiles"></a>

I profili di test definiscono le applicazioni Web e API che desideri testare e le configurazioni necessarie. Ogni profilo di test specifica un'applicazione di destinazione e il relativo tipo di test.

Per creare un profilo di test:

1. Nell'app web DevOps Agent, accedi a **Release Manager** nella barra di navigazione a sinistra.

1. Seleziona il pulsante **Test profiles**.

1. Scegli **Aggiungi profilo di test**.

1. Compila il modulo con i seguenti dettagli:
   + **Nome**: un nome descrittivo per il profilo di test (ad esempio, "MyApp Staging»)
   + **URL di destinazione**: l'URL di una distribuzione temporanea o di test dell'applicazione. L'agente invia traffico HTTP reale, comprese le operazioni di scrittura (POST, PUT, DELETE). Non utilizzate URL di produzione a meno che non comprendiate e accettiate il rischio di modifica dei dati.
   + **Tipo di test**: seleziona il **test dell'interfaccia utente (test** basato su browser con interazioni visive) o il test dell'**API (test** diretto degli endpoint HTTP)

1. Scegli **Aggiungi profilo di test per salvare**.

**Nota:** l'applicazione deve essere accessibile tramite la rete Internet pubblica. Gli endpoint di rete privati non sono attualmente supportati.

## Esecuzione di test da un profilo di test
<a name="running-tests-from-a-test-profile"></a>

Dalla pagina **dei profili di test**, puoi attivare manualmente un'esecuzione di test:

1. Individua il tuo profilo di test nell'elenco.

1. Scegli **Inizia il test**.

1. (Facoltativo) Specificate istruzioni specifiche e cosa testare in **Test intent.** Ad esempio, «Verifica che il flusso di pagamento gestisca correttamente i coupon scaduti» o «Verifica il modulo di registrazione utente con input non validi».

**L'agente genererà un piano di test basato sull'intento dell'utente (o lo esaminerà in modo approfondito se non viene fornito alcun intento), eseguirà i test e riporterà i risultati nella sezione Release Manager sotto le modifiche proposte.**

## Esecuzione dei test dalla chat dell'agente DevOps
<a name="running-tests-from-devops-agent-chat"></a>

Da DevOps Agent chat, puoi richiedere il test di rilascio. Chiedi all'agente di elencare i tuoi profili di test o di specificare quale eseguire. L'agente chiederà tutte le informazioni di follow-up necessarie, ad esempio cosa testare o su quali aree concentrarsi.

Esempi:
+ «Elenca i miei profili di test»
+ «Esegui il profilo di test my-test-profile»
+ «Esegui il test di rilascio sulla mia applicazione all'indirizzo https://staging.myapp.com e verifica il flusso di pagamento»

L'agente segnala i progressi compiuti durante l'esplorazione dell'applicazione e restituisce i risultati con risultati specifici, schermate (per i test dell'interfaccia utente) e fasi di riproduzione.

## Esecuzione di test dal tuo IDE
<a name="running-tests-from-your-ide"></a>

Da Kiro IDE o Claude Code, l'agente di codifica può richiamare i test di rilascio:

[Innanzitutto, installa il plugin [Kiro power o Claude Code]().]()
+ Specificate un requisito o un intento di test che descriva cosa convalidare (ad esempio, «verifica che il flusso di accesso funzioni dopo il refactor di autenticazione»)
+ L'agente di codifica trasmette l'intento di test e un profilo di test di destinazione all'agente di test di rilascio
+ L'agente di release testing genera ed esegue i test, quindi riporta i risultati
+ Se vengono rilevati problemi, l'agente di codifica si offre di risolverli sul posto

**Nota:** i test su una pull request direttamente dall'IDE non sono attualmente supportati. Utilizza un profilo di test con un URL dell'applicazione distribuita e fornisci un requisito di test per focalizzare il test.

## Test di rilascio nelle pipeline CI/CD
<a name="release-testing-in-cicd-pipelines"></a>

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

L'`aws-actions/devops-agent-release-testing@v1` GitHub azione attiva l'agente di release testing dopo la distribuzione e riporta i risultati come GitHub Check Run sulla richiesta di commit o pull.

#### Prerequisiti
<a name="prerequisites"></a>
+ Un [profilo di test](#defining-test-profiles) configurato nel tuo Agent Space
+ A [Richiamo DevOps dell'agente tramite Webhook](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md) configurato nel tuo Agent Space

#### Fase 1: Configurazione dei segreti GitHub del repository
<a name="step-1-configure-github-repository-secrets"></a>

Nel tuo GitHub repository, vai su **Impostazioni → Segreti e variabili → Azioni → Segreti del repository** e aggiungi:


| Segreto | Description | 
| --- | --- | 
| DEVOPS\_AGENT\_WEBHOOK\_URL | L'URL del webhook dal tuo Agent Space | 
| DEVOPS\_AGENT\_WEBHOOK\_SECRET | Il segreto di firma del webhook dal tuo Agent Space | 

Per informazioni sulla creazione di un endpoint webhook, consulta. [Richiamo DevOps dell'agente tramite Webhook](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md)

#### Passaggio 2: aggiungi l'azione al tuo flusso di lavoro
<a name="step-2-add-the-action-to-your-workflow"></a>

Aggiungi la fase di test di rilascio al tuo flusso di lavoro (ad esempio,`.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 }}
```

Sostituiscilo `<YOUR_TEST_PROFILE_ID>` con l'ID del profilo di test dal tuo Agent Space (inizia con`ki-`). L'`test-requirement`input è facoltativo: utilizzalo per concentrare l'agente su aree specifiche (ad esempio, «verifica il flusso di accesso dopo il refactor di autenticazione»).

#### Input d'azione
<a name="action-inputs"></a>


| Input | Richiesto | Description | 
| --- | --- | --- | 
| webhook-url | Sì | L'URL del webhook dal tuo Agent Space | 
| webhook-secret | Sì | Il segreto della firma del webhook per l'autenticazione HMAC-SHA256  | 
| test-profile-id | Sì | L'ID del profilo di test da attivare (inizia con) ki- | 
| requisito del test | No | Area di interesse opzionale per i test | 

#### Autorizzazioni richieste per il flusso di lavoro
<a name="required-workflow-permissions"></a>


| Autorizzazione | Motivo | 
| --- | --- | 
| contenuti: leggi | Obbligatorio per actions/checkout i repository privati | 
| pull-request: leggi | Risolve il numero PR da merge commit SHA | 

#### Come funziona
<a name="how-it-works"></a>

1. I trigger del flusso di lavoro (ad esempio, dopo la distribuzione in un ambiente di staging).

1. L'azione crea un Check Run (`in_progress`) sul commit o PR, che appare come un controllo in sospeso.

1. L'azione firma e invia un webhook al tuo Agent Space.

1. L'agente di release testing si occupa del compito ed esegue i test sulla vostra applicazione.

1. I risultati vengono riportati sotto forma di GitHub Check Run (pass/fail con un riepilogo dettagliato).

Puoi visualizzare i dettagli completi dell'esecuzione (cronologia, casi di test, schermate per i test dell'interfaccia utente) nell'app web DevOps Agent collegata da Agent Space.

## Revisione dei risultati dei test
<a name="reviewing-test-results"></a>

I risultati dei test vengono visualizzati nella sezione **Modifiche** dell'app Web DevOps Agent, sotto le modifiche proposte. Ogni esecuzione del test mostra:
+ **Stato**: completato, non riuscito o in corso
+ **Categoria**: test di rilascio
+ **Durata**: quanto tempo è durato l'esecuzione del test
+ **Fonte**: indipendentemente dal fatto che sia stato attivato manualmente, dalla chat o da una pipeline CI/CD 

Seleziona un'esecuzione di test per visualizzare i risultati dettagliati, tra cui errori di test specifici, schermate (per i test dell'interfaccia utente), fasi di riproduzione e correzioni consigliate.