Cos'è il test END-to-END? Esempio E2E
Test end-to-end
Test end-to-end è un metodo di test del software che convalida l'intero software dall'inizio alla fine insieme alla sua integrazione con interfacce esterne. Lo scopo del test end-to-end è testare l'intero software per le dipendenze, l'integrità dei dati e la comunicazione con altri sistemi, interfacce e database per esercitare uno scenario di produzione completo.
Insieme al sistema software, convalida anche l'elaborazione batch/dati da altri sistemi a monte/a valle. Da qui il nome "Da un capo all'altro". Il test end-to-end viene solitamente eseguito dopo il test funzionale e Test di sistema. Utilizza la produzione effettiva come dati e ambiente di test per simulare le impostazioni in tempo reale. Viene anche chiamato test E2E Test della catena.
Perché i test end-to-end?
Test end-to-end verifica il flusso completo del sistema e aumenta la fiducia rilevando problemi e aumentandoli Copertura del test di sottosistemi. I moderni sistemi software sono complessi e interconnessi con più sottosistemi che possono differire dai sistemi attuali. L'intero sistema può collassare per guasto di uno qualsiasi dei sottosistemi, il che rappresenta un rischio importante che può essere evitato tramite test End-to-End.
Processo di test end-to-end
Il diagramma seguente fornisce una panoramica del processo di test end-to-end.
Le principali attività coinvolte nel test end-to-end sono:
- Studio dei requisiti di testing end to end
- Configurazione dell'ambiente di test e requisiti hardware/software
- Descrivere tutti i sistemi e i processi dei suoi sottosistemi.
- Descriptripartizione dei ruoli e delle responsabilità per tutti i sistemi
- Metodologia e standard di test
- Monitoraggio dei requisiti end-to-end e progettazione di casi di test
- Dati di input e output per ciascun sistema
Strumento di test end-to-end
testRigore
testRigore è un leader del settore quando si tratta di test end-to-end. Crea senza problemi test senza codice su Web UI, app mobili native e ibride, browser mobili e API. Testa e-mail e SMS, testa file .XLS, .DOC, .PDF ecc. scaricati con facilità.
Caratteristiche:
- Scrivi test senza codice in un inglese semplice.
- Copertura Web + Mobile + API in un solo test. Supporto multipiattaforma e multibrowser.
- Crea test 15 volte più velocemente rispetto a Selenium.
- Riduci la manutenzione dei test fino al 99.5%.
- testRigor è sicuro e conforme a SOC 2 Tipo 2.
- Integrazioni con CI/CD e gestione dei test case.
- Esegui migliaia di test e ottieni risultati in meno di 1000 minuti.
Come creare casi di test end-to-end?
Il framework End to End Testing Design è composto da tre parti
- Costruisci funzioni utente
- Condizioni di costruzione
- Costruisci casi di test
Vediamoli nel dettaglio: –
Costruisci funzioni utente
Le seguenti attività dovrebbero essere eseguite come parte delle funzioni utente di compilazione:
- Elencare le caratteristiche del sistema e i componenti interconnessi
- Elenca i dati di input, l'azione e i dati di output per ciascuna caratteristica o funzione
- Individuare le relazioni tra le funzioni
- Determinare se la funzione può essere riutilizzabile o indipendente
Ad esempio: considera uno scenario in cui accedi al tuo conto bancario e trasferisci del denaro su un altro conto da un'altra banca (3rdsottosistema del partito)
- Accedi al sistema bancario
- Controlla l'importo del saldo sul conto
- Trasferisci un importo dal tuo conto a un altro conto bancario (3rdsottosistema del partito)
- Controlla il saldo del tuo ultimo conto
- Disconnettersi dall'applicazione
Costruisci condizioni basate sulla funzione utente
Le seguenti attività vengono eseguite come parte delle condizioni di compilazione:
- Creazione di una serie di condizioni per ciascuna funzione utente definita
- Le condizioni includono la sequenza, la tempistica e le condizioni dei dati
Ad esempio: controllo di più condizioni simili
Pagina di login
- Nome utente e password non validi
- Verifica con nome utente e password validi
- Controllo della robustezza della password
- Controllo dei messaggi di errore
Importo del saldo
- Controlla il saldo attuale dopo 24 ore. (Se il bonifico viene inviato ad una banca diversa)
- Controlla il messaggio di errore se l'importo del trasferimento è maggiore dell'importo del saldo corrente
Costruisci uno scenario di prova
Costruire il Scenario di prova per la funzione utente definita
In questo caso,
- Accedi al sistema
- Controllo dell'importo del saldo bancario
- Trasferisci l'importo del saldo bancario
Costruisci più casi di test
Costruisci uno o più casi di test per ogni scenario definito. I casi di test possono includere ciascuna condizione come un singolo caso di test.
Metriche per i test end-to-end
Di seguito sono riportate alcune tra le tante metriche utilizzate come esempio di test end-to-end:
- Stato di preparazione del caso di test: Fornisce i progressi nella preparazione del Test Case rispetto a quanto pianificato
- Avanzamento del test settimanale- Fornisce dettagli settimanali sulla percentuale di completamento dei test: non eseguiti, non eseguiti ed eseguiti rispetto ai test pianificati per l'esecuzione.
- Stato e dettagli dei difetti- Fornisce la percentuale di difetti aperti e chiusi per settimana. Inoltre, la distribuzione dei difetti per settimana in base alla gravità e alla priorità
- Disponibilità dell'ambiente –Numero totale di ore “up”/Numero totale di ore pianificate al giorno per i test
Test end-to-end vs test di sistema
Test end-to-end | Test di sistema |
---|---|
Convalida il sistema software e i sottosistemi interconnessi | Convalida solo il sistema software secondo le specifiche dei requisiti. |
Controlla l'intero flusso del processo end-to-end. | Controlla le funzionalità e le caratteristiche del sistema. |
Tutte le interfacce e i sistemi backend saranno presi in considerazione per i test | Verranno presi in considerazione i test funzionali e non funzionali per i test |
Viene eseguito una volta completato il test del sistema. | Viene eseguito dopo Test d'integrazione. |
Il test end-to-end comporta il controllo delle interfacce esterne che possono essere complesse da automatizzare. Quindi Test manuale è preferito. | Sia il Manuale che l'Automazione possono essere eseguiti per il Test del Sistema |
Conclusione
Nell'ingegneria del software, il test end-to-end è il processo di verifica di un sistema software insieme ai suoi sottosistemi. La sfida più grande in questo test è avere una conoscenza sufficiente dell’intero sistema e di un sottosistema interconnesso.