Java leren als testautomatiseerder

Java leren als junior testautomatiseerder

Java blijft een van de meest gevraagde programmeertalen voor testautomatisering. Als junior testautomatiseerder is Java leren dus een belangrijke stap, maar hoe zet je de eerste stappen in deze veelzijdige taal?

In dit artikel bespreken we de basisvaardigheden, inclusief voorbeelden, die je omtrent Java nodig hebt als junior testautomatiseerder. We combineren inzichten uit het boek “Java For Testers” met onze eigen ervaringen bij TestPartner.

1. Basiskennis van Java met een praktijkvoorbeeld

Een van de eerste concepten die je moet begrijpen is hoe klassen en methoden in Java werken. Java leren gaat het makkelijkste als je de basis eerst goed onder de knie krijgt Hier is een eenvoudig voorbeeld:

Een lege klasse:

public class MyFirstClass {
// Dit is een lege klasse
}
Een klasse met een methode:

public class HelloWorld {
public void printMessage() {
System.out.println(“Hello, TestPartner!”);
}
Je kunt deze methode aanroepen in een JUnit-test:

import org.junit.Test;

public class HelloWorldTest {
@Test
public void testPrintMessage() {
HelloWorld hello = new HelloWorld();
hello.printMessage(); // Verwacht: “Hello, TestPartner!”
}

2. Gebruik van JUnit: schrijf je eerste test

Alan Richardson benadrukt in “Java For Testers” hoe JUnit een ideale tool is voor beginners. Hier is een voorbeeld om 2 + 2 te testen:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class SimpleMathTest {
@Test
public void testAddition() {
int result = 2 + 2;
assertEquals(“De optelling van 2 + 2 moet 4 zijn”, 4, result);
}
}

Wat gebeurt hier?

@Test: Markeert de methode als een JUnit-test.
assertEquals: Controleert of de uitkomst overeenkomt met de verwachte waarde.
Testresultaat: Als het resultaat niet overeenkomt, krijg je een foutmelding in je IDE.
3. Werken met Klassen en Methodes: Structuur in je Code
Je leert al snel hoe belangrijk het is om je code te organiseren. Hier is een voorbeeld van een klasse met methodes en hoe je die test:

De klasse:

public class Calculator {
public int add(int a, int b) {
return a + b;
}

public int subtract(int a, int b) {
return a – b;
}
}

De bijbehorende test:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class CalculatorTest {
@Test
public void testAddition() {
Calculator calculator = new Calculator();
int result = calculator.add(3, 7);
assertEquals(“3 + 7 moet 10 zijn”, 10, result);
}

@Test
public void testSubtraction() {
Calculator calculator = new Calculator();
int result = calculator.subtract(10, 4);
assertEquals(“10 – 4 moet 6 zijn”, 6, result);
}
}

Waarom is dit belangrijk?
Dit soort tests helpen je om de individuele methodes in Java te valideren en bugs vroeg in de ontwikkelingscyclus te detecteren.

3. Selenium en Java: Automatiseren van Webapplicaties

Een van de meest voorkomende toepassingen van Java in testautomatisering is Selenium. Hier is een voorbeeld om te beginnen:

Voorbeeld: Open een website en controleer de titel

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class SeleniumTest {
@Test
public void testWebsiteTitle() {
// Stel de locatie van de Chrome-driver in
System.setProperty(“webdriver.chrome.driver”, “path/to/chromedriver”);
WebDriver driver = new ChromeDriver();

// Open een website
driver.get(“https://www.testpartner.nl”);

// Controleer de titel
String title = driver.getTitle();
assertEquals(“De titel moet ‘TestPartner’ zijn”, “TestPartner”, title);

// Sluit de browser
driver.quit();
}
}

Wat heb je nodig?

  • ChromeDriver: Download van de officiële ChromeDriver-website.
  • Selenium JAR-bestanden: Voeg ze toe aan je project.

4. API-testen met Java: RestAssured

RestAssured is een krachtig framework om API’s te testen. Hier is een voorbeeld om een GET-verzoek te testen:

Voorbeeld: Controleer de statuscode van een API

import io.restassured.RestAssured;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
import org.junit.Test;

public class ApiTest {
@Test
public void testGetRequest() {
RestAssured.baseURI = “https://jsonplaceholder.typicode.com”;
given()
.when()
.get(“/posts/1”)
.then()
.statusCode(200)
.body(“userId”, equalTo(1))
.body(“title”, notNullValue());
}
}
Wat gebeurt hier?
given(): Definieert de voorwaarden van de API-aanroep.
when(): Voert het verzoek uit.
then(): Controleert de respons, zoals de statuscode en specifieke waarden.

6. Integratie met Maven: Je Project Structuur

Maven helpt je om afhankelijkheden te beheren en je project te organiseren. Je voegt bijvoorbeeld JUnit en Selenium toe via de pom.xml:

xml
Code kopiëren
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>5.3.0</version>
</dependency>
</dependencies>

Wat zijn de voordelen?

  • Automatische afhankelijkheden.
  • Eenvoudig projecten opzetten en delen.

Java leren als testautomatiseerder bij TestPartner?

Met concrete voorbeelden zoals hierboven kun je direct aan de slag met Java leren en testautomatisering. Of je nu simpele rekentests wilt schrijven, webapplicaties wilt automatiseren, of API’s wilt testen, Java biedt de tools om succesvol te worden. Bij TestPartner begeleiden we je graag verder met workshops en persoonlijke ondersteuning om jouw carrière in testautomatisering een vliegende start te geven!

Heb je specifieke vragen of wil je meer voorbeelden? Laat het ons weten!