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