Sobes.tech
Junior

Jaké typy testování softwaru znáš?

sobes.tech AI

Odpověď od AI

  • Jednotkový (Unit) test: Testování jednotlivých komponent nebo modulů programu izolovaně.
  • Integrační test: Testování interakce mezi více moduly.
  • Systémový (System) test: Testování celého systému jako celku, ověřování souladu s funkčními a nefunkčními požadavky.
  • Akceptační (Acceptance) test: Kontrola systému konečnými uživateli nebo zákazníky, aby se ujistili, že odpovídá jejich očekáváním.

Dále:

  • Funkční testování: Kontrola souladu systému s funkčními požadavky.
  • Nefunkční testování: Kontrola nefunkčních aspektů, jako je výkon, bezpečnost, uživatelská přívětivost.
  • Regresní testování: Kontrola, že změny v kódu neporušily stávající funkčnost.
  • Zátěžové testování: Určení výkonu systému při určité zátěži.
  • Stresové testování: Testování systému v extrémních podmínkách zátěže.
  • Testování bezpečnosti: Odhalování zranitelností v systému.
  • Testování použitelnosti: Hodnocení snadnosti a intuitivnosti používání systému konečnými uživateli.

V mé práci často používám:

// Pří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));
    }
}
// Pří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!");
    }
}