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