an excellent way data testing using xml technologies
In de SDLC , als de applicatie een watervalmodel gebruikt, worden aan het einde testactiviteiten gepland. Dit vormt een risico van herbewerking met betrekking tot vereisten, ontwerp, code en testcases als het QA-team defecten identificeert. Het is beter om niet tot het einde te wachten om de defecten in een applicatie te identificeren.
Tests die niet zijn gebaseerd op functionele uitvoering van de applicatie, kunnen defecten vinden zonder de vrijgave van alle componenten in de testomgeving verplicht te stellen. Dit kan worden bereikt door gegevens te testen.
De XML en aanverwante technologieën die worden gebruikt voor communicatie tussen verschillende lagen van een applicatie, bieden de mogelijkheid om de tests uit te voeren die niet hoeven te wachten tot de volledige applicatie direct beschikbaar is voor testen.
Dit document schetst een mogelijke manier om vroeg in de levenscyclus van een productrelease naar de optie voor het testen van gegevens te kijken.
Wat je leert:
- Veronderstelling:
- Focusgroep:
- Doel:
- Test de levenscyclus van gegevensbeheer
- Gevolgtrekking
- Aanbevolen literatuur
Veronderstelling:
Dit document gaat ervan uit dat de lezer bekend is met software testconcepten en fundamenteel gebruik van een database en XML-technologieën.
Focusgroep:
QA-team (QA), datateam (DT), ontwikkelaar (DEV)
Doel:
De voorbeeldgegevens geïdentificeerd voor het testen van een product bepaalt de omvang van de uitgevoerde testen, geeft vertrouwen in de testresultaten en de kwaliteit van het product. Het identificeren van de gegevens voor een test hangt af van de vereisten van de uit te voeren test.
Dit document is gericht op het valideren van de testgegevens voordat deze op de gebruikersinterface worden weergegeven.
Dit proces heeft testgegevensbeheer nodig om tot effectieve testresultaten te komen. Gegevens zoals we allemaal weten, kunnen worden opgeslagen in een database of een plat bestand. Maar de gegevensoverdracht van / naar een database kan met XML worden afgehandeld. Er bestaat een zeer nauwe relatie tussen XML (1), XSD (2), XPATH (3) & XSLT (4). (Zie alle onderstaande definities).
(een) XML - is X gespannen M. Arkup L. leed. Het is een aanbeveling van het World Wide Web Consortium (W3C) om gegevens te beschrijven. Als een set correcte syntaxisregels is toegepast, kan men ervoor zorgen dat een XML-document ‘goed opgemaakt’ is
(twee) XSD - Wordt gebruikt om de structuur van een XML-document aan te duiden. Een “goed gevormd” XML-document kan worden gevalideerd tegen een XSD (XML-schema) om het te valideren
(3) XPATH - Een ‘geldige’ en ‘goed opgemaakte’ XML moet worden genavigeerd om de juiste gegevens uit de XML op te halen. XPATH-expressies zien eruit als een traditioneel bestandspad in een directory.
(4) XSLT - is X gespannen S tylesheet L. leed T transformaties - Terwijl de gegevens van een XML op een gebruikersinterface (UI) worden weergegeven, kan elke stijl (lettertype, kleur, grootte, enz.) worden toegepast met behulp van XSLT. XSLT gebruikt XPath om informatie uit de XML te lokaliseren.
Gegevens gepresenteerd in het XML wordt gevalideerd tegen een schema (XSD-bestand). De XML kan met XSLT en XPATH in verschillende formaten worden uitgevoerd.
welke software heb je nodig om een app te maken
Voor deze bespreking zullen we het volgende voorbeeld gebruiken.
Voorbeeld - Een uitgeverij heeft een website met informatie over de boeken die het heeft uitgegeven. Een van de webpagina's geeft een samenvatting weer van elk hoofdstuk van een boek. Testen moet ervoor zorgen dat de inhoud geschikt is voor deze webpagina. De uitgeverij heeft inmiddels miljoenen boeken gepubliceerd.
Alle informatie met betrekking tot de gepubliceerde boeken wordt opgeslagen in een database. Toch heeft de webpagina in kwestie een subset van de gegevens (over een nieuw boek en zijn hoofdstukken) nodig om uit de database te worden geëxtraheerd in een XML.
De onderstaande XML vertegenwoordigt de metadata over het boek.
XML-bestand Book.xml
XML Schema Book.xsd
Test de levenscyclus van gegevensbeheer
Net als bij andere processen, test gegevensbeheer heeft zijn eigen levenscyclus (LC) fasen.
- Identificeer gegevensvereisten
- Plan het verzamelen van gegevens
- Bouw de gegevens
- Test de gegevens
- Gegevensbeheer (niet gedetailleerd in dit document omdat het niet relevant is)
# 1. Identificeer gegevensvereisten
In het bovenstaande voorbeeld slaat de database miljoenen records op. Als de inhoud van alle boeken wordt geëxtraheerd in een XML-bestand, is gedetailleerde validatie vereist. Naarmate nieuwe informatie naar de webpagina moet worden uitgevoerd, kunnen de XML en het schema wijzigingen ondergaan.
De wijzigingen in XML, XSD, XPATH en XSLT vereisen een goede validatie. Maar dit testen hoeft niet te wachten op de release van de presentatie, middleware en datalaag. Q Een team kan XSD analyseren om een plan voor gegevensvereisten op te stellen.
c # interviewvragen en antwoorden voor eerstejaarsstudenten
Levenscyclusfase | Toelatingscriteria | Activiteiten / verantwoordelijkheid | Criteria afsluiten |
---|---|---|---|
Identificeer de vereisten voor testgegevens | De volgende documenten zijn beschikbaar Databaseontwerp, UI-ontwerp, specificatie van vereisten, technische architectuur, gegevensstroomdiagram, use case-diagrammen | Begrijp de gegevensvereisten die verwijzen naar de documenten van de invoercriteria (QA, DT, DEV) Testgegevensvereisten (QA, DT, DEV) - Documenten alle gegevensbehoeften voor elk scherm met een mapping tussen schermweergavenamen en bijbehorend XML-element | Bekijk het document met testgegevensvereisten (QA, DEV, DT) |
Het proces om alle gegevensvereisten voor een product te identificeren, moet betrekking hebben op het volgende:
a) Dekking en volledigheid - Dekken de geïdentificeerde vereisten alle use-cases?
Voorbeeld - Het is erg belangrijk om de gegevenscombinaties voor titel, auteur, categorie, taal in het bovenstaande XML-voorbeeld te testen; aangezien het schema deze velden verplicht stelt.
Dit kan gemakkelijk worden afgehandeld door te kijken naar het XML-schema dat de aanwezigheid van een element / attribuut beschrijft en hun volgorde in de XML
b) Kwaliteit - Zijn de verzamelde gegevens van de best mogelijke kwaliteit? De gebruikte testgegevens bepalen de kwaliteit van de tests die op de applicatie worden uitgevoerd.
- Positief en negatieve scenario's - Testen moet controleren hoe de applicatie zich gedraagt met de geldige / ongeldige invoergegevens
De testgegevensvereisten document geeft een overzicht van de gegevensbehoeften op alle niveaus van de applicatie. Gegevens uit de database kunnen direct in de gebruikersinterface worden gebruikt en / of worden gemanipuleerd (berekeningen, aaneenschakeling, etc.). Daarom is het vereist om alle gegevensbehoeften vast te leggen.
De onderstaande tabel vertegenwoordigt een voorbeeld van een gegevenstabel:
Veldnaam | Data type | Testgegevens | Opmerkingen | Testresultaat |
---|---|---|---|---|
Auteur | Draad | Leeg veld | Omdat het een verplicht veld is. De test zou moeten mislukken. | |
Auteur | Draad | Auteur + @ | Heeft speciale karakters | Deze test zou moeten mislukken |
Auteur | Draad | Auteur naam | Bevat een spatie | Deze test zou moeten slagen |
Auteur | Draad | 123Auteur | Begint met een cijfer | Deze test zou moeten mislukken |
Auteur | Draad | @!Auteur | Begint met speciale tekens | Deze test zou moeten mislukken |
Auteur | Draad | Auteur | Voorvoegsel met spaties | Deze test zou moeten mislukken |
In het bovenstaande voorbeeld kan het gebruik van het gegevenstype tekenreeks voor het veld Auteur worden vermeden. In plaats daarvan kan een patroon worden afgedwongen.
Bijv. alleen alfabetten, begin met een hoofdletter, geen speciale tekens enz. A patroon (het beperken van een elementwaarde gedefinieerd in XSD) kan worden gedefinieerd als
Als dit is ingesteld voor de auteur element in het bovenstaande voorbeeld betekent het, de auteur element moet de waarde hebben met alleen een combinatie van hoofdletters, kleine letters en positieve gehele getallen.
# 2. Plan het verzamelen van gegevens
LC-tafel | Toelatingscriteria | Activiteiten / verantwoordelijkheid | Criteria afsluiten |
---|---|---|---|
Plan het verzamelen van gegevens | Goedgekeurd document met vereisten voor testgegevens | Identificeer de frequentie van gegevensbehoeften (DEV, QA) Lijst met testgegevens (QA) XML-schema (DEV) definiëren | Bekijk de frequentie van gegevensbehoeften en testgegevens (DT) |
# 3. Bouw de gegevens
LC-tafel | Toelatingscriteria | Activiteiten / verantwoordelijkheid | Criteria afsluiten |
---|---|---|---|
Bouw gegevens op | Gegevensverzoekbestand | Bouw de gegevens in de DB (DT) Extraheer de gegevens uit de database in de XML (DT) Valideer de XML tegen Schema (DT) Deel het XML-bestand met QA (DT) | XML-bestand wordt ontvangen door QA-team |
# 4. Test de gegevens
LC-tafel | Toelatingscriteria | Activiteiten / verantwoordelijkheid | Criteria afsluiten |
---|---|---|---|
Test de gegevens | XML-bestand voor gegevensverzoek | Valideer de XML tegen het schema op volledigheid en juistheid (QA) Update het mapping document met testresultaten (QA) | Testresultaten gedeeld met DEV, DT-team |
Zoals vermeld in de bovenstaande tabellen, valideert QA de XML ten opzichte van het schema om te controleren of de gegevens beschikbaar zijn zoals verwacht. Zodra het schema overeenkomt, kan worden bevestigd dat de inhoud en de structuur in orde zijn. Dit bevestigt echter niet dat de gegevens nauwkeurig door het systeem worden opgepikt.
Zoals we weten toont XML een boomstructuur met p arent-kind-broer of zus-voorouder-afstammeling relatie tussen de knooppunten.
Bekijk de onderstaande tabel om de eenvoudigste XPATH-conventies te begrijpen:
Om de velden uit de XML op een scherm weer te geven (als HTML bijvoorbeeld) wordt de XSLT - XPATH combinatie gebruikt.
Op een browser wordt tenslotte de resulterende XML weergegeven zoals hieronder. Aangezien de gegevens al zijn geverifieerd, kan de focus van het testen meer op het uiterlijk en het gevoel van het scherm liggen.
Gevolgtrekking
- Het testen van gegevens die vroeg in de levenscyclus van de ontwikkelingstest worden uitgevoerd, bespaart geld, aangezien de kosten voor het oplossen van een bug tijdens de uitvoering van de functionele test veel meer zijn dan het vroeg in de levenscyclus oplossen
- De inspanning die aanvankelijk is besteed aan het valideren van het XML-bestand, XPath en XSLT met XSD-documenten, helpt om meerdere iteraties van de release te voorkomen
- Q Een team kan nauw samenwerken met het ontwikkelingsteam en een dienst met toegevoegde waarde bieden
- Een QA-team kan helpen bij het bespotten van verschillende combinaties van gegevens om de dekking en correctheid te garanderen
Ik weet zeker dat u deze techniek nuttig zult vinden. Voel je vrij om te reageren als je vragen hebt.
Aanbevolen literatuur
- Een eenvoudige aanpak voor XML naar databasetests
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Belangrijkste verschillen tussen Black Box-tests en White Box-tests
- Top 10 van populaire datawarehouse-tools en testtechnologieën
- ETL-testen Tutorial datawarehouse-testen (een complete gids)
- Primer eBook downloaden testen
- Wat is mutatietesten: zelfstudie met voorbeelden
- Gegevensgestuurde tests uitvoeren met de TestComplete Tool