Test negativo
Il test negativo è un tipo di test del software utilizzato per verificare la presenza di dati e condizioni di input imprevisti nell'applicazione software. I dati o le condizioni impreviste possono essere qualsiasi cosa, da un tipo di dati errato a un forte attacco di hacking. Lo scopo del test negativo è impedire il crash dell'applicazione software a causa di input negativi e migliorare la qualità e la stabilità.
Facendo solo test positivi possiamo solo assicurarci che il nostro sistema funzioni in condizioni normali. Dobbiamo assicurarci che il nostro sistema possa gestire condizioni impreviste per garantire un sistema privo di guasti al 100%.
In questo tutorial imparerai-
- Cos'è il test negativo?
- Esempio di test negativo
- Perché i test negativi?
- Come eseguire il test negativo
- Vantaggi del test negativo
- Svantaggi del test negativo
Esempio di test negativo
Considera il caso di un ascensore che è un esempio comunemente considerato di test negativo.
Conosciamo tutti la funzionalità di un ascensore. Questi saranno considerati come i requisiti di un ascensore come premere il numero del piano per far arrivare l'ascensore a quel particolare piano.
La porta si apre automaticamente quando l'ascensore raggiunge il piano specificato e così via.
Consideriamo ora alcuni scenari negativi per il sollevamento. Alcuni di loro sono,
Test negativo | Test positivo |
---|---|
|
|
|
|
|
|
Tutti questi casi verranno sottoposti a test negativi. L'importanza di questo è che non possiamo assicurarci che tutto quanto sopra non accada, quindi abbiamo bisogno che siano contenuti.
Si consideri il caso in cui viene verificata la condizione di sovrappeso e durante l'implementazione, l'ascensore funziona in modo anormale in presenza di una condizione di sovrappeso. Ciò avrà un potenziale impatto sull'affidabilità del sistema e può anche causare pericolo di vita. Questo spiega cos'è il test negativo e la sua importanza.
Lo stesso caso si applica anche al software. Per i test negativi, abbiamo deviato da una normale procedura operativa. Facciamo alcuni esempi.
Considera un modulo di registrazione, ad esempio.
Test negativo | Test positivo |
---|---|
|
|
|
|
|
|
|
|
Come abbiamo detto prima, dobbiamo assicurarci che in tutti questi casi negativi il nostro sistema funzioni correttamente. Considera il caso in cui qualcuno tenta di inserire un carattere nel campo del numero e il sistema non può elaborare i dati imprevisti poiché si aspetta un numero e, infine, il sistema si arresta in modo anomalo. O cosa succede se qualcuno cerca di eseguire un'iniezione SQL e cancellare tutti i nostri dati dal database. Non possiamo sopportare tali potenziali perdite. Quindi i test negativi sono importanti.
Perché i test negativi?
Poiché il test è un'attività che richiede tempo e denaro, decidere "cosa", "come" e "quanto" testare è davvero importante. Dobbiamo scegliere saggiamente se dobbiamo eseguire test negativi nel nostro sistema o meno. Quindi diamo un'occhiata all'importanza dei test negativi.
Prospettiva dell'organizzazione
È responsabilità dell'organizzazione fornire un prodotto di buona qualità al proprio cliente. Per ottenere ciò, è necessario eseguire test negativi.
Come parte della conferma contro un errore, un'organizzazione deve eseguire test negativi.
Forse non possiamo costruire un sistema privo di errori al 100%, ma dobbiamo assicurarci di aver fatto tutto il possibile per prevenire un guasto, per ottenere ciò dovremmo eseguire test negativi.
L'impatto è un fattore che dobbiamo considerare. Considera che abbiamo eseguito test positivi su un sito di e-commerce e assicurati che tutto sia a posto. Ma cosa succede se nel nostro sistema c'è una scappatoia in cui qualcuno può eseguire l'iniezione SQL e cancellare tutti i nostri dati. Questa sarà una grande violazione della sicurezza. Per evitare questo tipo di casi, è necessario eseguire anche test negativi.
Per le applicazioni aperte al pubblico, principalmente siti Web, dobbiamo sempre tenere presente che non abbiamo molto controllo sulla procedura di utilizzo dell'applicazione, quindi dobbiamo eseguire test negativi per assicurarci che tutti questi casi siano coperti e contenuti.
Un'altra cosa di cui dobbiamo fare attenzione è che ci sono molti hacker neri là fuori che stanno cercando un'opportunità per distruggere il sistema. L'hacking è un caso importante trattato nei test negativi
Prospettiva del cliente
I clienti si aspettano sempre prodotti a vulnerabilità zero, al fine di garantire che i test negativi siano un must
Se si tratta di un prodotto sensibile come l'e-commerce, lo stock online, ecc., La sicurezza e il test negativo sono un must.
L'unica preoccupazione per il cliente riguardo ai test negativi è che il costo. Ma una volta analizzato l'impatto, spetta al cliente decidere se eseguire o meno test negativi.
Come eseguire i test negativi
Per fare il test negativo dobbiamo considerare tutti i casi possibili. Cioè, se è possibile, dobbiamo considerarlo nel Test Case, indipendentemente dal fatto che non sia il modo giusto per usarlo. Ad esempio, se vediamo un campo e-mail, pensiamo a tutti i possibili input che possiamo mettere lì oltre al formato e-mail corretto. Allo stesso modo quando vediamo un'opzione di caricamento di immagini, dobbiamo testarla con tutti i file possibili.
Durante la creazione di casi di test negativi, dobbiamo dare la priorità agli input altrimenti, ci saranno molti casi possibili. Ad esempio, per un campo immagine in cui devono essere inseriti solo i file ".png.webp", possiamo avere molte opzioni da caricare come "jpeg.webp", "xml", "xls", ecc ... Quindi dobbiamo dare la priorità alle opzioni come XML e SQL possono avere un impatto maggiore di quello di jpeg.webp e xls, quindi dovremmo prima occuparci dei casi SQL e XML. In questo modo, dobbiamo dare la priorità ai casi prima dell'esecuzione per risparmiare tempo e costi di test.
Pro e contro dei test negativi
Come tutte le altre tecniche di test, ci sono pro e contro per i test negativi basati principalmente sul "dove", "quando" e "come" utilizzarli. Diamo un'occhiata a questo.
Vantaggi del test negativo
- Come tutti sappiamo, i test negativi sono molto importanti per garantire la qualità di un prodotto. Un prodotto di buona qualità è un prodotto a vulnerabilità zero, per garantire che i test negativi siano molto importanti.
- L'esecuzione di test negativi garantisce che tutti i casi possibili siano coperti. Intenzionalmente o involontariamente esiste la possibilità che si verifichino casi di test negativi. Quindi, per assicurarci che tutti i casi siano coperti, dobbiamo eseguire test negativi insieme a test positivi.
- I test negativi daranno più fiducia al cliente prima di andare in diretta.
Svantaggi del test negativo
- Nell'ingegneria del software, i test negativi in alcuni casi diventano una perdita di tempo ed energia. In molti casi, non è necessario un test negativo eccessivo. Ad esempio, se un'applicazione viene creata per l'utilizzo da parte di una sola persona, non è necessario considerare il caso in cui 100 utenti alla volta utilizzano il sistema. Quindi decidere le condizioni in casi di test negativi è molto importante. Ci saranno momenti in cui non dovremo eseguire test negativi su un particolare sistema.
- Richiede persone qualificate ed esperte per creare casi di test negativi.
- Per il cliente, il test negativo è un'altra cosa che causa ritardi inutili nel rilascio e aumento dei costi.
- Una possibilità che una squadra dedichi più tempo ed energie a test negativi. È possibile che i tester spendano molto tempo ed energia in test negativi che si traducono in una concentrazione inferiore in test positivi.