Junior
Koje vrste testiranja softvera poznaješ?
sobes.tech АИ
Одговор од АИ
- Модулно (Unit) тестирање: Тестирање појединачних компоненти или модула програма изоловано.
- Интеграционо (Integration) тестирање: Тестирање интеракције између више модула.
- Системско (System) тестирање: Тестирање целог система као једног целина, провера усклађености са функционалним и нефункционалним захтевима.
- Пријемно (Acceptance) тестирање: Провера система од стране крајњих корисника или наручилаца, како би се уверили да одговара њиховим очекивањима.
Додатно:
- Функционално тестирање: Провера усклађености система са функционалним захтевима.
- Нефункционално тестирање: Провера нефункционалних аспеката као што су перформансе, безбедност, корисничко искуство.
- Регресионо тестирање: Провера да ли промене у коду нису нарушиле постојећу функционалност.
- Нагрузно тестирање: Одређивање перформанси система под одређеном оптерећењем.
- Стрес-тестирање: Провера система у екстремним условима оптерећења.
- Тестирање безбедности: Откривање рањивости у систему.
- Тестирање корисничког искуства (Usability testing): Оцењивање лакоће и интуитивности коришћења система од стране крајњих корисника.
У свом раду често користим:
// Пример јединичног теста са 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));
}
}
// Пример интеграционог теста са 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!");
}
}