using json interface testing
Brug af JSON til interface-test:
Interface test verificerer kommunikationen mellem to forskellige systemer. Det udføres på applikationen under test for at kontrollere, om frem og tilbage kommunikation mellem to netværk udføres korrekt.
En grænseflade er grundlæggende forbindelsen mellem to softwaresystemer, og testning af den forbindelse til dataoverførsel kaldes Interface-test. Interfacet dækker en bred vifte af tjenester i den virkelige verden, den kan bruges til at henvise til webservice, API osv.
Et interface indeholder et sæt regler, meddelelser, kommandoer osv., Der letter kommunikation mellem to systemer.
Denne test koncentrerer sig hovedsageligt om testning af to hovedsegmenter:
- Database- og applikationsserverkommunikation
- Web- og applikationsserverkommunikation
Interface test udføres for at evaluere de ovennævnte scenarier for at validere, om komponenterne videregiver kontrol og data korrekt til hinanden korrekt. Det verificerer også interaktionen mellem forskellige moduler.
Hvad du lærer:
- Hvorfor udføres interface test?
- Hvordan udføres det?
- Forskellen mellem interface test og integration test
- Forretningsscenario
- Opsætning af testmiljø
- Start din test
- Konklusion
- Anbefalet læsning
Hvorfor udføres interface test?
Det udføres for at sikre:
- IIf kommunikationen mellem systemerne udføres korrekt.
- Al software og hardware, der bruges i systemet, fungerer korrekt.
- Alle dokumenter, der er knyttet til kommunikationen, er tilgængelige på alle integrerede platforme.
- Sikkerheds- og krypteringskrav overholder kommunikationen mellem systemerne.
- De integrerede komponenter er i stand til at håndtere netværksfejl og kommunikationstab.
Typer af fundne fejl
De fleste af de mangler, der findes i test af brugergrænsefladen, skyldes forkert kortlægning af dataene mellem systemerne. Derfor kan de fleste af fejlene grundlæggende klassificeres i følgende kategorier.
- Inkonsekvent datatransmission mellem de to systemer.
- Et af systemene fortolker datatransmission fra et andet system fejlagtigt.
- Transmissionskanalen eller grænsefladen mellem de to systemer mislykkes, og det begrænser dataoverførslen mellem systemerne, hvorved hele grænsefladen mislykkes.
Hvordan udføres det?
Det kan primært kategoriseres i følgende faser:
- Grænseflader kan testes individuelt under systemtest . Denne type test udføres hovedsageligt ved hjælp af stub eller dummy-system. Et dummy-system eller stub efterligner opførelsen af hele systeminteraktionen.
- En anden forekomst, hvor interfacetesten udføres, er et kryds, hvor to systemer kommunikerer med hinanden.
- Derfor tester vi, om de data, der sendes af et system, er kortlagt korrekt og indsat i et andet system eller ej. Bortset fra dataindsættelsen kontrollerer vi også for dataintegritet, dvs. dataene, når de indsættes i et andet system, er ikke blevet manipuleret eller ændret osv.
- Test kan også udføres, når et system transmitterer data til en anden applikationsdatabase. Her vil vi teste, om dataene fra et system er korrekt indsat i en given kolonne i den givne tabel baseret på kortlægningen. Vi vil også teste dataintegriteten og datakonsistensen med hensyn til kildesystemet.
I alle disse testscenarier udføres interface-test baseret på forretningskravene og forretningsflowreglerne.
Forskellen mellem interface test og integration test
Verificering og validering af ende til slut-funktionalitet af komponenter, der er forbundet, kaldes Integrationstest eller mere populært som test af systemintegration. Integrationstest validerer hovedsageligt, hvis to eller flere systemer integreret sammen har arbejdet fejlfrit sammen eller ej.
Testning Interface på den anden side koncentreres dybest set om forbindelseskanalen mellem de to systemer. Forbindelseskanalen mellem to eller flere systemer kaldes et interface. Test af denne forbindelseskanal kaldes Interface Testing. De fleste af grænsefladerne er enten API'er eller webtjenester. Det har ikke et brugergrænseflade, men tager et input og præsenterer brugeren for et output.
For eksempel
I ovenstående eksempel deler webstedet og databasen en grænseflade til at overføre loginoplysningerne, dvs. brugernavn og adgangskode.
Interfacet bruger webservice til at sende loginoplysningerne til databasen, hvilket igen validerer ægtheden af den indgående besked (brugernavn og adgangskode) og returnerer værdien som sand, hvis både brugernavnet og adgangskoden matcher den post, der er til stede i databasen eller falsk, hvis nogen af dem eller både brugernavnet og adgangskoden ikke stemmer overens med de tilstedeværende data indeni.
Lad os diskutere eksempel på interface-test:
Lad os sige, at vi har en applikation, hvor vi har forskellige databaser, der interagerer med hinanden.
I denne eksempel , vil vi overveje to databaseinteraktioner gennem en interface-kanal.
Lad os overveje, at der er to databaser eller applikationer, database A og B. 'A' overfører nogle data til 'B', som derefter bruges af B til at udføre nogle operationer. Efter at have udført en bestemt operation på de indgående data indsætter B disse data i databasen og opretter et output JSON til bekræftelse med listen over opdaterede data og sender dem tilbage til A.
Både A og B bruger interface-kanal til kommunikation mellem dem.
Forretningsscenario
“A” indeholder medarbejderdata for alle medarbejdere, der tilhører økonomiafdelingen.
Dataene skal overføres til “B ' på daglig basis. “B” indeholder data om generelle medarbejderoplysninger. Alle data fra “A” skal overføres til en bestemt tabel og kolonne i “B”. Bortset fra de indtastede data skal 'B' også sortere og organisere data. Det skal også sørge for, om dataene er indtastet mod den korrekte medarbejder.
Når dataene er indtastet i systemet, skal “B” sende en output-JSON for at bekræfte, om dataene er indsat i databasen.
I tilfælde af uoverensstemmelse i JSON-skemaet eller manglende data behandler 'B' ikke dataene, og det sender en Afvis JSON-meddelelse med årsagen til afvisning.
Opsætning af testmiljø
For at teste et scenarie som dette har vi brug for en teststub for at efterligne database “A”. Udvikleren kan give et sted, hvor du enten kan dumpe din test-JSON eller en mock UI og indsætte dine JSON-data og påkalde behandlingen gennem grænsefladen. Til testformål kan vi også have en outputplacering, hvor vi kan modtage bekræftelsen JSON fra “B”.
I vores eksempel , vi bruger en mappesti, hvor vi vil sætte vores test JSON, tjenesten vil konstant poke placeringen for JSON-filen. Når filen er til stede, afhenter tjenesten filen og sender den til “B” via grænsefladen. Når filen er hentet, slettes den fra afhentningsstedet.
Start din test
Når testmiljøet er oprettet, er det næste trin at oprette testdata.
Mens vi opretter testdata (læs test JSON), skal vi huske et par ting:
- Følg forretningsreglerne.
- Sørg for, at de obligatoriske felter er til stede.
- Skift værdien af felterne i henhold til forretningsreglerne for hver test.
- Sørg for, at JSON-skemaet er i det korrekte format.
- Sørg for, at nomenklaturen for JSON-filnavnet er overholdt.
Lad os se på den prøftest JSON vi vil bruge til testning:
{ 'employeeID ': 2569875, 'LastName': “Jackson”, 'baseSalary': 2569, 'DesignationCode':'P102', “Expenditure”:{ 'Month':“Feb”, 'Year': 2017, 'Official':560, 'Others”:0, } }
Start din test
Når du har oprettet din JSON-testfil, skal du slippe den på afhentningsstedet. Tjenesten afhenter dette og sender det i database B.
Scenarier til test:
Der kan være en række scenarier, der skal testes for dette eksempel som:
- Arbejder med webservicen for at sende og modtage data.
- Dataintegritet for inputdataene. Dette kan valideres ved at forespørge tabeller og kolonner i database B for de data, der er indtastet gennem testen JSON.
- Negative scenarier.
Først vil vi kontrollere, om JSON-testfilen er afhentet fra placeringen eller ikke er til stede på stedet. Dette vil validere tjenestens arbejde. Derefter navigerer vi til outputmappen for at se output JSON. Tilstedeværelse af output JSON validerer, hvis inputdataene er sendt til database B, og der er modtaget kvittering for det samme.
Den næste del af testningen består i at validere de data, der er indtastet i databasen.
I ovenstående test vil vi validere, hvis de data, der sendes gennem testen JSON, er korrekt indtastet i databasen. Vi validerer dataintegritet, datakonsistens og indsættelse af data. Vi bliver nødt til at søge i database B for den givne kolonne i en bestemt tabel for at validere, hvis dataene er korrekt indsat i tabellen.
Lad os sige, at vi har EmpDetails-tabel, hvor dataene skal indsættes. Så vi kører en forespørgsel for at validere dataene.
Forespørgslen vil være sådan noget:
SELECT employeeID, LastName, baseSalary, DesignationCode, Month, Year, Official, Others FROM EmpDetails Where employeeID = 2569875;
Her bruger vi medarbejder-ID som den primære nøgle til forespørgsel på dataene i EmpDetails-tabellen. Vi spørger ved hjælp af alle kolonnenavnene, hvor dataene er indsat. Derefter kan dataene i kolonnenavnet valideres med de data, der sendes via JSON.
I ovenstående tilfælde lagres dataene fra JSON i mere end en tabel i databasen, hvorfor du kan bruge SQL JOINS til at hente alle de ønskede data.
Det tredje trin i testningen vil være at teste de negative scenarier.
Nogle af de negative scenarier, der kan testes, er:
- Systemets opførsel, når forkerte data tilføres via JSON.
- Når JSON har det forkerte skema eller struktur.
- Når den behandlede JSON mangler den primære nøgle eller obligatoriske felter.
- Nomenklaturen for JSON-filen er ikke gyldig.
I alle disse tilfælde skal systemet være i stand til at håndtere disse scenarier, og ingen data skal indsættes i systemet i henhold til forretningsreglen.
Konklusion
Forbindelseskanalen mellem to systemer, gennem hvilke data transmitteres, kaldes en grænseflade, og grænsefladetest fungerer primært omkring afprøvning af disse forbindelser. De fleste grænseflader gør brug af webservice eller API'er. Det har ikke altid et brugergrænseflade, men det accepterer input og leverer output.
hvad er den bedste fjernelse af malware
At være et af de mest anvendte dataoverførselsformater, kan JSON bruges til interface dataoverførsel.
En tester skal have grundlæggende JSON-strukturviden for at oprette testdata (i form af JSON) og for at læse outputdata fra systemet. En tester skal også være velbevandret med kortlægningen mellem JSON-nøgler og databasetabelkolonne.
Enhver tester, der ønsker at arbejde med interface-test, skal have en klar viden om forretningsretningslinjerne og reglerne for en applikation. En tester skal også have tilstrækkelig viden om databasen og skal kunne skrive enkle SQL-forespørgsler.
For spørgsmål eller afklaring bedes du kontakte os i kommentarfeltet.
Tutorial # 5: JSON Interview Spørgsmål
Anbefalet læsning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Databasetestning med JMeter
- Test af Primer eBook Download
- 40+ bedste databasetestværktøjer - populære datatestløsninger
- GUI Testing Tutorial: A Complete User Interface (UI) Testing Guide
- En enkel tilgang til XML til databasetest
- ETL Testing Tutorial Data Warehouse Testing Tutorial (En komplet guide)
- Hvad er interface test? Kend dens typer, strategi og værktøjer