Test dinamici
Il test dinamico è un metodo di test del software utilizzato per testare il comportamento dinamico del codice software. Lo scopo principale del test dinamico è testare il comportamento del software con variabili dinamiche o variabili che non sono costanti e trovare aree deboli nell'ambiente di runtime del software. Il codice deve essere eseguito per testare il comportamento dinamico.
Sappiamo tutti che il test è verifica e convalida e ci vogliono 2 V per completare il test. Dei 2 V, la verifica è chiamata test statico e l'altra "V", la convalida è nota come test dinamico.
Esempio di test dinamico
Comprendiamo come eseguire il test dinamico con un esempio:
Supponiamo di testare una pagina di accesso in cui abbiamo due campi che dicono "Nome utente" e "Password" e il nome utente è limitato ad alfanumerico.
Quando l'utente inserisce il nome utente come "Guru99", il sistema accetta lo stesso. Dove come quando l'utente entra come Guru99 @ 123, l'applicazione lancia un messaggio di errore. Questo risultato mostra che il codice agisce dinamicamente in base all'input dell'utente.
Il test dinamico è quando si lavora con il sistema effettivo fornendo un input e confrontando il comportamento effettivo dell'applicazione con il comportamento previsto. In altre parole, lavorare con il sistema con l'intento di trovare errori.
Quindi, in base alle dichiarazioni di cui sopra, possiamo dire o concludere che il test dinamico è un processo di convalida delle applicazioni software come utente finale in ambienti diversi per creare il software giusto.
Cosa fa il test dinamico?
Lo scopo principale dei test dinamici è quello di garantire che il software funzioni correttamente durante e dopo l'installazione del software garantendo un'applicazione stabile senza grossi difetti (questa affermazione è fatta perché nessun software è esente da errori, solo i test possono mostrare la presenza di difetti e non assenza)
Lo scopo principale del test dinamico è garantire la coerenza al software; parliamone con un esempio.
In un'applicazione bancaria, troviamo diverse schermate come la sezione I miei conti, Trasferimento di fondi, Bill Pay, ecc ... Tutte queste schermate contengono un campo dell'importo che accetta alcuni caratteri.
Supponiamo che il campo I miei conti visualizzi l'importo come 25.000 e il trasferimento di fondi come $ 25.000 e la schermata di pagamento della fattura come $ 25.000 sebbene l'importo sia lo stesso, il modo in cui viene visualizzato l'importo non è lo stesso, quindi il software non è coerente.
La coerenza non si limita solo alla funzionalità, ma si riferisce anche a diversi standard come prestazioni, usabilità, compatibilità, ecc., Quindi diventa molto importante eseguire test dinamici.
Tipi di test dinamici
Il test dinamico è classificato in due categorie
- Test della scatola bianca
- Test della scatola nera
La rappresentazione pittorica sottostante ci dà un'idea dei tipi di test dinamici, livelli di test, ecc.
Cerchiamo di discutere brevemente ogni tipo di test e lo scopo previsto
White Box Testing - White Box Testing è un metodo di test del software in cui la struttura / progettazione interna è nota al tester. L'obiettivo principale del test White Box è controllare le prestazioni del sistema in base al codice. Viene eseguito principalmente dagli sviluppatori o dai tester White Box che hanno conoscenze sulla programmazione.
Black Box Testing - Black Box Testing è un metodo di test in cui la struttura / codice / design interno NON è noto al tester. Lo scopo principale di questo test è verificare la funzionalità del sistema sotto test e questo tipo di test richiede di eseguire la suite di test completa ed è svolto principalmente dai tester, e non è necessaria alcuna conoscenza di programmazione.
Il Black Box Testing è di nuovo classificato in due tipologie.
Sono
- Test funzionali
- Test non funzionali
Test funzionale:
Il test funzionale viene eseguito per verificare che tutte le funzionalità sviluppate siano conformi alle specifiche funzionali, e viene eseguito eseguendo i casi di test funzionali scritti dal team QA, in fase di test funzionale, il sistema viene testato fornendo input, verificando l'output e confrontare i risultati effettivi con i risultati attesi.
Esistono diversi livelli di test funzionale tra cui i più importanti
- Unit Testing - Generalmente Unit è un piccolo pezzo di codice che è testabile, Unit Testing viene eseguito su singole unità di software e viene eseguito dagli sviluppatori
- Test di integrazione - Il test di integrazione è il test che viene eseguito dopo il test unitario e viene eseguito combinando tutte le singole unità che sono testabili e viene eseguito dagli sviluppatori o dai tester
- Test del sistema: il test del sistema viene eseguito per garantire che il sistema funzioni secondo i requisiti e viene generalmente eseguito quando il sistema completo è pronto, viene eseguito dai tester quando la build o il codice viene rilasciato al team QA
- Test di accettazione: il test di accettazione viene eseguito per verificare se il sistema ha soddisfatto i requisiti aziendali ed è pronto per l'uso o pronto per la distribuzione e viene generalmente eseguito dagli utenti finali.
Test non funzionale : il test non funzionale è una tecnica di test che non si concentra sugli aspetti funzionali e si concentra principalmente sugli attributi non funzionali del sistema come perdite di memoria, prestazioni o robustezza del sistema. Il test non funzionale viene eseguito a tutti i livelli di test.
Esistono molte tecniche di test non funzionali tra cui le più importanti
- Test delle prestazioni - Il test delle prestazioni viene eseguito per verificare se il tempo di risposta del sistema è normale secondo i requisiti con il carico di rete desiderato.
- Test di ripristino: il test di ripristino è un metodo per verificare la capacità di un sistema di recuperare da arresti anomali e guasti hardware.
- Test di compatibilità - test di compatibilità viene eseguita per verificare come il sistema si comporta in ambienti diversi.
- Test di sicurezza - Il test di sicurezza viene eseguito per verificare la robustezza dell'applicazione, ovvero per garantire che solo gli utenti / ruoli autorizzati stiano accedendo al sistema
- Test di usabilità - Il test di usabilità è un metodo per verificare l'usabilità del sistema da parte degli utenti finali per verificare quanto gli utenti si sentano a proprio agio con il sistema.
Tecniche di test dinamici
Le tecniche di test dinamico in STLC sono costituite da diverse attività come Analisi dei requisiti per i test, Pianificazione dei test, Progettazione e implementazione del test case, Configurazione dell'ambiente di test, Esecuzione del test case, Segnalazione dei bug e infine Chiusura del test. Tutte le attività nelle tecniche di test dinamico dipendono dal completamento dell'attività precedente nel processo di test.
In STLC, possiamo dire che l'effettivo processo di test dinamico inizia dalla progettazione del caso di test, discutiamo ogni attività in dettaglio.
Prima di entrare nel processo, discutiamo la strategia che deve essere seguita per il test dinamico.
La strategia di test dovrebbe concentrarsi principalmente sulle risorse disponibili e sui tempi. Sulla base di questi fattori, è necessario documentare l'obiettivo del test, l'ambito del test, le fasi oi cicli di test, il tipo di ambiente, le ipotesi o le sfide che potrebbero essere affrontate, i rischi, ecc.
Una volta che la strategia è stata definita e accettata dalla direzione, inizia l'effettivo processo di progettazione del test case
Che cos'è la progettazione e l'implementazione dei test
In questa fase individuiamo il,
- Caratteristiche da testare
- Ricava le condizioni di prova
- Ricava gli elementi di copertura
- Deriva i casi di test
Configurazione dell'ambiente di prova
Dobbiamo assicurarci che l'ambiente di test sia sempre simile all'ambiente di produzione, in questa fase dobbiamo installare la build e gestire le macchine di test.
Esecuzione del test
Durante questa fase, i casi di test vengono effettivamente eseguiti.
Segnalazione di bug acquisita
In base all'esecuzione, se i risultati attesi e effettivi non sono uguali, lo scenario di test deve essere contrassegnato come Non riuscito e deve essere registrato un bug.
Vantaggi del test dinamico
- Il test dinamico può rivelare i difetti scoperti che sono considerati troppo difficili o complicati e che non possono essere coperti attraverso l'analisi statica
- In Dynamic Testing, eseguiamo il software, end to end, garantendo un software privo di errori che a sua volta aumenta la qualità di un prodotto e progetto.
- Il test dinamico diventa uno strumento essenziale per rilevare eventuali minacce alla sicurezza
Svantaggi del test dinamico
- Il test dinamico richiede tempo perché esegue l'applicazione / il software o il codice che richiede un'enorme quantità di risorse
- Il test dinamico aumenta il costo del progetto / prodotto perché non inizia all'inizio del ciclo di vita del software e quindi qualsiasi problema risolto nelle fasi successive può comportare un aumento dei costi.
Conclusione:
Nell'ingegneria del software, la verifica e la convalida sono due misure utilizzate per verificare che il prodotto software soddisfi le specifiche dei requisiti. Il test statico implica la verifica mentre il test dinamico implica la convalida. Insieme aiutano a fornire un software di qualità conveniente.
Questo articolo è fornito da Radhika Renamala