junit tutorial beginners what is junit testing
In deze JUnit-zelfstudie voor beginners wordt uitgelegd wat unit-testen, testdekking en wat JUnit-testraamwerk is, samen met voorbeelden van JUnit-testcases:
Deze JUnit-serie is voorbereid om zich te concentreren op ons publiek dat zowel absolute beginners is als degenen die een goede kennis hebben van Java of JUnit met een grote interesse in het leren van JUnit.
De serie in zijn totaliteit is zo opgesteld dat je het verschil tussen JUnit 4 en Junit 5 kunt interpreteren.
Laten we JUnit nu gaan verkennen !!
Wat je leert:
qa tester interviewvragen en antwoorden pdf
Lijst met tutorials in deze JUnit-serie
Tutorial # 1: JUnit-zelfstudie voor beginners - Wat is JUnit-testen? [Deze tutorial]
Tutorial # 2: Download, installeer en configureer JUnit in Eclipse
Tutorial # 3: JUnit-tests: hoe u JUnit-testcases schrijft met voorbeelden
Tutorial # 4: Wat is een JUnit-testopstelling: zelfstudie met JUnit 4-voorbeelden
Tutorial # 5: Meerdere manieren om JUnit-tests uit te voeren
Tutorial # 6: Lijst met JUnit-annotaties: JUnit 4 versus JUnit 5
Tutorial # 7: JUnit Negeer testgeval: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Tutorial # 8: JUnit-testsuite en filtertestcases: JUnit 4 versus JUnit 5
Tutorial # 9: JUnit Testuitvoeringsvolgorde: volgorde van tests JUnit 4 versus JUnit 5
Tutorial # 10: Hoe JUnit 5 Annotation @RepeatedTest met voorbeelden te gebruiken
Tutorial # 11: JUnit 5 Geneste klasse: @Nested Tutorial met voorbeelden
Tutorial # 12: JUnit 5 Aangepaste weergavenaam en voorwaardelijke testuitvoering
Tutorial # 13: JUnit Vs TestNG - Wat zijn de verschillen
JUnit-zelfstudie
In een typische, testgestuurde ontwikkelingsbenadering (TDD) richten ontwikkelaars zich op het testen van elk deel van de code die ze ontwikkelen. Hoe beter het testen van een product, hoe beter de kwaliteit ervan. We weten allemaal dat testen parallel moet lopen met elke fase van de levenscyclus van softwareontwikkeling.
Van behoefte en analyse tot ontwerp en ontwikkeling tot onderhoud, aan elke fase moet een passende testfase zijn gekoppeld. Unit testen na ontwikkeling is wat aan te raden is om een robuuste applicatie te bouwen en om een geoptimaliseerde code te hebben.
Wat is het testen van eenheden?
Eenheidstest is het testen van een kleine logica of een code om te verifiëren dat de uitvoer van de code is zoals verwacht bij de invoer van specifieke gegevens en / of het voldoen aan bepaalde voorwaarde (n). Gewoonlijk wordt verondersteld dat de unit-tests onafhankelijk zijn van de andere tests.
Unit-tests zijn niet haalbaar om complexe interfaces met een andere applicatie of externe / externe services te testen. Een unit-test is gericht op slechts een kleine code-eenheid die slechts een methode of een klasse kan zijn.
Het helpt de ontwikkelaar om problemen in de huidige logica en eventuele regressiefouten als gevolg van de huidige wijziging te ontdekken. Bovendien geeft het ook inzicht in hoe de huidige code de toekomstige implementatie kan beïnvloeden.
Testdekking
Het percentage code dat wordt getest door eenheidstests, wordt aangeroepen test dekking
Het doel is om een betere en meer testdekking van de code te hebben, die in de toekomst blijft bijdragen aan de regressietestsuite en helpt om de geautomatiseerde testuitvoering en -verificatie te vergroten, waardoor de handmatige inspanning voor regressietests wordt verminderd.
Het uitvoeren van tests helpt automatisch bij het identificeren van softwareregressieproblemen die worden veroorzaakt door wijzigingen in de huidige code. Met een hoge testdekking van uw code kunt u doorgaan met het ontwikkelen van functies zonder veel handmatige tests uit te voeren.
Velen komen met een vraag hoeveel testdekking essentieel is Het antwoord op deze vraag is dat er geen vaste regel is voor hoeveel dekking van tests essentieel is; het is allemaal veroordelend. Het oordeel wordt beter met ervaring met de applicatieworkflow en historische kennis van de tot dusver gevonden gebreken.
Efficiënte tests hoeven niet per se 100% testdekking te betekenen of automatiseringstests en / of unit-tests op te nemen voor elke afzonderlijke tak of paddekking.
VPN verbinding Duitsland
Bepaalde triviale verificaties, zoals een validatiefoutbericht voor een verplicht veld dat leeg is gelaten en die sinds jaren geen gebreken vertoont, hoeven niet in de regressiesuite te worden opgenomen.
Handmatig testen versus geautomatiseerd testen
Unit-tests kunnen op twee manieren worden uitgevoerd:
- Handmatig testen
- Geautomatiseerd testen
In beide benaderingen blijft de workflow gebruikelijk:
- Een testcase maken
- Herzien
- Herwerk indien nodig correcties
- Voer de testcase uit
- Analyseer de testresultaten
Geautomatiseerd testen heeft de voorkeur boven handmatig testen om de onderstaande redenen:
Handmatig testen | Geautomatiseerd testen |
---|---|
Wanneer een testcase handmatig wordt uitgevoerd zonder tussenkomst van een tool, wordt handmatig testen genoemd. | Wanneer een testcase wordt uitgevoerd met behulp van een tool zonder veel handmatige tussenkomst, wordt dit geautomatiseerd testen genoemd. |
Herhaalde handmatige inspanningen zijn inbegrepen. | Herhaalde handmatige inspanningen kunnen worden vermeden. |
Menselijke inspanningen bij handmatige tests kunnen onjuist en tijdrovend zijn. | Automatiseringstests zijn sneller en foutloos in vergelijking met handmatige inspanningen. |
De benodigde testresources zijn meer voor het handmatig uitvoeren van elke testcase, wat bijdraagt aan de investering in de resources. | Er zijn minder testers nodig om geautomatiseerde tests uit te voeren met behulp van de aangewezen geautomatiseerde tool (s), waardoor er minder wordt geïnvesteerd in testmiddelen, wat bijdraagt aan de winstgevendheid. |
Handmatig testen moet worden beperkt tot een kleine testdekking gezien de tijdlijnbeperkingen. Daarom bestaat het risico dat veel testscenario's worden overgeslagen, wat ook leidt tot het risico van lekkage van defecten. | Veel verschillende testscenario's kunnen worden geautomatiseerd en kunnen meerdere keren worden uitgevoerd, zelfs in tijden van tijd en middelencrisis, wat leidt tot een betere testdekking en een betere kwaliteit van het resultaat. |
Unit Test Framework
We hebben misschien de volgende vraag: hoe ziet een typische testcase van een automatiseringseenheid eruit en welk raamwerk het volgt. De ontwikkelaars gebruiken de Unit Test-kader voor het maken van geautomatiseerde unit-testcases.
- Om te controleren of de code logisch werkt zoals verwacht, wordt een testcase met een specifiek ijkpunt of verificatiecriterium aangemaakt.
- Wanneer de testcase wordt uitgevoerd, voldoen of mislukken de criteria / voorwaarden.
- Er wordt een logboek gegenereerd volgens de testcase-workflow.
- Het raamwerk rapporteert een samengevat resultaat van de geslaagde en mislukte testcases.
- Afhankelijk van de ernst van de storing kan het gebeuren dat de testcase niet verder gaat en de daaropvolgende uitvoering stopt.
- Er kunnen bepaalde kleine, ernstige fouten zijn die in het logboek worden gerapporteerd, maar het toont geen harde stop, maar gaat door zonder de verdere teststappen te blokkeren.
Wat is JUnit?
JUnit is een open-source framework dat wordt gebruikt voor het schrijven en uitvoeren van unit-tests in de programmeertaal Java. Het is een van de bekendste frameworks voor het testen van eenheden.
De onderstaande afbeelding toont de verschillende bekende testtools voor automatiseringseenheden.
Hieronder worden de attributen vermeld waarmee JUnit is verpakt:
- Er is een gigantische lijst met annotaties om veel functies voor de testmethoden te identificeren, uit te voeren en te ondersteunen.
- Er zijn beweringen om de verwachte resultaten te verifiëren.
- Het biedt Test Runner voor het uitvoeren van de tests.
- JUnit biedt een standaard ingebouwd sjabloon, zodat u in een mum van tijd kleine, eenvoudige testcases kunt schrijven.
- JUnit-tests helpen u om onafhankelijke modules te schrijven, waardoor de dekking van de test en de kwaliteit van de toepassing worden verbeterd.
- Het maakt niet alleen het eenvoudig maken en uitvoeren van tests mogelijk, maar biedt de ontwikkelaar ook een schoon en duidelijk expliciet rapport dat de noodzaak voor de ontwikkelaar elimineert om het pad van de rapporten en testresultaten te doorzoeken.
- Totdat de testuitvoering soepel verloopt, kunt u ontspannen kijken naar de groen gekleurde testvoortgangsbalk die wordt weergegeven terwijl de uitvoering aan de gang is, terwijl deze u in 'rood' waarschuwt zodra de test een verificatiecontrolepunt niet doorstaat.
- Er kunnen testsuites worden gemaakt om een reeks of gerelateerde testcases samen te stellen.
Voorbeelden van JUnit Testcase
Hieronder staan de twee voorbeelden van een heel eenvoudig Hello World-programma om inzicht te krijgen in hoe een JUnit-testklasse eruitziet of hoe anders deze eruit ziet in vergelijking met een gewoon Java-klassenbestand.
Voorbeeld 1:
Hier is een JUnit-testcase HelloWorldJUnit.java die verifieert dat de tekenreeks 'Hallo wereld' overeenkomt met de tekenreeks 'hallo wereld' die mislukt bij uitvoering, aangezien de overeenkomst hoofdlettergevoelig is. Daarom komen de twee snaren niet overeen met de test mislukt
De code voor HelloWorldJUnit.java
Voorbeeld 2:
Hier zullen we zien hoe een gebruikelijk Java class-bestand interageert met een JUnit testcase. We creëren een Java class-bestand HelloWorld_Java.java met een constructor waarmee we een String-waarde kunnen doorgeven en een methode getText () om de string-waarde op te halen.
JUnit Test klasse HelloWorldJUnit.java wordt zo gemaakt dat het klasseobject voor HelloWorld_Java wordt gemaakt en de werkelijke tekenreekswaarde wordt doorgegeven aan het object. De assertEquals () van JUnit controleert of de verwachte en werkelijke stringwaarden overeenkomen.
De code voor HelloWorld_Java.java
De code voor HelloWorldJUnit.java
Het resultaat ziet eruit zoals hieronder, waar we zien dat de twee snaren overeenkomen. Daarom is de JUnit-test geslaagd.
Gevolgtrekking
Als het erom gaat u een snel overzicht te geven van wat JUnit is en wat het doet, JUnit is een prachtig vormgegeven framework waarmee u op een geautomatiseerde manier unit-tests kunt maken en uitvoeren.
hoeveel is het verkooppunt van quickbooks
Het is een open-source tool en toch zo probleemloos. Of het nu gaat om het aanmaken van testcases of het uitvoeren van een testcase of het rapporteren na uitvoering of het onderhouden van de tests, JUnit is elegant in elk aspect. Ja, het kan ook elegant mislukken; en we zullen zien hoe dat gebeurt in onze aanstaande tutorial terwijl we verder gaan.
Over de auteur: Deze tutorial is geschreven doorShobhaD. Ze werkt als projectleider en heeft meer dan 9 jaar ervaring in handmatige, automatisering en API-testen.
Laten we hier verder dieper ingaan op elk aspect van JUNIT.
Aanbevolen literatuur
- Zelfstudie over reflectie in Java met voorbeelden
- Java String bevat () Method Tutorial met voorbeelden
- Jagged Array in Java - Tutorial met voorbeelden
- Diepgaande Eclipse-zelfstudies voor beginners
- Java SWING-zelfstudie: afhandeling van containers, componenten en gebeurtenissen
- Ternaire operator in Java - Tutorial met voorbeelden
- 20+ MongoDB-zelfstudie voor beginners: gratis MongoDB-cursus
- Spock-zelfstudie: testen met Spock en Groovy