Che cos'è il test negativo?
- È ovvio che testare il software con solo scenari positivi garantisce che il software funzioni come previsto, ma non garantisce come funzionerebbe in situazioni impreviste. Come tester, il motivo principale del test è quello di trovare il maggior numero di difetti possibile e garantire che l'applicazione funzioni correttamente anche in situazioni strane. A tal fine, sono emersi test negativi che coprono tutti gli scenari che devono essere testati per il comportamento umano imprevisto e input non validi da parte di un utente.
- È generalmente noto come test del percorso di errore o test di errore. È un tipo di test del software che viene eseguito al fine di garantire che l'applicazione software non si rompa e gestisca con grazia le situazioni di scenari imprevisti come input dell'utente non valido, perdita di connettività di rete, campi obbligatori mancanti, ecc.
- Quando l'applicazione viene consegnata agli utenti finali, non è così che eseguiranno solo scenari di test positivi, la mente umana cerca di giocare brutti scherzi ed esegue diverse attività illogiche e inappropriate sia per testare l'applicazione sia per alcuni non etici personali si intende.
- Quindi è molto importante testare l'applicazione con ogni permutazione e combinazione di dati al fine di verificare come risponde l'applicazione. Ad esempio, scrivere l'alfabeto o i caratteri speciali in un campo del numero di telefono, inviare un modulo senza compilare i dettagli obbligatori, ecc. Tali situazioni devono essere gestite con garbo con il messaggio di avviso. Viene fatto con l'intento di verificare la stabilità di un'applicazione software.
Perché abbiamo bisogno di test negativi?
Esistono diversi motivi per eseguire i test negativi. Alcuni di questi sono menzionati di seguito:
- Sebbene non sia possibile fornire agli utenti finali un software privo di errori al 100%, eseguirlo e coprire scenari con il massimo negativo può garantire che l'applicazione sia in grado di gestire situazioni impreviste.
- Ci sono molti hacker sul mercato che cercano un'opportunità per hackerare un'applicazione e utilizzare impropriamente i dati privati del cliente, per evitare tali situazioni di violazione della sicurezza, i test negativi sono molto importanti.
- Spiegare le scappatoie in un'applicazione eseguendola per prevenire comportamenti imprevisti.
- Garantire la stabilità dell'applicazione per dati fuori limite, non comuni e errati.
- Al fine di fornire al client un'applicazione vulnerabile e affidabile, è necessario eseguire test negativi.
Come vengono eseguiti i test negativi?
Poiché richiede tempo e costi. È necessario un team separato di tester per eseguire test negativi avanzati.
- Casi di test negativi che specificano più scenari di test devono essere creati per ogni funzionalità.
- Gli scenari negativi con tutti i possibili dati non validi devono essere testati in base alla priorità dei dati negativi.
Esistono due tecniche comunemente utilizzate dai tester per i test negativi che sono menzionati di seguito:
1. Analisi del valore limite
In Boundary Value Analysis, i casi di test negativi sono progettati per i valori al di fuori dei limiti al fine di verificare il funzionamento del sistema per essi. Ad esempio, se un campo di testo in un modulo accetta i dati da 5-30 caratteri, quindi i limiti di confine sarebbero 5 e 30 e quindi questi valori verrebbero testati.
2. Partizionamento di equivalenza
In Equivalence Partitioning, i valori di input sono divisi in diverse partizioni di dati equivalenti e solo pochi valori di ciascuna partizione vengono testati per verificare l'intera partizione. Se i dati sono passati, l'intera partizione considera fallito il passaggio. Per l'esempio sopra, per il campo di testo che accetta dati tra 5-30, le partizioni sarebbero 0-5, 5-30, 30-100, per il test negativo, verrebbero testate le partizioni 0-5 e 30-100.
Vantaggi e svantaggi dei test negativi
Di seguito sono riportati i vantaggi e gli svantaggi dei test negativi:
vantaggi
- Per garantire software vulnerabile e di qualità, è necessario eseguire test negativi.
- Per impedire all'applicazione software di crimini informatici e hack non etici, i test di sicurezza per scenari negativi svolgono un ruolo importante.
- Dà loro la sicurezza che l'applicazione sia testata rispetto a tutti gli scenari negativi e quindi più affidabile.
- Assicura che tutti gli errori o le cattive situazioni siano gestiti con grazia dall'applicazione software.
svantaggi
- A volte, in alcune applicazioni, diventa una perdita di tempo. Intenso, copre tutti gli scenari negativi con più dati di test negativi non sempre richiesti. A volte i tester sono così coinvolti in esso che i rigorosi test positivi (funzionamento di base di un'applicazione) vengono lasciati senza successo.
- Per i dettagli, nel progetto è richiesto un team separato di tester che può causare problemi di budget elevato.
- Il ciclo di rilascio dell'applicazione è talvolta ritardato.
- Per test negativi sono necessarie persone di grande esperienza.
Strumenti utilizzati per i test negativi
Sebbene non ci siano strumenti specifici disponibili sul mercato. I casi di test per coprire tutti gli scenari negativi possono essere eseguiti manualmente o tramite script di automazione. La cosa più importante durante l'esecuzione è il numero massimo di permutazioni dei dati di test che possono essere testati per un caso di test. Testare manualmente il test case con ciascun dato di test può essere un po 'noioso e richiede tempo, ma questa attività può essere semplificata dai test di automazione. Gli script di automazione possono essere creati tramite semplici strumenti di automazione disponibili sul mercato come Selenium, TestComplete, Appium, Cucumber, ecc. Gli script di automazione possono essere utili al fine di coprire poiché tutti i dati di test possono essere memorizzati in un singolo file per ogni caso di test e lo script può essere eseguito più volte per ogni dato di test.
Conclusione
I test negativi non sono inclusi e non fanno mai parte dei test positivi, poiché i test positivi garantiscono che il sistema funzioni secondo i requisiti e come indicato nei documenti (SRS) mentre indica la robustezza, la vulnerabilità e lo standard di alta qualità del Software. I test negativi sono importanti tanto quanto i test positivi poiché entrambi hanno intenti diversi di testare il software. Più il software passa attraverso i test, minori sono le possibilità di rischio sul mercato che rendono l'applicazione più stabile e affidabile.
Articoli consigliati
Questa è una guida ai test negativi. Qui discutiamo dell'introduzione al test negativo, perché abbiamo bisogno di questo test insieme ai vantaggi e agli svantaggi. Puoi anche consultare i seguenti articoli per saperne di più -
- Test unitari
- Test statici
- Test di integrazione di sistema
- Test della scatola nera
- Tecniche di test della scatola nera