simple approach xml database testing
Dit artikel zal helpen bij het begrijpen van de XML naar Database testen concept , wat een uitdaging is testtype
De gegevensvergelijking is een cruciale taak om met kwaliteit te bereiken. Elke fout leidt tot een of meer fouten in een toepassing.
XML is een berichtformaat voor elektronische communicatie dat gegevens bevat en Database is een fysieke opslag met tabellen / kolommen met gegevens.
De meeste applicaties wisselen gegevens met elkaar uit. Deze communicatie kan de vorm hebben van XML-berichten die gegevens bevatten. Ook deze gegevens worden opgeslagen in een databasesysteem en indien nodig worden de gegevens opgehaald door de applicaties.
Lees ook Een uitstekende manier om gegevens te testen met XML-technologieën
De meeste domeinen zoals financiën, marketing, verkoop, e-commerce, auto, logistiek en productie gebruiken deze techniek voor datacommunicatie met applicaties.
Om het testen van XML naar Database succesvol te maken, is de meest cruciale invoer de mapping document dat definieert elk element in de XML versus de kolommen in de database.
Het toewijzingsdocument biedt een volledige weergave van de elementen (XML) naar de kolommen (DB) -associatie. De XML-elementwaarden kunnen een invoer zijn voor DB-tabellen of vice versa.
wat is een goede site om anime te kijken
Met dit artikel krijgt u een goed begrip van hoe u XML-berichtgegevens kunt testen op de databasegegevens op gegevensnauwkeurigheid.
Wat je leert:
- Laten we het hebben over XML en database:
- Toepassingsarchitectuur:
- Voorbeeld:
- Hoe te testen:
- Voorbeeld uit het echte leven:
- Storingsscenario's:
- Gevolgtrekking:
- Aanbevolen literatuur
Laten we het hebben over XML en database:
Applicaties gebruiken verschillende technieken om met elkaar te communiceren. Berichtcommunicatie via XML is er een van. XML is een betrouwbare techniek om berichten (data) tussen twee applicaties te communiceren. XML bevat een set elementen met specifieke waarden. Soms zijn de waarden NULL of blanco.
Database slaat gegevens op in de vorm van tabellen. Een database bevat meerdere tabellen. Een applicatie kan gegevens in de tabel in een database invoeren en ook de tabelgegevens kunnen indien nodig door applicaties worden opgehaald.
Nu kunnen applicaties gegevens uit databasetabellen opslaan / ophalen in de vorm van XML, en het is een vrij betrouwbare / flexibele techniek om dat te doen.
Toepassingsarchitectuur:
Als tester is het belangrijk om:
- Doorloop de productarchitectuur om te begrijpen hoe de applicaties berichten communiceren tussen modules / databases / Zodra u deze informatie doorneemt en ontdekt dat er inconsistenties / vragen zijn, kunt u contact opnemen met BA / SA voor opheldering.
- Begrijp de stroomopwaartse en stroomafwaartse gegevensstromen van toepassingen.
- De inkomende en uitgaande gegevensstroom naar een applicatie.
In sommige gevallen kunnen de upstream- en downstream-applicaties databases van verschillende applicaties zijn en communiceren / verzenden ze gegevens in XML-formaat met behulp van opgeslagen procedures, webservices, API's, enz. In andere gevallen kan er een combinatie zijn van databases en applicaties die gegevens communiceren met elkaar.
Voorbeeld:
Laten we voor dit artikel over het testen van XML naar databases eens kijken naar een applicatie die communiceert met een database om gegevens op te slaan.
We hebben een downstream-applicatie IBAPX , dat berichten in XML-indeling naar een databasetoepassing verzendt MYDBX We hebben een upstream-applicatie OBAPX , dat gegevens ophaalt van MYDBX voor een rapportagetoepassing RPTX en het is een upstream-applicatie voor OBAPX
Notitie: Voordat u begint, moet u de technologie kennen die wordt gebruikt voor middleware-communicatie (opgeslagen procedure, webservice, API, enz.) En de architectuur duidelijk kennen. Deze informatie staat meestal in het ontwerpdocument of bij SA / BA / Dev-teams.
Nu slaat applicatie IBAPX gegevens op in de databasetoepassing MYDBX. Om te weten welk element van xml is toegewezen aan de kolom van de tabel, moeten we verwijzen mapping document Soms kunnen XML-elementen en kolomnamen hetzelfde zijn of niet. Het verschil is te wijten aan een zakelijke behoefte.
Bijv laten we zeggen dat IBAPX een element verzendt met de naam als ordernummer , maar wanneer de MYDBX dezelfde elementwaarde opslaat in een tabel, verwijst het ernaar als p_orderid kolomnaam. Dit kan te wijten zijn aan het feit dat het XML-element wordt aangeduid als verkoopgerelateerde entiteit, wanneer dezelfde waarde is opgeslagen in de tabel, kan de kolomnaam zijn gewijzigd om te verwijzen naar productiegebruik. Dit kan in andere applicaties veranderen afhankelijk van de zakelijke behoefte.
Hoe te testen:
Hoe kan een tester nu precies alle scenario's effectief en efficiënt testen? Laten we bespreken.
Allereerst neemt u het invoer XML-bestand en valideer de XML-structuur d.w.z. elementen. Dit kan worden gedaan met behulp van XSD die de structuur voor de respectieve XML definieert.
Het XSD-bestand ziet eruit als XML en het definieert de structuur van XML, zoals elementnaam, elementtype, minOccurs, maxOccurs, enz. Zodra de XML-validatie is voltooid, exporteert u het naar Excel. Sleep het xml-bestand gewoon naar een nieuw Excel-blad. U krijgt een pop-upvenster waarin u wordt gevraagd hoe u het bestand wilt openen. Selecteer gewoon ‘Als een XML-tabel’. De gegevens worden als tabel in het Excel-bestand opgeslagen.
U kunt gegevens zien die in de tabel zijn ingevuld, de tabel opvragen met de specifieke gegevens en het record ophalen. Kopieer de gegevens naar hetzelfde Excel-bestand naar een ander blad. Door nu de EXACTE functie in Excel te gebruiken, kunt u eenvoudig de XML-gegevens versus DB-gegevens vergelijken. Zorg ervoor dat u alleen gegevens vergelijkt, niet de kolomnamen.
Op deze manier kunt u meerdere recordgegevens vergelijken en kan veel handmatige inspanning besparen voor het vergelijken van XML-elementgegevenswaarden versus DB-kolomgegevenswaarden.
Zoek de onderstaande module ter referentie:
Notitie: In de bovenstaande afbeelding kun je zien dat de kolomnamen niet overeenkwamen zoals we eerder hebben besproken.
Tip Soms kunt u een probleem tegenkomen bij het vergelijken van grote XML versus DB. In dat geval is het enige dat u hoeft te beheren, het rangschikken van de kolomwaarden in het Excel-blad. Onthoud één ding: Excel-bestandsvergelijking zou moeten beperkt zijn tot een bestandsgrootte van 100 MB U zult prestatieproblemen tegenkomen als u verder gaat.
Zoals we eerder hebben besproken, kunnen de XML-elementwaarden een invoer zijn voor DB-tabellen of vice versa. Dus zodra u het XML-bericht als inkomend bestand naar een toepassing hebt ontvangen vanuit een DB-toepassing, moet u de bovenstaande testtechniek uitvoeren om gegevenswaarden van XML versus DB te vergelijken. Soms moeten we E2E-tests uitvoeren waarbij meerdere applicaties de gegevens verwerken.
Voorbeeld uit het echte leven:
Een gebruiker heeft een boek besteld bij Flipkart, een e-commercesite. Het startpunt is de gebruiker die een artikel bestelt en het eindpunt is het ontvangen van een factuurkopie in het e-commercecentrum. Daarna kunnen enkele scenario's optreden, zoals het retourneren van de bestelling of het ruilen van een bestelling, het retourneren van betalingen enzovoort.
Hier zijn meerdere modules zoals verkoop, inventaris, artikelverwerking, logistiek, betaling, retouren, aanbiedingen, enz. Betrokken om een bestelling te verwerken totdat het artikel de klant bereikt. De E2E-stroom communiceert berichten om de bestelling uit te voeren.
Wanneer u als tester deelneemt aan de E2E-tests, moet u mogelijk de scenario's tegenkomen waarin u Application vs DB of DB naar DB of Application to Application-gegevens valideert. Hier zou u volledige duidelijkheid moeten hebben over de E2E-gegevensstroom, d.w.z. wat de gegevens moeten zijn die door een toepassing worden ontvangen of door de toepassing worden verzonden en welke gegevens worden opgeslagen in DB of opgehaald uit DB.
Storingsscenario's:
Laten we enkele mogelijke foutscenario's bespreken.
- Een eenvoudig foutscenario is onjuiste mapping De mapping tussen de XML-elementen versus DB-kolommen moet tijdens de analyse- of planningsfase door een tester worden geanalyseerd. Bespreek alle zorgen over het in kaart brengen met BA / SA om twijfels weg te nemen. Zodra de toewijzing is bevroren, kunt u ervoor zorgen dat de waarden van de XML-elementen versus DB-kolommen overeenkomen.
- Vergelijk de waarden en als deze niet overeenkomen, registreer dan een defect om het probleem op te lossen. Er zijn een aantal mogelijkheden voor het opgetreden defect, zoals Data defect - May be the probleem met testgegevens Code defect - kan de fout in de code zijn die de datawaarden parseert zodat ze niet in kaart zijn; Artefactdefect - mogelijk onjuiste mapping geleverd door BA / SA.
- XML-formaat probleem - XML-header of metagegevens of enkele onjuiste xml-tags. In dit geval kon de XML zelf de gegevenswaarden niet opslaan in de databasetabel.
- Datatype komt niet overeen - De elementwaarde in de XML heeft meer char in lengte, wat meer is dan de DB-kolom kan accepteren. Dit zal een codeprobleem zijn en het ontwikkelteam moet de nodige wijzigingen aanbrengen in de datatypelengte voor die kolom.
- Omgevingsfout - Omgeving uitgeschakeld of DB-applicatie uitgeschakeld, de gegevensstroom blijft onvolledig.
- Prestatie probleem - Mogelijk is het aantal records waaruit het bericht bestaat enorm, of kan de belasting van de database hoog zijn om te beginnen met het recordbestand is te groot.
- Middleware-fout zal de datastroom van applicatie naar database doen afnemen.
- Probleem met databasetoegang waardoor de inkomende applicatie de gegevens niet naar de betreffende tabel kan verzenden.
Gevolgtrekking:
XML-naar-database-testen zullen complexer zijn wanneer een enkel XML-bericht gegevens opslaat in meerdere systemen. Ook de prestaties van een database voor het opslaan / ophalen van grote hoeveelheden gegevens zal een uitdaging zijn voor een tester om dergelijke scenario's te testen.
Het bovenstaande voorbeeld is een klein segment van testactiviteiten die worden uitgevoerd in een applicatie. Een tester moet mogelijk een grote hoeveelheid gegevenstests uitvoeren met een vergelijkbare aanpak.
Laat ons hieronder uw opmerkingen, vragen en ervaringen weten.
Aanbevolen literatuur
- Database testen met JMeter
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Een uitstekende manier om gegevens te testen met behulp van XML-technologieën (witboek)
- 40+ beste databasetesttools - Populaire datatestoplossingen
- Wat is mutatietesten: zelfstudie met voorbeelden
- Primer eBook downloaden testen
- Top 10 ETL-testtools in 2021
- Volledige gids voor databasetests (waarom, wat en hoe gegevens te testen)