Sobes.tech
Junior

Kokius programinės įrangos testavimo tipus žinai?

sobes.tech AI

Atsakymas iš AI

  • Vieneto (Unit) testavimas: Atskirų komponentų ar modulių testavimas izoliuotai.
  • Integracinis (Integration) testavimas: Kelis modulius jungiančio sąveikos testavimas.
  • Sistema (System) testavimas: Visos sistemos kaip vieno vieneto testavimas, patikrinant atitiktį funkciniams ir nefunkcinėms reikalavimams.
  • Priėmimo (Acceptance) testavimas: Sistemos patikrinimas galutinių naudotojų ar užsakovų, įsitikinant, kad ji atitinka jų lūkesčius.

Papildomai:

  • Funkcinis testavimas: Sistemos atitikimo funkciniams reikalavimams patikrinimas.
  • Nefunkcinis testavimas: Nefunkcinių aspektų, tokių kaip našumas, saugumas, naudojimo patogumas, patikrinimas.
  • Regresinis testavimas: Patikrinimas, ar kodo pakeitimai nepakenkė esamai funkcionalumui.
  • Aukštos apkrovos testavimas: Sistemos našumo nustatymas esant tam tikrai apkrovai.
  • Streso testavimas: Sistemos patikrinimas ekstremaliomis apkrovos sąlygomis.
  • Saugumo testavimas: Pažeidžiamumų sistemoje nustatymas.
  • Naudojimo patogumo testavimas (Usability testing): Galutinių naudotojų sistemos naudojimo paprastumo ir intuityvumo įvertinimas.

Dažnai naudoju:

// JUnit pavyzdys vieneto testo
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));
    }
}
// Spring Boot integracinio testo pavyzdys
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!");
    }
}