Non tutti i tipi di test del software sono uguali. Alcuni scenari di test richiedono addirittura prospettive diverse per valutare se il software ha raggiunto il suo scopo. È il caso del test di accettazione dell’utente, che differisce abbastanza da un approccio tecnico, come il test di integrazione del sistema.
Non ci sono standard industriali per il test di accettazione dell’utente (UAT) o il test di integrazione del sistema (SIT). Con l’UAT, le persone che usano il sistema o stabiliscono i requisiti del prodotto conducono i test. UAT può variare molto in base all’esperienza della persona con l’applicazione e l’esperienza con i test stessi.
Con SIT, un team QA valuta se le applicazioni – e i loro molti componenti – funzionano come previsto prima che vada al cliente. I test isolati, come i test unitari, spesso non riescono a catturare i bug che il SIT scopre.
La differenza principale tra SIT e UAT si riduce ai loro obiettivi di test molto diversi e all’esperienza dei tester. Il tempo è un fattore in entrambi gli scenari UAT e SIT. I tester devono sapere qual è la differenza tra SIT e UAT, cosa porta ogni valutazione alla qualità del software e chi verifica ogni test. Continuate a leggere per saperne di più su questi processi di test.
Che cos’è l’UAT?
Con il test di accettazione dell’utente, l’organizzazione di sviluppo dà la build o il rilascio al consumatore target del sistema, in ritardo nel ciclo di vita di sviluppo del software (SDLC). Gli utenti finali o il team di sviluppo del prodotto di quell’organizzazione eseguono le attività previste per confermare o accettare il sistema come fattibile. La fase UAT è tipicamente uno dei passi finali in un progetto di sviluppo software complessivo.
Alcuni tipi di UAT includono i seguenti:
- Alpha e beta testing. Con l’alpha testing, gli utenti o i gruppi di utenti testano il software all’inizio dell’SDLC per identificare i bug durante lo sviluppo. Le organizzazioni rilasciano il prodotto nell’ambiente del cliente nel beta testing, che raccoglie più feedback e migliora la qualità, ma viene dopo che il team del software ha fatto più lavoro in seguito ai test alfa.
- Black box testing. L’utente non vede il codice interno o i componenti dell’applicazione, da cui deriva il termine scatola nera. Gli utenti devono valutare quanto bene il prodotto soddisfi i requisiti basandosi solo sulla loro interazione. Il test a scatola nera è anche un tipo di test funzionale.
- Test di accettazione del contratto. Questo tipo di UAT si verifica quando un contratto tra il venditore e l’utente definisce criteri e specifiche per un prodotto. Con il test di accettazione del contratto, l’utente verifica che il software soddisfi i criteri concordati.
- Test di accettazione operativa. L’organizzazione cliente determina la sua disponibilità ad usare il software, misurando criteri come la formazione dei dipendenti, la manutenzione del software e come gestirà il fallimento.
- Test di accettazione del regolamento. Chiamato anche test di accettazione della conformità, questo processo verifica che il software soddisfi le esigenze normative o di conformità degli utenti.
Uno svantaggio dell’UAT è che lascia agli utenti poco tempo per testare prima del lancio del prodotto. Se gli utenti trovano dei difetti, potrebbero sentirsi sotto pressione per accettare il software così com’è piuttosto che ritardare un progetto. In alcuni casi, i clienti aspettano il software per mesi e sono ansiosi di riceverlo e iniziare a lavorarci per soddisfare i bisogni del business. Queste dinamiche spingono gli utenti ad accettare il software sotto test, anche se i difetti impediscono o inibiscono la funzionalità.
Un altro svantaggio dell’UAT è che gli utenti spesso non sanno come testare correttamente. Gli ingegneri del QA imparano tecniche che li aiutano a esaminare il software. Gli utenti spesso arrivano alla tastiera senza alcuna conoscenza di come testare il software — anche se ci sono dei requisiti. Questi utenti sono inclini ad eseguire test di percorso felice — non casi di test più coinvolti o condizioni di test interessanti — a causa dell’inesperienza o della mancanza di tempo per eseguire efficacemente diversi scenari.
Gli utenti dovrebbero cercare di capire le dinamiche specifiche del progetto e determinare cosa è adattabile e logico richiedere agli sviluppatori. Se non credete che gli utenti possano gestire efficacemente l’UAT, incaricate un aiuto esterno per questo compito.
Cos’è il SIT?
Il test di integrazione del sistema, chiamato anche test di integrazione, valuta che tutti i componenti software — hardware e software — funzionino come previsto in un sistema completo. I team di QA del software conducono il SIT, non gli utenti.
I tester che valutano la funzionalità come viene consegnata sono solitamente preparati a controllare anche la funzionalità dell’applicazione come un’intera soluzione integrata. Il SIT è spesso un processo di test più tecnico dell’UAT. I tester progettano ed eseguono il SIT, poiché hanno acquisito familiarità con i tipi di difetti comuni nell’applicazione durante l’SDLC.
La fase SIT precede l’UAT. Poiché la competenza tecnica tra utenti e tester varia significativamente, è probabile che i due gruppi demografici trovino difetti molto diversi tra UAT e SIT. Il SIT spesso scopre bug che i test unitari non hanno catturato – difetti che si basano su un flusso di lavoro o un’interazione tra due componenti dell’applicazione, come un ordine sequenziale di operazioni.
Una piccola sovrapposizione tra SIT e UAT potrebbe essere desiderabile, come un secondo controllo della funzionalità dell’app. Tuttavia, il fatto che sia il SIT che l’UAT avvengano tardi nel processo SDLC, vicino al rilascio, è spesso l’unico elemento comune tra le due forme di test.