Sobes.tech
Junior

Welke soorten softwaretesten ken je?

sobes.tech AI

Antwoord van AI

  • Unit-test (Eenheidstest): Testen van afzonderlijke componenten of modules van het programma geïsoleerd.
  • Integratietest: Testen van de interactie tussen meerdere modules.
  • Systeemtest: Testen van het hele systeem als één geheel, waarbij wordt gecontroleerd of het voldoet aan functionele en niet-functionele eisen.
  • Acceptatietest: Controle door eindgebruikers of klanten om te verzekeren dat het systeem aan hun verwachtingen voldoet.

Daarnaast:

  • Functionele test: Controle of het systeem voldoet aan de functionele eisen.
  • Niet-functionele test: Controle van niet-functionele aspecten zoals prestaties, veiligheid, gebruiksgemak.
  • Regressietest: Controleren of wijzigingen in de code de bestaande functionaliteit niet hebben verstoord.
  • Belastingstest: Bepalen van de prestaties van het systeem onder een bepaalde belasting.
  • Stress-test: Testen van het systeem onder extreme omstandigheden.
  • Beveiligingstest: Identificatie van kwetsbaarheden in het systeem.
  • Gebruikersvriendelijkheidstest: Beoordeling van de gebruiksvriendelijkheid en intuïtiviteit van het systeem voor eindgebruikers.

In mijn werk gebruik ik vaak:

// Voorbeeld van een unittest met JUnit
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class MyServiceTest {

    @Test
    void testAdd() {
        MyService service = new MyService();
        assertEquals(5, service.add(2, 3));
    }
}
// Voorbeeld van een integratietest met Spring Boot
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyControllerIntegrationTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    void testHelloEndpoint() {
        ResponseEntity<String> response = restTemplate.getForEntity("/hello", String.class);
        assertThat(response.getBody()).isEqualTo("Hello, World!");
    }
}