Sobes.tech
Junior

Ce tipuri de teste de software cunoști?

sobes.tech AI

Răspuns de la AI

  • Test de unitate (Unit): Testarea componentelor sau modulelor individuale ale programului în mod izolat.
  • Testare de integrare: Testarea interacțiunii dintre mai multe module.
  • Testare de sistem: Testarea întregului sistem ca un tot, verificând conformitatea cu cerințele funcționale și non-funcționale.
  • Testare de acceptare: Verificarea sistemului de către utilizatorii finali sau clienți pentru a se asigura că acesta corespunde așteptărilor lor.

În plus:

  • Testare funcțională: Verificarea conformității sistemului cu cerințele funcționale.
  • Testare non-funcțională: Verificarea aspectelor non-funcționale, cum ar fi performanța, securitatea, ușurința în utilizare.
  • Testare de regresie: Verificarea faptului că modificările în cod nu au afectat funcționalitatea existentă.
  • Testare de încărcare: Determinarea performanței sistemului sub o anumită sarcină.
  • Testare de stres: Verificarea sistemului în condiții extreme de încărcare.
  • Testare de securitate: Identificarea vulnerabilităților în sistem.
  • Testare de uzabilitate: Evaluarea ușurinței și intuitivității utilizării sistemului de către utilizatorii finali.

În activitatea mea, folosesc frecvent:

// Exemplu de test unitar cu 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));
    }
}
// Exemplu de test de integrare cu 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!");
    }
}