Sobes.tech
Junior

Aké typy testovania softvéru poznáš?

sobes.tech AI

Odpoveď od AI

  • Modulové (Unit) testovanie: Testovanie jednotlivých komponentov alebo modulov programu izolovane.
  • Integračné (Integration) testovanie: Testovanie interakcie medzi viacerými modulmi.
  • Systémové (System) testovanie: Testovanie celého systému ako jedného celku, overovanie zhody s funkčnými a nefunkčnými požiadavkami.
  • Prijímacie (Acceptance) testovanie: Kontrola systému koncovými používateľmi alebo zákazníkmi, aby sa uistili, že zodpovedá ich očakávaniam.

Ďalej:

  • Funkčné testovanie: Kontrola zhody systému s funkčnými požiadavkami.
  • Nefunkčné testovanie: Kontrola nefunkčných aspektov ako výkon, bezpečnosť, používateľská prívetivosť.
  • Regresné testovanie: Kontrola, že zmeny v kóde neporušili existujúcu funkcionalitu.
  • Záťažové testovanie: Určenie výkonu systému pri určitej záťaži.
  • Stresové testovanie: Kontrola systému v extrémnych podmienkach záťaže.
  • Testovanie bezpečnosti: Odhalenie zraniteľností v systéme.
  • Testovanie použiteľnosti (Usability testing): Hodnotenie ľahkosti a intuitívnosti používania systému koncovými používateľmi.

Vo svojej práci často používam:

// Príklad jednotkového testu s 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));
    }
}
// Príklad integračného testu s 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!");
    }
}