using json interface testing
Utilizzo di JSON per il test dell'interfaccia:
Il test dell'interfaccia verifica la comunicazione tra due diversi sistemi. Viene eseguito sull'applicazione sotto test per verificare se la comunicazione avanti e indietro tra due reti è eseguita correttamente.
Un'interfaccia è fondamentalmente la connessione tra due sistemi software e il test di tale connessione per il trasferimento dei dati è chiamato test dell'interfaccia. L'interfaccia copre una vasta gamma di servizi nel mondo reale, può essere utilizzata per fare riferimento a servizi Web, API, ecc.
Un'interfaccia contiene un insieme di regole, messaggi, comandi ecc. Che facilitano la comunicazione tra due sistemi.
Questo test si concentra principalmente sul test di due segmenti principali:
- Comunicazione tra database e application server
- Comunicazione tramite Web e server applicazioni
Il test dell'interfaccia viene eseguito per valutare gli scenari sopra menzionati per verificare se i componenti passano correttamente il controllo ei dati l'uno all'altro correttamente. Verifica anche l'interazione tra i diversi moduli.
Cosa imparerai:
- Perché viene eseguito il test dell'interfaccia?
- Come si esegue?
- Differenza tra test di interfaccia e test di integrazione
- Scenario aziendale
- Configurazione dell'ambiente di prova
- Avvio del test
- Conclusione
- Lettura consigliata
Perché viene eseguito il test dell'interfaccia?
Viene eseguito per garantire:
- Se la comunicazione tra i sistemi viene eseguita correttamente.
- Tutto il software e l'hardware utilizzati nel sistema funzionano correttamente.
- Tutti i documenti collegati alla comunicazione sono disponibili su tutte le piattaforme integrate.
- I requisiti di sicurezza e crittografia aderiscono alla comunicazione tra i sistemi.
- I componenti integrati sono in grado di gestire guasti di rete e perdite di comunicazione.
Tipi di difetti riscontrati
La maggior parte dei difetti riscontrati nel test dell'interfaccia utente sono dovuti a una mappatura errata dei dati tra i sistemi. Quindi, la maggior parte dei bug può essere sostanzialmente classificata nelle seguenti categorie.
- Trasmissione dati incoerente tra i due sistemi.
- Uno dei sistemi interpreta male la trasmissione dei dati da un altro sistema.
- Il canale di trasmissione o l'interfaccia tra i due sistemi si guasta e ciò limita il trasferimento di dati tra i sistemi provocando il guasto dell'intera interfaccia.
Come si esegue?
Può essere classificato principalmente nelle seguenti fasi:
- Le interfacce possono essere testate individualmente durante test di sistema . Questo tipo di test viene eseguito principalmente utilizzando un sistema stub o dummy. Un sistema fittizio o stub rappresenta il comportamento dell'intera interazione del sistema.
- Un altro caso in cui viene eseguito il test dell'interfaccia è una giunzione in cui due sistemi comunicano tra loro.
- Quindi, testiamo se i dati inviati da un sistema sono stati correttamente mappati e inseriti in un altro sistema oppure no. Oltre all'inserimento dei dati controlliamo anche l'integrità dei dati, cioè i dati, quando inseriti in un altro sistema, non sono stati manipolati o alterati, ecc.
- Il test può essere eseguito anche quando un sistema trasmette i dati a un altro database dell'applicazione. Qui, testeremo se i dati di un sistema sono stati inseriti correttamente in una data colonna della tabella data in base alla mappatura. Testeremo anche l'integrità e la coerenza dei dati rispetto al sistema di origine.
In tutti questi scenari di test, il test dell'interfaccia viene eseguito in base ai requisiti aziendali e alle regole del flusso aziendale.
Differenza tra test di interfaccia e test di integrazione
Vengono chiamate la verifica e la convalida della funzionalità end to end dei componenti collegati tra loro Test d'integrazione o più comunemente come test di integrazione del sistema. Il test di integrazione convalida principalmente se due o più sistemi integrati insieme hanno funzionato perfettamente insieme o meno.
Test Interfaccia d'altra parte si concentra fondamentalmente sul canale di connessione tra i due sistemi. Il canale di connessione tra due o più sistemi è chiamato interfaccia. Il test di questo canale di connessione è chiamato Test dell'interfaccia. La maggior parte delle interfacce sono API o servizi web. Non ha un'interfaccia utente ma accetta un input e presenta all'utente un output.
Per esempio
Nell'esempio precedente, il sito Web e il database condividono un'interfaccia per trasmettere le informazioni di accesso, ad esempio nome utente e password.
L'interfaccia utilizza il servizio web per inviare le informazioni di accesso al database, che a sua volta convalida l'autenticità del messaggio in arrivo (nome utente e password) e restituisce il valore true se sia il nome utente che la password corrispondono al record presente nel database o false nel caso in cui qualcuno di loro o entrambi il nome utente e la password non coincidano con i dati presenti all'interno.
Parliamo di un esempio di test dell'interfaccia:
Supponiamo di avere un'applicazione in cui abbiamo diversi database che interagiscono tra loro.
In questo esempio , considereremo due interazioni di database attraverso un canale di interfaccia.
Consideriamo che ci sono due database o applicazioni, il database A e B. 'A' trasferisce alcuni dati a 'B', che viene quindi utilizzato da B per eseguire alcune operazioni. Dopo aver eseguito una determinata operazione sui dati in arrivo, B inserisce tali dati nel database e crea un output JSON per conferma con l'elenco dei dati aggiornati e lo rimanda ad A.
Sia A che B utilizzano il canale dell'interfaccia per la comunicazione tra di loro.
Scenario aziendale
'A' contiene i dati dei dipendenti per tutti i dipendenti appartenenti al dipartimento finanziario.
I dati devono essere trasferiti su “B ' su base giornaliera. 'B' contiene dati sui dettagli generali dei dipendenti. Tutti i dati da 'A' devono essere trasferiti a una particolare tabella e colonna di 'B'. Oltre ai dati di immissione, 'B' deve anche ordinare e organizzare i dati. Deve anche assicurarsi che i dati siano stati inseriti rispetto al dipendente corretto.
Una volta che i dati sono stati inseriti nel sistema, 'B' dovrebbe inviare un output JSON per confermare se i dati sono stati inseriti nel database.
In caso di discrepanze nello schema JSON o dati mancanti 'B' non elaborerà i dati e invierà un messaggio JSON di rifiuto con il motivo del rifiuto.
Configurazione dell'ambiente di prova
Per testare uno scenario come questo, avremo bisogno di uno stub di test per imitare il database 'A'. Lo sviluppatore può fornire una posizione in cui è possibile scaricare il JSON di prova o un'interfaccia utente fittizia e incollare i dati JSON e richiamare l'elaborazione tramite l'interfaccia. A scopo di test, possiamo anche avere una posizione di output in cui possiamo ricevere la conferma JSON da 'B'.
Nel nostro esempio , useremo un percorso della cartella in cui metteremo il nostro JSON di prova, il servizio cercherà costantemente la posizione del file JSON. Una volta che il file è presente, il servizio raccoglierà il file e lo invierà a 'B' tramite l'interfaccia. Una volta che il file è stato prelevato, verrà eliminato dalla posizione di ritiro.
Avvio del test
Una volta impostato l'ambiente di test, il passaggio successivo consiste nel creare i dati di test.
Durante la creazione dei dati di test (leggi il test JSON) dovremmo tenere a mente alcune cose:
- Segui le regole aziendali.
- Assicurati che i campi obbligatori siano presenti.
- Modificare il valore dei campi in base alle regole aziendali per ogni test.
- Assicurati che lo schema JSON sia nel formato corretto.
- Assicurati che la nomenclatura per il nome del file JSON sia stata rispettata.
Diamo un'occhiata al JSON di prova di esempio che utilizzeremo per i test:
{ 'employeeID ': 2569875, 'LastName': “Jackson”, 'baseSalary': 2569, 'DesignationCode':'P102', “Expenditure”:{ 'Month':“Feb”, 'Year': 2017, 'Official':560, 'Others”:0, } }
Inizia il tuo test
Dopo aver creato il file JSON di prova, rilasciarlo nel punto di ritiro. Il servizio lo raccoglierà e lo invierà nel database B.
Scenari da testare:
Ci possono essere diversi scenari che devono essere testati per questo esempio come:
- Lavorare con il servizio web per inviare e ricevere dati.
- Integrità dei dati per i dati di input. Questo può essere convalidato interrogando tabelle e colonne nel database B per i dati inseriti tramite il test JSON.
- Scenari negativi.
Inizialmente, controlleremo se il file JSON di prova è stato prelevato dalla posizione o non è presente nella posizione. Ciò convaliderà il funzionamento del servizio. Successivamente, passeremo alla cartella di output per visualizzare il JSON di output. La presenza dell'output JSON convalida se i dati di input sono stati inviati al database B e il riconoscimento per lo stesso è stato ricevuto.
La parte successiva del test comprende la convalida dei dati inseriti nel database.
Nel test precedente, convalideremo se i dati inviati tramite il JSON di test sono stati inseriti correttamente nel database. Convalideremo l'integrità dei dati, la coerenza dei dati e l'inserimento dei dati. Dovremo interrogare il database B per la colonna data in una tabella particolare per convalidare se i dati sono stati inseriti correttamente nella tabella.
Supponiamo di avere la tabella EmpDetails in cui devono essere inseriti i dati. Quindi, eseguiremo una query per convalidare i dati.
La query sarà qualcosa del genere:
SELECT employeeID, LastName, baseSalary, DesignationCode, Month, Year, Official, Others FROM EmpDetails Where employeeID = 2569875;
Qui, useremo l'ID dipendente come chiave primaria per interrogare i dati nella tabella EmpDetails. Interrogeremo utilizzando tutto il nome della colonna in cui sono stati inseriti i dati. Quindi i dati nel nome della colonna possono essere convalidati con i dati inviati tramite JSON.
Nel caso precedente, i dati del JSON vengono memorizzati in più di una tabella nel database, quindi è possibile utilizzare SQL JOINS per recuperare tutti i dati desiderati.
Il terzo passaggio del test sarà quello di testare gli scenari negativi.
Alcuni degli scenari negativi che possono essere testati sono:
- Il comportamento del sistema quando vengono forniti dati errati tramite JSON.
- Quando il JSON ha lo schema o la struttura sbagliati.
- Quando nel JSON elaborato manca la chiave primaria o eventuali campi obbligatori.
- La nomenclatura del file JSON non è valida.
In tutti questi casi, il sistema dovrebbe essere in grado di gestire questi scenari e nessun dato dovrebbe essere inserito nel sistema come da regola aziendale.
Conclusione
Il canale di connessione tra due sistemi attraverso il quale vengono trasmessi i dati è chiamato interfaccia e il test dell'interfaccia funziona principalmente attorno al test di queste connessioni. La maggior parte delle interfacce utilizza Web Service o API. Non ha sempre un'interfaccia utente, ma accetta input e fornisce output.
sito web di prova in diversi browser gratuitamente
Essendo uno dei formati di trasferimento dati più utilizzati, JSON può essere utilizzato per il trasferimento dei dati dell'interfaccia.
Un tester deve avere una conoscenza di base della struttura JSON per creare dati di test (sotto forma di JSON) e per leggere i dati di output dal sistema. Un tester dovrebbe anche essere esperto nella mappatura tra le chiavi JSON e la colonna della tabella del database.
Qualsiasi tester che desideri lavorare sul test dell'interfaccia dovrebbe avere una chiara conoscenza delle linee guida aziendali e delle regole di un'applicazione. Un tester dovrebbe anche avere una conoscenza adeguata del database e dovrebbe essere in grado di scrivere semplici query SQL.
Per qualsiasi domanda o chiarimento contattaci nella sezione commenti.
Tutorial n. 5: Domande di intervista JSON
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test di database con JMeter
- Download dell'eBook Testing Primer
- Oltre 40 migliori strumenti di test di database - Soluzioni di test di dati popolari
- Esercitazione sul test della GUI: una guida completa al test dell'interfaccia utente (UI)
- Un approccio semplice per XML al test di database
- Esercitazione sul test del data warehouse di test ETL (una guida completa)
- Che cos'è il test dell'interfaccia? Conosci i suoi tipi, strategia e strumenti