Junior
Que tipos de testes de software conheces?
sobes.tech IA
Resposta da IA
- Teste unitário (Unit): Teste de componentes ou módulos individuais do programa de forma isolada.
- Teste de integração: Teste da interação entre vários módulos.
- Teste de sistema: Teste de todo o sistema como um todo, verificando o cumprimento dos requisitos funcionais e não funcionais.
- Teste de aceitação: Verificação do sistema pelos utilizadores finais ou clientes para garantir que atende às suas expectativas.
Adicionalmente:
- Teste funcional: Verificação do cumprimento dos requisitos funcionais do sistema.
- Teste não funcional: Verificação de aspetos não funcionais, como desempenho, segurança, facilidade de uso.
- Teste de regressão: Verificação de que as alterações no código não quebraram funcionalidades existentes.
- Teste de carga: Determinação do desempenho do sistema sob determinada carga.
- Teste de stress: Verificação do sistema em condições extremas de carga.
- Teste de segurança: Identificação de vulnerabilidades no sistema.
- Teste de usabilidade: Avaliação da facilidade e intuitividade do uso do sistema pelos utilizadores finais.
No meu trabalho, costumo usar frequentemente:
// Exemplo de teste unitário com 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));
}
}
// Exemplo de teste de integração com 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!");
}
}