Introduzione al test di sistema
Hai mai sentito parlare dei test di sistema? Sì, certo, hai sentito ma non sai cosa sta testando. Come viene implementato nell'ambiente reale. Il mondo di oggi è pieno di molti dispositivi, ogni giorno escono nuove tecnologie. Per mantenere la qualità e garantire che il nostro prodotto sia privo di bug e affidabile ogni sviluppo ha a parte il suo team di test parallelo.
Il test è il processo di controllo incrociato se abbiamo la funzionalità corretta o meno. Il test del software è una fase in cui il software è completato. Ora, quel software integrato sta per testare. Nel test stiamo verificando che il software soddisfi i nostri requisiti o meno.
Test che viene eseguito sull'intero sistema noto come test di sistema. Con questo test, scopriamo gli errori. Assicura che tutto il sistema funzioni come previsto. Controlliamo le prestazioni e la funzionalità del sistema per ottenere un prodotto di qualità. I test di sistema non sono altro che test del sistema nel suo complesso. Questo test verifica lo scenario completo end-to-end secondo il punto di vista del cliente.
Test funzionali e non funzionali eseguiti anche da test di sistema. Tutto è fatto per mantenere la fiducia nello sviluppo del sistema privo di difetti e privo di errori. I test di sistema hanno anche lo scopo di testare le specifiche dei requisiti hardware / software.
I test di sistema sono più di un tipo limitato di test; cerca di rilevare entrambi i difetti all'interno degli "inter-assemblaggi".
Esistono due tipi di test:
Quelli sono sistemi e applicazioni specializzati
Prima di saltare direttamente al test di sistema, voglio che tu conosca il flusso dei test. Quindi avrai un'idea chiara. Si prega di guardare il seguente diagramma.
Tipi di test di sistema
Di seguito sono riportati i diversi tipi di test che sono i seguenti:
1. Test di funzionalità
- Questo test garantisce che la funzionalità di un prodotto funzioni secondo le specifiche dei requisiti, all'interno delle capacità del sistema.
- Il test funzionale viene eseguito manualmente o con strumenti automatizzati.
2. Test di recuperabilità
- Questo test determina se è possibile continuare le operazioni dopo un disastro o dopo la perdita dell'integrità del sistema.
- Il miglior esempio di ciò suppone che stiamo scaricando un file. E improvvisamente la connessione si interrompe. Dopo aver ripreso la connessione, il download inizia da dove siamo partiti. Non ricomincia da capo.
- Ciò è stato utilizzato laddove la continuità delle operazioni è essenziale
3. Test delle prestazioni
- Questo test assicura le prestazioni del sistema nelle varie condizioni, in termini di caratteristiche prestazionali.
- Questo test è anche chiamato test di conformità rispetto alle prestazioni.
- Questo test garantisce che soddisfi i requisiti di sistema
- Controlla quando più utenti utilizzano la stessa app alla volta, quindi come risponde
I test delle prestazioni possono essere classificati in tre categorie principali come velocità, scalabilità, stabilità.
4. Test di scalabilità
Questo test garantisce le capacità di ridimensionamento del sistema in vari termini come ridimensionamento dell'utente, ridimensionamento geografico e ridimensionamento delle risorse.
5. Test di affidabilità
- I test di affidabilità assicurano che il sistema sia privo di bug.
- Questo test assicura che il sistema possa funzionare per un periodo più lungo senza sviluppare guasti.
6. Test della documentazione
Questo test assicura che la guida per l'utente del sistema e altri documenti relativi agli argomenti della guida siano corretti e utilizzabili.
7. Test di sicurezza
- Test che confermano che il programma può accedere al personale autorizzato e che il personale autorizzato può accedere alle funzioni disponibili per il loro livello di sicurezza.
- Questo test garantisce che il sistema non consenta l'accesso non autorizzato a dati e risorse.
- Lo scopo dei test di sicurezza è determinare in che modo un sistema protegge dall'accesso interno o esterno non autorizzato o da danni intenzionali.
- C'è la seguente area in cui generalmente possiamo verificare la sicurezza:
- Autenticazione
- Autorizzazione
- Convalida dei dati
- Sicurezza dei trasporti
- Protezione dati
- Gestione della sessione
8. Test di usabilità
Per assicurarsi che il sistema sia facile da usare, apprendere e utilizzare
9. Test dei requisiti
Ogni sistema è un requisito testato.
- Osservazioni dirette di persone che utilizzano il sistema.
- In questo test sono stati condotti sondaggi sull'usabilità.
- Test utente sotto questo test. Viene anche chiamato beta testing.
- Questo test verifica il sistema su come l'utente reale lavorerà nell'ambiente.
- Il test di usabilità viene utilizzato principalmente per la progettazione dell'applicazione.
- In un test di usabilità, gli utenti reali cercano di ottenere obiettivi e attività tipici con un prodotto in condizioni controllate.
Questo sistema viene utilizzato per determinare:
- Quanto è semplice comprendere l'utilizzo dell'applicazione.
- Quanto è facile eseguire un processo di candidatura.
10. Test di carico
Questo test determina come si comporta l'applicazione quando più utenti accedono ad essa contemporaneamente in più posizioni.
- Questo test viene eseguito per determinare se le prestazioni del sistema sono accettabili a un livello di carico predeterminato.
- Il test di carico valuta le prestazioni del sistema con i livelli di carico predefiniti.
- Verifica le condizioni normali e predefinite dell'applicazione.
11. Test di stress
Questo test generalmente controlla che il sistema continuerà a funzionare se sottoposto a un grande volume di dati del previsto.
- Le prove di stress possono contenere transazioni di input, tabelle interne, canali di comunicazione, spazio su disco, ecc.
- Le prove di stress verificano che il sistema debba funzionare come in un ambiente di produzione.
- Controlla il sistema in condizioni estreme.
- Lo stress test è anche noto come test di resistenza.
12. Test di configurazione
- Il test di configurazione lo sta verificando con le molteplici combinazioni di applicazione con hardware.
- Questo test verifica la presenza di un problema di compatibilità.
- Determinare la configurazione minima e ottimale H / W e S / W.
- Questo test determina gli effetti dell'aggiunta o della modifica di risorse come memoria, spazio su disco, CPU, scheda di rete.
13. Test di compatibilità
- Test di compatibilità utilizzato per verificare se l'applicazione è in grado di funzionare su H / W, SO, applicazioni, ambienti di rete o dispositivi mobili diversi, ecc.
- Simile al test multipiattaforma.
- Il test di capacità è più utile nelle applicazioni basate sul Web in cui è possibile verificare che l'applicazione debba essere accessibile da ogni browser.
Key Focus Area
- Durante i test di sistema, il sistema viene testato all'interno dell'ambiente di produzione. Prima della consegna del prodotto, il sistema deve essere testato in un ambiente di produzione.
- L'ambiente di sviluppo e produzione può variare in base all'azienda.
- Dovrebbe ottenere principalmente errori relativi alla configurazione.
Concetto di test del sistema
I test di sistema rientrano nell'ambito del test Black-Box. Inoltre, ci sono test come sicurezza, affidabilità, prestazioni, installazione, test funzionali, ecc.
Abbiamo anche test in scatola bianca. Anche questo, noto come test in chiaro. Test in white box indica i test in cui la struttura interna dell'applicazione di test è nota al tester. Ma in questo articolo, ci stiamo concentrando sui test della scatola nera.
Che cos'è il test Black-Box?
- Questo test è anche noto come test comportamentale.
- I test in black box si concentrano principalmente su input e output poiché il codice interno è nascosto dal tester
I test di sistema hanno anche alcuni test specializzati come segue:
1. Test di regressione
Questo test dipende dal tempo. Il fattore non è sempre sufficiente per questo test. Questo test viene eseguito in due modi:
- Test manuale :
È possibile eseguire test manuali per piccoli sistemi. Il progetto in cui i costi sono il problema. Il test automatizzato non è conveniente.
Gli sviluppatori o il team di controllo della qualità possono testare manualmente ogni percorso del codice software. E poi il confronto è avvenuto.
Questo test richiede molto tempo e ha bisogno di molte risorse per lavorarci.
Questo test non è efficiente, quindi il test di automazione appare in figura
- Test automatizzati:
Questo test è molto buono. Molte aziende stanno cercando di ottenere strumenti di test automatizzati.
Se abbiamo molte modifiche alla versione di un'applicazione è molto utile. Una classe di questi strumenti è chiamata strumenti di riproduzione acquisita.
2. Test di gestione degli errori
- Per determinare la capacità del sistema di elaborare correttamente le transazioni errate.
- Tutti gli errori ragionevoli dovrebbero essere rilevati dal sistema applicativo.
- È indispensabile il controllo dell'errore durante la correzione degli errori.
- Le procedure garantiscono principalmente che l'errore venga corretto correttamente.
- Questo test dovrebbe essere eseguito su SDLC.
- Gli errori comprendono tutte le condizioni impreviste.
- Verifica la capacità del software di eseguire correttamente tutte le transazioni.
- Ad esempio: basta inserire alcuni valori errati nell'applicazione per verificare se il sistema è in grado di rilevare tali problemi. Questo processo può essere iterativo.
3. Test tra sistemi
- Questo test viene eseguito quando un'applicazione viene posizionata in un'area distribuita. E avviene tutta l'integrazione inserita. Questo test viene eseguito principalmente per controllare il flusso di dati dal sistema principale ospitato ad altri sistemi.
- In breve, possiamo dire che "Il test di un'interfaccia tra due o più sistemi applicativi".
- Questo decide:
- La documentazione per il sistema è completa e accurata.
- Parametri e dati vengono passati correttamente tra le due applicazioni.
- Ci sono pezzi di set di test che la transazione da un sistema all'altro sistema e viceversa sta eseguendo correttamente. sono stati effettuati controlli incrociati e se si verifica un errore, viene corretto in quel momento.
- Questo test garantisce il flusso di dati tra le applicazioni.
- Questo test è noioso se l'automazione non viene eseguita.
- Il costo è maggiore se le iterazioni sono maggiori.
4. Test di sanità mentale
- Test di integrità significa verificare il comportamento del sistema. Questo test chiamato anche come test di regressione ristretta.
- I test di integrità sono utili sia per la convalida iniziale dell'ambiente che per i futuri incrementi interattivi.
- Il test di integrità è focalizzato su uno.
- Questo test è anche considerato come un sottoinsieme del test di regressione.
- Ex di Sanity test è che possiamo supporre di aver bisogno del tempo di attività del sistema. Come si deve alzare il sistema temporale?
- Test di sanità mentale inizialmente progettati per testare i moduli principali.
- I test di integrità possono verificare la connettività con i server delle applicazioni e con i dispositivi periferici.
5. Test del fumo
- Generalmente, il test del fumo è anche noto come "Test di verifica della costruzione".
- Questo termine deriva dai test hardware. Nei test hardware, il dispositivo ha superato il test, se non ha preso fuoco o fumato la prima volta che è stato acceso.
- Il test del fumo verifica che la testabilità del software sia definita test del fumo.
- Il test del fumo decide se il test è sufficiente per l'applicazione. È stabile?
- Il test del fumo aiuta a determinare dove fermarsi.
- I test del fumo possono essere eseguiti manualmente o con strumenti automatici.
- Gli scenari di test del fumo enfatizzano l'ampiezza più che la profondità.
- Il test del fumo è anche noto come test di verifica / test di collegamento / test funzionale di base.
- Questo è un approccio "superficiale e ampio" all'applicazione.
- Il test del fumo aiuta a esporre tempestivamente i problemi.
- Il test del fumo aiuta anche a trovare i test di integrazione.
- Nel test del fumo, tutti i componenti devono essere toccati e ogni caratteristica principale deve essere testata brevemente.
- Se un test fallisce, la build viene restituita agli sviluppatori non testati.
- Il test del fumo viene generalmente utilizzato nei test di sistema, test di accettazione e test di integrazione.
6. Test in parallelo
- Test in parallelo significa testare contemporaneamente più applicazioni o sottosistemi.
- Possiamo dire che un confronto tra due diversi sistemi.
- Il test parallelo deve determinare: la nuova versione di un'applicazione o i nuovi sistemi funzionano correttamente con il riferimento al sistema esistente che funziona correttamente.
- Il test parallelo può essere utilizzato quando si accetta un nuovo sistema.
- Durante l'esecuzione di test paralleli vengono utilizzati gli stessi dati su entrambi i sistemi.
- In parallelo test nuovo sistema viene utilizzato con un sistema esistente per un certo periodo di tempo stabilito.
- Attraverso il controllo incrociato di O / P e il confronto con O / P dal sistema esistente. Vengono eseguiti test paralleli per assicurarsi che il nuovo sistema stia funzionando fino al segno come faceva il sistema precedente.
Conclusione
Ogni processo di sviluppo software ha una parte di test. Se il software possiede tutti i test e soddisfa tutte le condizioni, è pronto per la consegna al cliente. I test sono una parte cruciale e devono essere eseguiti molto seriamente.
Articoli consigliati
Questa è stata una guida ai test di sistema. Qui abbiamo discusso l'introduzione, i vari tipi di test di sistema e la sua area di interesse chiave. puoi anche consultare i seguenti articoli per saperne di più -
- Carriere nel test del software
- Domande di intervista per i test di penetrazione
- Che cosa sono le reti neurali?
- Ciclo di vita dei difetti nei test del software
- Diversi strumenti per i test delle prestazioni