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!");
}
}