how perform backend testing
Wat is backend-testen en hoe voer je het uit?
Softwaretoepassingen zijn complex; er is meer dan wat opvalt.
Meest systeemtestinspanningen ga door GUI. Dit komt omdat testen valideert of de software ‘geschikt is voor gebruik’ door de eindgebruiker of niet. Eindgebruikers gebruiken GUI en wij ook; daarom is het erg belangrijk dat software het op dit gebied goed doet.
Maar software heeft ook veel andere elementen die niet direct zichtbaar of beschikbaar zijn voor de gebruiker voor directe interactie. Het maakt deze elementen niet minder belangrijk en ze moeten ook grondig worden getest.
De combinatie van al deze goed werkende elementen maakt een volledig gevormde softwareapplicatie. We kunnen alles combineren wat we niet direct zien als ‘Back-end’.
Enkele van de Backend Testing-elementen zijn:
- Database
- API's
- Servers
Afhankelijk van de aard van de applicatie kan een back-end verschillende netwerkconfiguraties, communicatieprotocollen, enz. Bevatten. Maar meestal zijn er drie elementen.
Laten we nu eens kijken wat er komt kijken bij het testen van elk van deze componenten en hoe.
Wat je leert:
Backend-databasetesten
Wanneer de term ‘Back-endtesten’ wordt gebruikt, betekent dit meestal databasetests.
De database is een belangrijk element van elke applicatie. Wanneer de GUI en de DB naadloos met elkaar samenwerken, werkt uw applicatie goed. Als er problemen zijn, ervaart u inconsistente resultaten, beveiligingsbedreigingen en prestatieknelpunten.
Databases worden doorgaans gevalideerd voor:
- ACID-eigenschappen
- CRUD-operaties
- Schema
- Migratie
- Conformiteit met bedrijfsregels
- Veiligheid
- Prestatie
Geavanceerde ETL- en datawarehouse-onderhoudssystemen moeten ook tegen hen worden getest.
Voor meer informatie over deze soorten testen , bekijk dan de volgende artikelen die al op onze site staan =>
- Alles over databasetests - waarom, hoe en wat te testen?
- ETL versus DB-testen
- ETL-tests - tips, technieken, processen en uitdagingen
Naast de inhoud van de bovenstaande links, is het belangrijke aspect om te herhalen dat database-, ETL- en datawarehouse-tests meer kennis van de SQL
Veel tools worden vaak door testers gebruikt om te communiceren en het DB-gedrag te valideren door middel van queries.
Laten we eens kijken naar een paar categorieën van deze Backend Database-testtools:
# 1) Interfaces waarmee u verbinding kunt maken en uw queries kunt uitvoeren op de databases.
Sommige hebben een GUI en andere niet.
- PAD: Ik weet zeker dat iedereen hiervan heeft gehoord. Het ondersteunt veel DB's en platforms. Het komt zowel als gratis als commerciële versie. Meer informatie, bronnen en de gratis versie zijn te vinden op toadworld
- pHpMyAdmin: Dit is een uitstekende open source-tool waarmee u query's kunt uitvoeren en met uw database kunt communiceren via een gebruikersinterface. Ik heb dit persoonlijk gebruikt en mijn team vindt het geweldig hoe intuïtief de tool is. We hadden geen training nodig om ons op ons gemak te voelen. Ik raad deze tool ten zeerste aan als u op zoek bent naar een verbindingsmedium voor uw MySQL- en MariaDB-databases phpmyadmin
- HeidiSQL: Zeer vergelijkbaar met pHpMyAdmin. Het maakt verbinding met MySQL, Microsoft SQL-databases en PostgreSQL. Open source. Vind meer informatie op hheidisql
De lijst met tools is eindeloos, maar de bovenstaande zijn enkele van de meest populaire keuzes.
# 2) DB-load- en prestatiebenchmarkingtools:
- HammerDB: Het is een open source-tool waar veel DB-experts voor instaan. Ik heb dit persoonlijk niet gebruikt, maar het ondersteunt veel databases. Op basis van de screenshots en het uiterlijk ervan, lijkt het een tool die het bekijken waard is. Meer details op hammerdb
- SLOB: De Silly Little Oracle Benchmark-tool helpt u de I / O-stijl van DB-transacties te timen en te beoordelen. Het kan u helpen de CPU, het geheugen en de verwerkingstijden voor bulktransacties op uw systeem te begrijpen. Meer details op kevinclosson
- Schommelbank : Dit is een tool die erg lijkt op HammerDB. Dit werkt op Oracle DB's en is zeer effectief. Probeer deze gids om de tool en zijn functies te begrijpen: dominicgiles
API-testen
API is strikt genomen niet de back-end, maar aangezien we alles wat niet zichtbaar is voor de eindgebruiker losjes groeperen als de back-end, laten we hier ook kort over praten.
API staat voor Application Program Interface en dit is eigenlijk waar alle programmeerlogica zich bevindt. Het heeft geen gebruikersinterface, wat een van de grootste uitdagingen is als het gaat om het testen ervan. Aan de andere kant, aangezien API's over het algemeen worden gemaakt voordat de gebruikersinterface van de app tot stand komt, betekent het testen van de API meestal vroeg testen.
Berichten en oproepen verzenden / ontvangen worden gebruikt in plaats van het rechtstreeks verzenden en ontvangen van invoer- en uitvoergegevens.
De meest populaire tool die wordt gebruikt voor API-testen is SOAPUI.
- STH als een uitgebreide tutorial over SoapUI op => 15+ SoapUI-zelfstudies - uw complete gids voor SoapUI
- Ook HP UFT kan u hierbij helpen => 16 Nieuwe functies van HP UFT - QTP versus UFT
Alle databases en applicaties zelf zijn geïnstalleerd op servers die deze systemen draaiende houden.
bubble sort implementatie c ++
Er zijn een paar tests die hier worden uitgevoerd:
# 1) Installatie: Zodra de installatie is voltooid, kunt u naar de respectieve mappen gaan en ervoor zorgen dat de bestanden / elementen hun doelmappen hebben bereikt op de manier zoals bedoeld. Als u zich nu afvraagt ‘hoe weet ik waar alles heen moet?’, Vraag het dan aan uw ontwikkelings- of implementatieteams, en zij kunnen dit voor u bevestigen.
Deze stap is misschien niet verplicht, maar sommige bedrijven gebruiken handmatige implementaties. In dat geval kan het een belangrijk worden rook / geestelijke gezondheidstest stap.
# 2) Logboeken: Er worden logboeken bijgehouden voor de status van elke transactie op de servers. Dit geeft ons inzicht of het end-to-end-proces een succes is geweest.
Soms verzendt de front-end geldige gegevens en wordt de database mogelijk correct bijgewerkt. Wat moet ik doen als deze bewerking een uitzondering genereert, een geheugenlek veroorzaakt of een storing veroorzaakt? Het zijn de logboeken aan de serverzijde die deze informatie aan u zullen onthullen.
Het is geen regel, maar over het algemeen zijn de meeste servers op UNIX gebaseerde systemen. Dus om ze gemakkelijk te kunnen verwerken, heb je een manier nodig om verbinding te maken met je server.
PuTTy is zonder twijfel de meest populaire keuze om verbinding te maken met uw servers. Stopverf is een open source product en behoeft geen installatie. Het enige dat u hoeft te doen, is het downloaden en gebruiken.
UNIX-systemen hebben geen grafische gebruikersinterface en dat maakt ze perfect als app- en DB-servers. Ze zijn veilig, abstract, sneller en goedkoper. Er zijn veel smaken van UNIX en vanwege de afwezigheid van GUI zullen we commando's moeten gebruiken om met de server te communiceren. We hebben allemaal onze go-to-bronnen voor UNIX-opdrachten en deze is van mij: freeengineer
# 3) De prestaties en beveiliging van de server:
Net als elk ander onderdeel van de software, moet de server veilig en responsief zijn.
Er zijn veel tools beschikbaar om dit te controleren en om er een te vinden die voor u werkt, bekijk dan deze lijst: 30+ populairste testtools voor webapplicaties
Tenslotte,
Zoals je vast al hebt opgemerkt, zal dit artikel alleen je niet helpen om Backend-testen in zijn geheel te leren. Het verwijst u echter naar bronnen en referenties die u zullen helpen het onder de knie te krijgen. Maak er dus een bladwijzer van voor referentie!
Ook voor degenen onder ons die geneigd zijn te denken dat functioneel testen alles te maken heeft met GUI en front-end, zou dit artikel moeten onthullen dat dit niet het geval is.
Of u nu in de database kijkt of in het logboek controleert op de status van een transactie of een verzoekbericht naar een bepaalde dienst verzendt, u valideert de geschiktheid van het programma om te worden gebruikt.
Met andere woorden, het is functionaliteit. De ‘waar u test’ en ‘hoe u test’ verschillen.
Net zoals een applicatie van alle kanten moet werken om succesvol te zijn, moeten wij testers de vele facetten van een softwaresysteem begrijpen en onderzoeken om te verklaren dat het klaar is voor gebruik.
Over de auteur: Dit artikel is geschreven door STH-teamlid Swati S.
Het is jouw beurt om te delen!
salesforce ontwikkelaar interviewvragen en antwoorden voor ervaren
Vertel ons hoe we het hebben gedaan met dit artikel. Is er een ander type backend-testen dat u uitvoert? Welke tools gebruik je? Welke technieken heb je nuttig gevonden? Zijn er uitdagingen?
Uw opmerkingen, vragen, deelname en lezerspubliek zijn ons dierbaar!
Aanbevolen literatuur
- Beste softwaretesttools 2021 [QA Test Automation Tools]
- Alfatesten en bètatesten (een complete gids)
- Primer eBook downloaden testen
- ETL-testen Tutorial datawarehouse-testen (een complete gids)
- Soorten softwaretests: verschillende testtypen met details
- ETL-tests uitvoeren met de Informatica PowerCenter Tool
- Functioneel testen versus niet-functioneel testen
- Vragen en antwoorden over ETL-tests