What is Software Testing?

What is Software Testing?

O que é Teste de Software?

Motivação e Objetivos dos Testes

  • O teste de software visa garantir um nível de qualidade esperado pelos stakeholders, embora não seja possível garantir que o sistema sempre corresponderá a essas expectativas.
  • Os testes fornecem evidências do comportamento do sistema em situações específicas, mas não cobrem todas as possíveis situações devido à complexidade e ao número infinito de estados.

Importância da Suíte de Testes

  • A eficácia dos testes depende da qualidade da suíte de testes; uma boa suíte traz evidências mais robustas sobre o funcionamento do sistema.
  • Além de detectar problemas, os testes ajudam a localizar defeitos no código e facilitam a refatoração do sistema, proporcionando segurança ao desenvolvedor.

Funcionalidades e Robustez

  • O comportamento esperado do sistema está relacionado às funcionalidades e à corretude das mesmas em relação às expectativas dos stakeholders.
  • Os testadores priorizam funcionalidades complexas ou críticas, pois não é viável testar todas as funcionalidades disponíveis.

Tipos de Testes Realizados

  • Embora existam diversos tipos de testes (como performance e segurança), o foco principal aqui será na verificação da correta implementação das funcionalidades.
  • É importante avaliar como o sistema se comporta em situações inadequadas, como entradas incorretas, garantindo mensagens de erro apropriadas.

Processo de Teste Automatizado

  • O engenheiro de requisitos coleta informações dos stakeholders para elaborar documentos que descrevem o que o sistema deve fazer.
  • O testador analisa esses documentos para entender as expectativas e pode optar por realizar testes manuais ou automatizados.
Playlists: Testing