Test del software
Il test del software è un metodo per verificare se il prodotto software effettivo soddisfa i requisiti previsti e per garantire che il prodotto software sia privo di difetti. Implica l'esecuzione di componenti software / di sistema utilizzando strumenti manuali o automatizzati per valutare una o più proprietà di interesse. Lo scopo del test del software è identificare errori, lacune o requisiti mancanti rispetto ai requisiti effettivi.
Alcuni preferiscono dire Test del software come White Box e Black Box Testing. In termini semplici, Software Testing significa la verifica dell'applicazione in test (AUT). Questo tutorial introduce il software di test al pubblico e ne giustifica l'importanza.
In questo tutorial imparerai:
- Che cos'è il test del software?
- Perché il test del software è importante?
- Quali sono i vantaggi del test del software?
- Test in ingegneria del software
- Tipi di test del software
- Strategie di test in ingegneria del software
- Test del programma
Perché il test del software è importante?
Il test del software è importante perché se sono presenti bug o errori nel software, è possibile individuarli in anticipo e risolverli prima della consegna del prodotto software. Un prodotto software adeguatamente testato garantisce affidabilità, sicurezza e prestazioni elevate che si traducono ulteriormente in risparmio di tempo, efficacia dei costi e soddisfazione del cliente.
Il test è importante perché i bug del software potrebbero essere costosi o addirittura pericolosi. I bug del software possono potenzialmente causare perdite monetarie e umane e la storia è piena di tali esempi.
- Nell'aprile 2015, il terminal Bloomberg di Londra si è bloccato a causa di un problema tecnico del software che ha colpito più di 300.000 trader sui mercati finanziari. Ha costretto il governo a posticipare la vendita del debito di 3 miliardi di sterline.
- Le auto Nissan hanno richiamato oltre 1 milione di auto dal mercato a causa di un guasto del software nei rilevatori sensoriali degli airbag. Sono stati segnalati due incidenti dovuti a questo errore del software.
- Starbucks è stata costretta a chiudere circa il 60% dei negozi negli Stati Uniti e in Canada a causa di un guasto del software nel suo sistema POS. A un certo punto, il negozio ha servito caffè gratuitamente poiché non erano in grado di elaborare la transazione.
- Alcuni rivenditori di terze parti di Amazon hanno visto il prezzo del loro prodotto ridotto a 1 centesimo a causa di un problema tecnico del software. Sono stati lasciati con pesanti perdite.
- Vulnerabilità in Windows 10. Questo bug consente agli utenti di sfuggire alle sandbox di sicurezza attraverso un difetto nel sistema win32k.
- Nel 2015 l'aereo da caccia F-35 è caduto vittima di un bug del software, che gli ha impedito di rilevare correttamente i bersagli.
- China Airlines Airbus A300 si è schiantato a causa di un bug del software il 26 aprile 1994, uccidendo 264 innocenti dal vivo
- Nel 1985, la macchina canadese per radioterapia Therac-25 non funzionava a causa di un bug del software e forniva dosi letali di radiazioni ai pazienti, lasciando 3 persone morte e ferendone in modo critico altre 3.
- Nell'aprile del 1999, un bug del software ha causato il fallimento del lancio di un satellite militare da 1,2 miliardi di dollari, l'incidente più costoso della storia
- Nel maggio 1996, un bug del software ha causato l'accredito di 920 milioni di dollari sui conti bancari di 823 clienti di una delle principali banche statunitensi.
Fare clic qui se il video non è accessibile
Quali sono i vantaggi del test del software?
Ecco i vantaggi dell'utilizzo del test del software:
- Conveniente: è uno degli importanti vantaggi del test del software. Testare in tempo qualsiasi progetto IT ti aiuta a risparmiare denaro a lungo termine. Nel caso in cui i bug rilevati nella fase precedente del test del software, costa meno da risolvere.
- Sicurezza: è il vantaggio più vulnerabile e sensibile del test del software. Le persone cercano prodotti affidabili. Aiuta a rimuovere prima i rischi e i problemi.
- Qualità del prodotto: è un requisito essenziale di qualsiasi prodotto software. I test garantiscono la consegna di un prodotto di qualità ai clienti.
- Soddisfazione del cliente: l'obiettivo principale di qualsiasi prodotto è dare soddisfazione ai propri clienti. I test UI / UX garantiscono la migliore esperienza utente.
Test in ingegneria del software
Secondo ANSI / IEEE 1059, il test in ingegneria del software è un processo di valutazione di un prodotto software per scoprire se il prodotto software corrente soddisfa o meno le condizioni richieste. Il processo di test prevede la valutazione delle caratteristiche del prodotto software per i requisiti in termini di requisiti mancanti, bug o errori, sicurezza, affidabilità e prestazioni.
Tipi di test del software
Tipicamente il test è classificato in tre categorie.
- Test funzionali
- Test non funzionali o test delle prestazioni
- Manutenzione (regressione e manutenzione)
Categoria di prova | Tipi di test |
---|---|
Test funzionali |
|
Test non funzionali |
|
Manutenzione |
|
Questo non è l'elenco completo in quanto esistono più di 150 tipi di tipi di test e continuano ad aggiungersi. Inoltre, tieni presente che non tutti i tipi di test sono applicabili a tutti i progetti, ma dipendono dalla natura e dall'ambito del progetto.
Strategie di test in ingegneria del software
Ecco le strategie importanti nell'ingegneria del software:
Test unitario: questo approccio di test del software è seguito dal programmatore per testare l'unità del programma. Aiuta gli sviluppatori a sapere se la singola unità del codice funziona correttamente o meno.
Test di integrazione: si concentra sulla costruzione e sulla progettazione del software. È necessario verificare che le unità integrate funzionino senza errori oppure no.
Test del sistema: in questo metodo, il software viene compilato nel suo insieme e quindi testato nel suo insieme. Questa strategia di test controlla la funzionalità, la sicurezza, la portabilità, tra le altre.
Test del programma
Il test del programma nel test del software è un metodo per eseguire un programma software effettivo con l'obiettivo di testare il comportamento del programma e trovare errori. Il programma software viene eseguito con i dati del test case per analizzare il comportamento del programma o la risposta ai dati del test. Un buon test del programma è quello che ha alte probabilità di trovare bug.
Riepilogo delle basi del test del software:
- Il test del software è definito come un'attività per verificare se i risultati effettivi corrispondono ai risultati attesi e per garantire che il sistema software sia privo di difetti.
- Il test è importante perché i bug del software potrebbero essere costosi o addirittura pericolosi.
- Le ragioni importanti per utilizzare il test del software sono: convenienza, sicurezza, qualità del prodotto e soddisfazione del cliente.
- In genere, i test sono classificati in tre categorie: test funzionali, test non funzionali o test delle prestazioni e manutenzione.
- Le strategie importanti nell'ingegneria del software sono: test di unità, test di integrazione, test di convalida e test di sistema.