Cos'è il test di sistema? Tipi con esempio
Cos'è il test di sistema?
Test di sistema è un livello di test che convalida il prodotto software completo e completamente integrato. Lo scopo di un test di sistema è valutare le specifiche del sistema end-to-end. Di solito, il software è solo un elemento di un sistema più ampio basato su computer. Infine, il software è interfacciato con altri sistemi software/hardware. Il test di sistema è definito come una serie di test diversi il cui unico scopo è esercitare l'intero sistema basato su computer.
Spiegazione video del test del sistema
Clicchi qui se il video non è accessibile
Il test di sistema è Blackbox
Due categorie di test del software
- Nero Box Testing
- Bianco Box Testing
Il test del sistema rientra nel test della scatola nera categoria di Test del software.
Test della scatola bianca è il test del funzionamento interno o del codice di un'applicazione software. In contrasto, scatola nera o System Testing è l'opposto. Il test del sistema coinvolge il funzionamento esterno del software dal punto di vista dell'utente.
Cosa verifichi nel test di sistema?
Il test di sistema comporta il test del codice software per quanto segue
- Testare le applicazioni completamente integrate, comprese le periferiche esterne, per verificare come i componenti interagiscono tra loro e con il sistema nel suo insieme. Questo è anche chiamato scenario di test End-to-End.
- Verifica il test approfondito di ogni input nell'applicazione per verificare gli output desiderati.
- Test dell'esperienza dell'utente con l'applicazione.
Questa è una descrizione molto semplice di ciò che è coinvolto nel test del sistema. È necessario creare casi di test e suite di test dettagliati che testino ogni aspetto dell'applicazione visto dall'esterno senza guardare il codice sorgente effettivo. Per saperne di più su un approccio globale a questo processo, prendi in considerazione la lettura di test end-to-end.
Gerarchia di test del software
Come per quasi tutti i processi di ingegneria del software, il test del software ha un ordine prestabilito in cui le cose dovrebbero essere eseguite. Di seguito è riportato un elenco di categorie di test del software disposte in ordine cronologico. Questi sono i passaggi intrapresi per testare completamente il nuovo software in preparazione alla sua commercializzazione:
- Test unitari eseguiti su ciascun modulo o blocco di codice durante lo sviluppo. Test unitari viene normalmente eseguito dal programmatore che scrive il codice.
- Test di integrazione eseguiti prima, durante e dopo l'integrazione di un nuovo modulo nel pacchetto software principale. Ciò comporta il test di ogni singolo modulo di codice. Un software può contenere diversi moduli che spesso vengono creati da diversi programmatori. È fondamentale testare l'effetto di ciascun modulo sull'intero modello di programma.
- Test di sistema eseguiti da un agente di test professionista sul prodotto software completato prima che venga introdotto sul mercato.
- Test di accettazione: beta testing del prodotto effettuato dagli utenti finali effettivi.
Tipi di test del sistema
Esistono più di 50 tipi di test di sistema. Per un elenco esaustivo dei tipi di test del software clicca qui. Di seguito abbiamo elencato i tipi di test di sistema che una grande azienda di sviluppo software utilizzerebbe normalmente
- Test di usabilità - si concentra principalmente sulla facilità d'uso dell'applicazione da parte dell'utente, sulla flessibilità nella gestione dei controlli e sulla capacità del sistema di raggiungere i propri obiettivi
- Caricare i test - è necessario sapere che una soluzione software funzionerà con carichi reali.
- Test di regressione - implica eseguire test per assicurarsi che nessuna delle modifiche apportate nel corso del processo di sviluppo abbia causato nuovi bug. Garantisce inoltre che nel tempo non vengano visualizzati vecchi bug derivanti dall'aggiunta di nuovi moduli software.
- Test di recupero - viene fatto per dimostrare che una soluzione software è affidabile, affidabile e può riprendersi con successo da possibili arresti anomali.
- Test di migrazione – viene fatto per garantire che il software possa essere spostato dalle infrastrutture di sistema precedenti alle infrastrutture di sistema attuali senza problemi.
- Test Funzionali – Conosciuto anche come test di completezza funzionale, Test di funzionalità implica provare a pensare a eventuali funzioni mancanti. I tester potrebbero stilare un elenco di funzionalità aggiuntive che un prodotto potrebbe avere per migliorarlo durante i test funzionali.
- Test hardware/software – IBM si riferisce al test hardware/software come “Test HW/SW”. Questo è il momento in cui il tester concentra la sua attenzione sulle interazioni tra hardware e software durante il test del sistema.
Quali tipi di test di sistema dovrebbero utilizzare i tester?
Esistono oltre 50 diversi tipi di test di sistema. I tipi specifici utilizzati da un tester dipendono da diverse variabili. Tali variabili includono:
- Per chi lavora il tester: questo è un fattore importante nel determinare i tipi di test di sistema che un tester utilizzerà. I metodi utilizzati dalle grandi aziende sono diversi da quelli utilizzati dalle medie e piccole imprese.
- Tempo a disposizione per i test – Alla fine, potrebbero essere utilizzati tutti i 50 tipi di test. Il tempo è spesso ciò che ci limita a utilizzare solo le tipologie più rilevanti per il progetto software.
- Risorse a disposizione del tester – Ovviamente alcuni tester non avranno le risorse necessarie per condurre un tipo di test. Ad esempio, se sei un tester che lavora per una grande azienda di sviluppo software, è probabile che tu abbia costi elevati test automatizzati software non disponibile per altri.
- Formazione di Software Tester: esiste una determinata curva di apprendimento per ogni tipo di test del software disponibile. Per utilizzare parte del software coinvolto, un tester deve imparare come usarlo.
- Testare il budget: il denaro diventa un fattore non solo per le aziende più piccole e i singoli sviluppatori di software, ma anche per le grandi aziende.