Qual framework de testes você usou?
sobes.tech IA
Resposta da IA
Utilizei vários frameworks de teste, dependendo da pilha tecnológica do projeto e da natureza dos testes. Os mais utilizados foram:
- JUnit / TestNG para testar aplicações Java.
- Pytest / unittest para testar aplicações Python.
- NUnit / xUnit para testar aplicações .NET.
- Mocha / Jest para testar aplicações JavaScript (nomeadamente frontend).
- Cypress / Selenium WebDriver para automação de UI.
- Rest-Assured para automação de testes REST API em Java.
- Requests + pytest para automação de testes REST API em Python.
A escolha do framework baseava-se sempre em fatores como:
- A pilha tecnológica da aplicação.
- Os requisitos de cobertura de testes (Unit, Integration, End-to-End).
- Suporte para integração com sistemas CI/CD.
- A atualidade e atividade da comunidade do framework.
- A experiência da equipa.
Nos projetos onde era necessária uma automação extensa de UI, utilizei ativamente Selenium WebDriver com várias linguagens (Java, Python), bem como Cypress para testes web mais rápidos e fiáveis. Para testes de API, geralmente utilizavam-se bibliotecas especializadas integradas com frameworks de teste gerais (por exemplo, Rest-Assured com JUnit).
Aqui está um exemplo de uso do Pytest para um teste unitário simples:
# test_example.py
def add(a, b):
return a + b
def test_add_positive_numbers():
# Teste de soma de números positivos
assert add(2, 3) == 5
def test_add_negative_numbers():
# Teste de soma de números negativos
assert add(-1, -1) == -2
E aqui um exemplo de uso do JUnit para um teste semelhante:
// AdditionTest.java
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class AdditionTest {
public int add(int a, int b) {
return a + b;
}
@Test
void testAddPositiveNumbers() {
// Teste de soma de números positivos
assertEquals(5, add(2, 3));
}
@Test
void testAddNegativeNumbers() {
// Teste de soma de números negativos
assertEquals(-2, add(-1, -1));
}
}
Cada framework tem suas próprias características e vantagens, e a escolha é sempre motivada pela necessidade de resolver da melhor forma a tarefa de teste.