A pirâmide de teste enfatiza muitos testes para os níveis mais baixos (base da pirâmide) e, conforme
o desenvolvimento se move para níveis superiores, o número de testes diminui (topo da pirâmide).
Normalmente, os testes de unidade e no nível de integração são automatizados e são criados usando
ferramentas baseadas em API
Nos níveis de sistema e de aceite, os testes automatizados são criados usando as ferramentas
baseadas em GUI
Conceito: Teste o mais cedo possível
TDD - Test Driven Development
código guiado por casos de testes automatizados
Processo
1. Adicionar um teste que captura o conceito do programador do funcionamento desejado de uma
pequena parte do código.
2. Realizar o teste, o qual falhará uma vez que o código não existe.
3. Escrever o código e realizar o teste em um loop estreito até o teste seja aprovado
4. Decompor o código após a aprovação do teste, reexecutar o teste para garantir a continuidade da
aprovação do código decomposto.
5. Repetir esse processo para a próxima pequena parte do código, realizando os testes anteriores,
bem como os testes adicionados.
Os testes escritos são principalmente no nível de unidade e
são focados no código mas também podem ser realizados no nível de integração e sistemas
ATDD - Acceptance Test Driven Development
é uma abordagem colaborativa que permite que todas as partes interessadas compreendam como o
componente de software tem que se comportar e o que os desenvolvedores, testadores e as partes
interessadas precisam para garantir esse comportamento.
cria testes reutilizáveis para teste de regressão.
permite a resolução rápida de defeitos e validação de comportamento da funcionalidade
ajuda a determinar se os critérios de aceite são cumpridos para a funcionalidade
testes realizados no nível do sistema ou aceite
BDD - Behavior Driven Development
permite que um desenvolvedor se concentre em testar o código com base no
comportamento esperado do software
os testes são geralmente mais fáceis para o entendimento de outros
membros da equipe e partes interessadas
gera um código que pode ser usado por desenvolvedores para criar casos de teste
ajuda o desenvolvedor a colaborar com outras partes interessadas, incluindo os testadores para
definir testes de unidade acurados focados nas necessidades comerciais
Dado algum contexto inicial, Quando ocorre um evento, Então aguarde alguns resultados