Junior
Quels types de tests logiciels connais-tu?
sobes.tech IA
Réponse de l'IA
- Test unitaire (Unit) : Test des composants ou modules individuels du programme de manière isolée.
- Test d’intégration : Test de l’interaction entre plusieurs modules.
- Test système : Test de l’ensemble du système comme un tout, vérifiant la conformité aux exigences fonctionnelles et non fonctionnelles.
- Test d’acceptation : Vérification du système par les utilisateurs finaux ou les clients pour s’assurer qu’il répond à leurs attentes.
De plus :
- Test fonctionnel : Vérification de la conformité du système aux exigences fonctionnelles.
- Test non fonctionnel : Vérification des aspects non fonctionnels, tels que la performance, la sécurité, la convivialité.
- Test de régression : Vérification que les modifications du code n’ont pas rompu les fonctionnalités existantes.
- Test de charge : Détermination des performances du système sous une charge spécifique.
- Test de stress : Vérification du système dans des conditions extrêmes de charge.
- Test de sécurité : Identification des vulnérabilités du système.
- Test d’utilisabilité : Évaluation de la facilité et de l’intuitivité d’utilisation du système par les utilisateurs finaux.
Dans mon travail, j’utilise souvent :
// Exemple de test unitaire avec 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));
}
}
// Exemple de test d’intégration avec 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!");
}
}