<?xml version="1.0" encoding="utf-8"?>
<protocol title="Protocollo di esempio - Verifica funzionale di un sistema informatizzato" code="ESEMPIO-001" version="1.0">
  <test name="Accesso e autenticazione">
    <step code="1.1" name="Apertura applicazione">
      <action>Avviare l'applicazione di esempio.</action>
      <expected>Si apre la schermata di accesso.</expected>
    </step>
    <step code="1.2" name="Accesso con credenziali valide">
      <action>Inserire nome utente e password validi e confermare.</action>
      <expected>L'accesso è consentito e compare il nome dell'utente.</expected>
    </step>
    <step code="1.3" name="Accesso con password errata">
      <action>Inserire una password errata e confermare.</action>
      <expected>L'accesso è negato e compare un messaggio di errore.</expected>
    </step>
    <step code="1.4" name="Blocco dopo tentativi falliti">
      <action>Ripetere tre volte l'accesso con password errata.</action>
      <expected>L'account viene bloccato e l'evento è registrato.</expected>
    </step>
  </test>
  <test name="Gestione dei record">
    <step code="2.1" name="Creazione di un record">
      <action>Creare un nuovo record compilando i campi obbligatori.</action>
      <expected>Il record è salvato con data, ora e utente.</expected>
    </step>
    <step code="2.2" name="Modifica con motivazione">
      <action>Modificare un campo del record e indicare il motivo.</action>
      <expected>La modifica è accettata solo con motivo indicato.</expected>
    </step>
    <step code="2.3" name="Audit trail">
      <action>Aprire la cronologia delle modifiche del record.</action>
      <expected>Sono visibili valore precedente, valore nuovo, utente, data e ora.</expected>
    </step>
    <step code="2.4" name="Record approvato non cancellabile">
      <action>Tentare di eliminare un record già approvato.</action>
      <expected>L'eliminazione non è consentita.</expected>
    </step>
  </test>
  <test name="Report ed esportazione">
    <step code="3.1" name="Generazione del report">
      <action>Generare il report di riepilogo dei record.</action>
      <expected>Il report si apre e riporta i record attesi.</expected>
    </step>
    <step code="3.2" name="Esportazione in PDF">
      <action>Esportare il report in formato PDF.</action>
      <expected>Il file PDF viene creato e si apre correttamente.</expected>
    </step>
    <step code="3.3" name="Coerenza dei contenuti">
      <action>Confrontare il PDF con i dati a video.</action>
      <expected>I dati del PDF coincidono con quelli a video.</expected>
    </step>
  </test>
</protocol>
