destructive testing
Differenza tra test distruttivi e test non distruttivi con i suoi tipi e metodi:
In questo articolo, discuteremo i dettagli sui test distruttivi e sui test non distruttivi del software.
Li impareremo uno per uno e vedremo anche le differenze tra questi due tipi di test alla fine dell'articolo.
Cosa imparerai:
- Che cosa sono i test distruttivi e quali sono i suoi vantaggi?
- Che cosa sono i test non distruttivi e quali sono i suoi vantaggi?
- Differenza tra test distruttivi e non distruttivi
Che cosa sono i test distruttivi e quali sono i suoi vantaggi?
Il Destructive Software Testing (DST) è un tipo di test del software che cerca di far fallire una parte dell'applicazione software in modo incontrollato, per testarne la robustezza e rilevare il punto di errore.
Contrariamente ad altri metodi di test del software di tipo convenzionale che controllano la funzionalità del software, questo metodo ispeziona il comportamento imprevedibile dell'utente all'interno del software. Quindi, ci consente di scoprire i difetti del software che generalmente non vengono riscontrati dagli utenti medi.
Si noti che il test del software distruttivo (DST) è un approccio alternativo al test del software di tipo convenzionale (CST), ma non la sua sostituzione. È efficace eseguire DST oltre a CST.
I test distruttivi vengono eseguiti nelle condizioni operative più rigorose e continuano fino alla rottura dell'applicazione. L'idea chiave di questo test non è solo quella di scoprire gli eventuali punti deboli del progetto che potrebbero non essere rilevati in normali condizioni di lavoro, ma anche di scoprire la durata del prodotto software.
Questo tipo di test condivide somiglianze con Monkey Testing, Ad hoc Testing e Exploratory Testing.
Vantaggi dei test distruttivi del software
cos'è iomanip in c ++
- Aiuta a valutare la robustezza, la recuperabilità e la durata dell'applicazione.
- Rivela i punti di errore in caso di uso improprio o improprio del software.
- Imposta il giusto contesto per il tester poiché ignora i pregiudizi delle storie degli utenti durante i test.
- Ci consente di scoprire i difetti del software che generalmente non vengono riscontrati dagli utenti medi.
- Questo tipo di test è unico nella scoperta di difetti nell'applicazione che, se affrontati, promuoveranno il rango del software allo stato di prova per principianti.
Passaggi per eseguire questo test
- All'inizio del ciclo di test distruttivo del software, il client invia una copia dell'applicazione o le credenziali di accesso e i requisiti dell'utente.
- Il cliente presenta quindi i requisiti e dimostra l'applicazione a un analista QA.
- Successivamente, l'analista QA stabilisce la funzione dei confini all'interno dell'applicazione e crea i limiti di usabilità dell'applicazione all'interno dei confini.
- Ora, il tester QA testerà in modo casuale l'applicazione entro questi limiti, utilizzando le tecniche stocastiche. I flussi di lavoro e i difetti del test QA vengono registrati.
- Infine, la directory dei difetti viene condivisa con il client.
- In caso di necessità, il ciclo di test distruttivi può essere ripetuto in base alle esigenze del cliente.
Per questo test, è bene avere una certa conoscenza dei requisiti originali del software. Ciò aiuta a elaborare una buona strategia di test.
Cosa verifichi in Destructive Test?
- Comportamento improprio e corretto dell'applicazione software.
- Dati di input validi e non validi.
- Uso improprio dell'applicazione software.
Metodi e strategie di test del software distruttivo
Esistono diversi modi attraverso i quali è possibile eseguire i test distruttivi:
1) Metodo di analisi del punto di guasto:
In questo metodo, l'applicazione viene rivista ed esaminata per accedere a ogni percorso e angolo di essa. È determinato cosa può fallire in vari punti. Per questo metodo, puoi chiedere aiuto agli analisti aziendali per avere una guida dettagliata dell'applicazione.
2) Peer Review:
Fai esaminare l'applicazione da un collega tester che non ha familiarità con il software. Ciò aiuterà a trovare alcuni punti nascosti di errore che non erano visibili a te come tester.
3) Ottieni casi di test esaminati dall'azienda:
Gli utenti finali e altre parti interessate possono a volte pensare a scenari di test validi che un tester potrebbe aver perso. Pertanto, la revisione dei casi di test da parte dell'azienda può aumentare la copertura dei test.
4) Test esplorativi:
Eseguire test esplorativi con l'aiuto di fogli di lavoro. Ti aiuterà a sapere cosa viene testato, a ripetere i test e a controllare la copertura del test.
5) Alimentare il sistema con dati impropri:
come visualizzare un file bin
È possibile fornire un input non valido all'applicazione. Ciò può includere dati corrotti, sequenza errata di passaggi sull'interfaccia utente, ecc.
6) Usa altre fonti:
È inoltre possibile utilizzare qualsiasi altra fonte o metodo per interrompere il sistema e analizzare diversi scenari. La cosa buona è che la user story dei test distruttivi del software non richiede necessariamente 'requisiti' e 'specifiche', quindi puoi provare qualsiasi modo adatto per condurre questo test.
Tecniche di test distruttivi
I test distruttivi del software possono essere condotti attraverso varie tecniche come:
- Test di accettazione
- Test di loop
- Test di regressione
- Partizionamento di equivalenza
- Verifica del valore limite
- Test dell'interfaccia
- Test alfa / beta
- Test di sistema
- Test dall'alto verso il basso
- Test della scatola nera
Pochi suggerimenti utili per i test distruttivi del software
- Acquisisci più conoscenza possibile del prodotto. Mettiti nei panni del cliente e poi pensa al prodotto dal suo punto di vista.
- Cancella tutte le informazioni distorte dalla user story. Dimentica la descrizione della user story e i criteri di accettazione e prova a rompere l'applicazione come un cliente pazzo.
- Cerca i percorsi delle eccezioni, non i percorsi felici. Tieni presente che ignorando i criteri di accettazione, non conoscerai il flusso di lavoro previsto o normale.
- Non aspettarti una risposta positiva dalla tua domanda. E se qualcosa non funziona? Prova a simulare e corrompere tutto ciò che puoi.
- Limita le condizioni della tua rete a una configurazione più realistica, perché tutti gli utenti reali non avranno macchine e condizioni di rete di prima classe.
Che cosa sono i test non distruttivi e quali sono i suoi vantaggi?
I test non distruttivi (NDT) sono descritti come una tecnica di valutazione del software che implica l'interazione corretta con il software. A differenza dei test distruttivi del software in cui cerchiamo percorsi di eccezione, nei test non distruttivi cerchiamo percorsi felici o percorsi d'oro. L'NDT è anche noto come test positivo.
Ad esempio, se è presente una casella di immissione che accetta un numero compreso tra 1 e 999, un caso di test positivo sarebbe inserire un numero all'interno di questo intervallo e verificare la funzionalità della casella di immissione.
In NDT, abbiamo un test case ben definito che utilizza un requisito noto, che viene eseguito senza errori o eccezioni e produce l'output desiderato. Fornisce i risultati previsti e verifica che il software funzioni come previsto.
Benefici di test non distruttivi del software
- La migliore qualità del software e i problemi vengono risolti nel flusso principale dell'applicazione.
- Utile per dimostrare che l'applicazione software funziona secondo le specifiche richieste.
- Verifica che le aspettative del cliente siano soddisfatte.
- Assicura che i requisiti di prestazione siano soddisfatti.
- Risparmia tempo e denaro nella valutazione del prodotto e nella risoluzione dei problemi.
Quando eseguire questo test
- Dovrebbe essere la prima forma di test e deve essere eseguita nella fase iniziale di SDLC perché il percorso felice è il flusso principale dell'applicazione e se non funziona bene, il resto del test viene bloccato.
- Può essere fatto rapidamente e facilmente quando non abbiamo abbastanza tempo e budget per i test. Ciò garantisce almeno che i requisiti del software ei criteri di accettazione siano soddisfatti.
Strategia per test software non distruttivi
- L'approccio del test positivo dovrebbe essere adottato per condurre il test non distruttivo.
- Durante il test, il tester dovrebbe tenere presente che l'obiettivo del test non distruttivo è verificare che l'applicazione funzioni correttamente fornendo dati di input validi. Quindi, l'obiettivo è verificare il comportamento dell'applicazione per il set di dati positivo.
- La migliore pratica è controllare se il sistema sta facendo ciò che è inteso fare.
Differenza tra test distruttivi e non distruttivi
Test distruttivi | Controlli non distruttivi |
---|---|
Si concentra sui punti deboli del design ma non sulla funzionalità. | Si concentra sui punti deboli della funzionalità ma non sul design. |
Non necessita necessariamente di requisiti aziendali. I test distruttivi vengono eseguiti senza conoscere i requisiti prestabiliti. | Il test viene eseguito per verificare le funzionalità rispetto ai requisiti aziendali e ai criteri di accettazione. |
L'intenzione è quella di rompere il software fornendo input insoliti per rilevare i punti di guasto. | L'intenzione è quella di interagire correttamente con il software per verificare risultati positivi. |
Conclusione
Nei test distruttivi, l'applicazione viene intenzionalmente bloccata per esaminarne la robustezza. Rileva i punti di guasto nel software che possono verificarsi a causa di una gestione impropria dell'applicazione da parte del cliente.
Rileva quei punti deboli che non possono essere monitorati utilizzando i test del software convenzionale. Per una migliore copertura dei test, è preferibile condurre test distruttivi del software insieme ai test del software convenzionali.
I test non distruttivi vengono eseguiti con l'approccio del test positivo o del test del percorso felice per verificare che la funzionalità del software soddisfi i requisiti del cliente. Implica l'interazione corretta con il software.
Lettura consigliata
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Lavoro assistente QA test software
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro freelance di scrittore di contenuti tecnici di test del software
- Download dell'eBook Testing Primer
- Alcune interessanti domande di intervista sul test del software
- Feedback e recensioni sul corso di test del software