simple approach xml database testing
Questo articolo aiuterà a comprendere l'XML in Concetto di test del database , che è una sfida tipo di test .
Il confronto dei dati è un'attività fondamentale da eseguire con qualità. Qualsiasi difetto provocherà uno o più errori in un'applicazione.
XML è un formato di messaggio di comunicazione elettronica che contiene dati e Database è un archivio fisico con tabelle / colonne contenenti dati.
La maggior parte delle applicazioni scambiano dati tra loro. Queste comunicazioni possono essere sotto forma di messaggi XML che contengono dati. Anche questi dati vengono memorizzati in un sistema di database e quando richiesto i dati vengono recuperati dalle applicazioni.
Leggi anche => Un modo eccellente per testare i dati utilizzando le tecnologie XML
La maggior parte dei domini come finanza, marketing, vendite, e-commerce, automobile, logistica e produzione utilizzano questa tecnica per la comunicazione dei dati con le applicazioni.
Per fare in modo che il test da XML a Database abbia successo, l'input più cruciale è il documento di mappatura che definisce ogni elemento nell'XML rispetto alle colonne nel database.
Il documento di mappatura fornirà una rappresentazione completa degli elementi (XML) all'associazione delle colonne (DB). I valori dell'elemento XML possono essere un input per le tabelle DB o viceversa.
elenco di indirizzi e-mail falsi da utilizzare
Con questo articolo, avrai una buona comprensione di come testare i dati dei messaggi XML nei dati del database per l'accuratezza dei dati.
Cosa imparerai:
- Parliamo di XML e database:
- Architettura dell'applicazione:
- Esempio:
- Come testare:
- Esempio di vita reale:
- Scenari di guasto:
- Conclusione:
- Lettura consigliata
Parliamo di XML e database:
Le applicazioni utilizzano tecniche diverse per comunicare tra loro. La comunicazione dei messaggi tramite XML è uno di questi. XML è una tecnica affidabile per comunicare messaggi (dati) tra due applicazioni. XML contiene un insieme di elementi che hanno valori specifici. A volte i valori possono essere NULL o vuoti.
Il database memorizza i dati sotto forma di tabelle. Un database contiene diverse tabelle. Un'applicazione può inserire dati nella tabella in un database e anche i dati della tabella possono essere recuperati dalle applicazioni quando richiesto.
Ora le applicazioni possono memorizzare / prelevare dati dalle tabelle del database sotto forma di XML, ed è una tecnica abbastanza affidabile / flessibile per farlo.
Architettura dell'applicazione:
In qualità di tester è importante:
- Esaminare l'architettura del prodotto per capire come le applicazioni comunicano i messaggi tra moduli / database / Dopo aver esaminato queste informazioni e scoperto che sono presenti incongruenze / domande, è possibile contattare BA / SA per chiarimenti.
- Comprendere i flussi di dati delle applicazioni upstream e downstream.
- Il flusso di dati in entrata e in uscita verso un'applicazione.
In alcuni casi le applicazioni upstream e downstream possono essere database di diverse applicazioni e comunicano / trasmettono dati in formato XML utilizzando stored procedure, servizi Web, API, ecc. In altri potrebbe esserci una combinazione di database e applicazioni che stanno comunicando dati insieme.
Esempio:
Per questo articolo di test da XML a database, consideriamo un'applicazione che comunica con un database per memorizzare i dati.
Abbiamo un'applicazione a valle IBAPX , che trasmette i messaggi in formato XML a un'applicazione di database MYDBX . Abbiamo un'applicazione a monte OBAPX , che recupera i dati da MYDBX per un'applicazione di reporting RPTX ed è un'applicazione a monte per OBAPX .
Nota: Prima di iniziare, conoscere la tecnologia utilizzata per la comunicazione middleware (Stored Procedure, Webservice, API, ecc.) E conoscere chiaramente l'architettura. Queste informazioni si trovano solitamente nel documento di progettazione o con i team SA / BA / Dev.
Ora l'applicazione IBAPX sta memorizzando i dati nell'applicazione database MYDBX. Per sapere quale elemento di xml è mappato alla colonna della tabella, dobbiamo fare riferimento documento di mappatura . A volte gli elementi XML e i nomi delle colonne possono essere uguali o meno. La differenza è dovuta a un'esigenza aziendale.
Per esempio . diciamo che IBAPX sta inviando un elemento con il nome come salesordernumber , ma quando MYDBX memorizza lo stesso valore di elemento in una tabella, si riferisce ad esso come p_orderid nome della colonna. Ciò può essere dovuto al fatto che l'elemento XML viene indicato come entità correlata alle vendite, quando lo stesso valore è memorizzato nella tabella il nome della colonna potrebbe essere stato modificato per fare riferimento all'uso di produzione. Questo può cambiare in altre applicazioni in base alle esigenze aziendali.
Come testare:
In che modo esattamente un tester può testare tutti gli scenari in modo efficace ed efficiente? Discutiamone.
Prima di tutto prendi il file XML di input e convalidare la struttura XML cioè elementi. Questo può essere fatto con l'aiuto di XSD che definisce la struttura per il rispettivo XML.
Il file XSD ha l'aspetto di XML e definisce la struttura di XML, come il nome dell'elemento, il tipo di elemento, minOccurs, maxOccurs, ecc. Una volta completata la convalida XML, esportalo in Excel. Basta trascinare il file xml su un nuovo foglio Excel. Ti verrà visualizzato un popup che ti chiederà come desideri aprire il file, seleziona semplicemente 'Come tabella XML'. I dati verranno salvati nel file excel come tabella.
È possibile visualizzare i dati inseriti nella tabella, interrogare la tabella con i dati particolari e recuperare il record. Copia i dati nello stesso file Excel su un altro foglio. Ora utilizzando la funzione ESATTO in Excel puoi facilmente confrontare i dati XML con i dati DB. Assicurati di confrontare solo i dati non i nomi delle colonne.
In questo modo puoi confrontare più dati di record e può far risparmiare molto lavoro manuale per confrontare i valori dei dati degli elementi XML con i valori dei dati delle colonne DB.
Trova lo snap qui sotto per riferimento:
Nota: Nell'immagine sopra puoi vedere che i nomi delle colonne non corrispondono come abbiamo discusso in precedenza.
Mancia: A volte potresti incontrare un problema durante il confronto tra XML di grandi dimensioni e DB. In tal caso, l'unica cosa che devi gestire è disporre i valori delle colonne nel foglio Excel. Ricorda una cosa: Il confronto dei file di Excel dovrebbe essere limitato a una dimensione di file di 100 MB . Incontrerai problemi di prestazioni se vai oltre.
Come abbiamo discusso in precedenza, i valori dell'elemento XML possono essere un input per le tabelle DB o viceversa. Quindi, una volta che si riceverà il messaggio XML come file in entrata a un'applicazione da un'applicazione DB, è necessario eseguire la tecnica di test sopra per confrontare i valori dei dati di XML e DB. A volte è necessario eseguire test E2E in cui più applicazioni stanno elaborando i dati.
Esempio di vita reale:
Un utente ha ordinato un libro da Flipkart, un sito di e-commerce. Il punto di partenza è l'utente che ordina un articolo e il punto finale è la ricezione della copia della fattura presso il centro e-commerce. Successivamente potrebbero verificarsi alcuni scenari come restituzione dell'ordine o scambio di ordine, restituzione del pagamento e così via.
Qui sono coinvolti più moduli come vendite, inventario, elaborazione degli articoli, logistica, pagamento, resi, offerte, ecc. Per elaborare un ordine fino a quando l'articolo non raggiunge il cliente. Il flusso E2E sta comunicando messaggi per evadere l'ordine.
In qualità di tester quando ti impegnerai nel test E2E, potrebbe essere necessario imbatterti in scenari in cui convaliderai i dati Application vs DB o DB to DB o Application to Application. Qui dovresti avere una chiarezza completa sul flusso di dati E2E, ovvero quali dovrebbero essere i dati ricevuti da un'applicazione o inviati dall'applicazione e quali sono i dati memorizzati nel DB o recuperati dal DB.
Scenari di guasto:
Parliamo di alcuni possibili scenari di errore.
- Un semplice scenario di fallimento è mappatura errata . La mappatura tra gli elementi XML e le colonne DB dovrebbe essere analizzata durante la fase di analisi o pianificazione da un tester. Discutere tutti i problemi di mappatura con BA / SA per chiarire i dubbi. Una volta congelata la mappatura, puoi assicurarti che gli elementi XML e i valori delle colonne DB corrispondano.
- Confronta i valori e, se non corrispondono, registra un difetto per risolvere il problema. Esistono numerose possibilità per il difetto sollevato, come Difetto dei dati: potrebbe essere il file problema dei dati di test ; Difetto del codice - Può essere il bug nel codice che analizza i valori dei dati per non mappare; Difetto del manufatto: potrebbe essere una mappatura errata fornita da BA / SA.
- Problema con il formato XML - Intestazione o metadati XML o alcuni tag xml errati. In questo caso, l'XML stesso non è riuscito a memorizzare i valori dei dati nella tabella del database.
- Tipo di dati non corrispondente - Il valore dell'elemento nell'XML ha una lunghezza maggiore di caratteri, maggiore di quella che la colonna DB può accettare. Questo sarà un problema di codice e il team di sviluppo dovrà apportare le modifiche necessarie alla lunghezza del tipo di dati per quella colonna.
- Fallimento ambientale - Ambiente inattivo o applicazione DB inattiva, il flusso di dati rimane incompleto.
- Problema di prestazioni - Potrebbe essere la quantità di record che consiste nel messaggio è enorme o il carico sul DB potrebbe essere elevato per iniziare con un record consistente è troppo grande.
- Errore del middleware provocherà il calo del flusso di dati dall'applicazione al database.
- Problema di accesso al database a causa della quale l'applicazione in entrata non è in grado di inviare i dati alla rispettiva tabella.
Conclusione:
Il test da XML a database sarà più complesso quando un singolo messaggio XML memorizzerà i dati in più sistemi. Anche le prestazioni del database per l'archiviazione / il recupero di grandi volumi di dati rappresenteranno una sfida per un tester per testare tali scenari.
L'esempio sopra è un piccolo segmento di attività di test che vengono eseguite in un'applicazione. Un tester potrebbe dover eseguire una grande quantità di test sui dati con un approccio simile.
Fateci sapere i vostri commenti, domande ed esperienze di seguito.
Lettura consigliata
- Test di database con JMeter
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Un modo eccellente per testare i dati utilizzando le tecnologie XML (white paper)
- Oltre 40 migliori strumenti di test di database - Soluzioni di test di dati popolari
- Che cos'è il test di mutazione: tutorial con esempi
- Download dell'eBook Testing Primer
- I 10 migliori strumenti di test ETL nel 2021
- Guida completa al test del database (perché, cosa e come testare i dati)