Sobes.tech
Junior

Conheces algum tipo de teste?

sobes.tech IA

Resposta da IA

Sim, eu sei.

Principais tipos de testes:

  • Testes funcionais:

    • Testes de fumaça (Smoke Testing)
    • Testes de sanidade (Sanity Testing)
    • Testes de integração (Integration Testing)
    • Testes de sistema (System Testing)
    • Testes de regressão (Regression Testing)
    • Testes de aceitação (Acceptance Testing) - incluindo testes alfa e beta.
  • Testes não funcionais:

    • Testes de desempenho (Performance Testing) - inclui testes de carga, stress e volume.
    • Testes de segurança (Security Testing)
    • Testes de usabilidade (Usability Testing)
    • Testes de compatibilidade (Compatibility Testing)
    • Testes de fiabilidade (Reliability Testing)
    • Testes de acessibilidade (Accessibility Testing)
    • Testes de localização (Localization Testing)
    • Testes de internacionalização (Internationalization Testing)
  • Testes relacionados com alterações:

    • Testes de fumaça (Smoke Testing)
    • Testes de regressão (Regression Testing)
  • Testes estruturais (baseados em código):

    • Testes unitários (Unit Testing)
    • Testes de caixa branca (White Box Testing)
  • Testes baseados na experiência:

    • Testes exploratórios (Exploratory Testing)
    • Testes baseados em listas de verificação (Checklist-based Testing)
    • Testes baseados em cenários (Scenario-based Testing)

Exemplos de aplicação de alguns tipos:

Tipo de teste Descrição breve Quando se aplica
Teste de fumaça Verificação das funções principais após compilação ou implantação. Cada nova compilação.
Teste de regressão Verificar que as alterações não introduziram novos defeitos na funcionalidade existente. Após cada alteração ou correção de defeitos.
Teste de carga Verificar o comportamento do sistema sob carga esperada. Antes de colocar em produção, com alterações na arquitetura.
Teste unitário Testes de componentes ou módulos de código individuais. Na fase de desenvolvimento, pelos desenvolvedores.

Na automação de testes, geralmente automatizamos testes de regressão, testes de integração e, às vezes, testes de desempenho e segurança.

// Exemplo de testes unitários (JUnit)
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3), "Somar 2 e 3 deve ser 5");
    }
}
# Exemplo de teste Selenium Webdriver (Python)
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()