O documento discute testes ágeis, apresentando conceitos como teste de unidade, integração e aceitação. Também apresenta ferramentas como Mocha.js, Chai.js e Selenium para automatizar testes em Node.js de forma ágil, seguindo princípios como TDD.
5. O que é Teste Ágil?
O conceito de Teste de software em métodos ágeis envolve
um processo mais humano e menos documental do
processo de testes.
Aplicação de testes em métodos ágeis, precisa de:
Cliente + Time de Desenvolvimento => Gerando Valor
6. Tipos de Testes
Teste de Unidade
- Menor parte testável de um programa de computador;
- Possui maior isolamento, por isso, é o mais rápido se executar.
Teste de Serviço/Integração
- Combina módulos para simular os funcionamento;
- Exemplos: acessos ao banco de dados, API`s, webservice.
Teste de Aceitação
- Teste de caixa preta, com foco em verificar o sistema em relação aos seus
requisitos originais.
9. Ferramentas
Node.js
- Interpretador de código Javascript com o código aberto, feito pela Google;
- Focado em executar o Javascript do lado do servidor.
Mocha.js
- Framework para cobertura dos testes tanto no back-end quanto no front-end;
- Devido sua flexibilidade e simplicidade trabalha com teste TDD e BDD.
Chai.js
- Biblioteca de assertiva de BDD / TDD em Node.js;
- Funciona com qualquer framework de teste de Javascript.
10. Ferramentas/Conceitos
Supertest
- Biblioteca que emula a aplicação web em HTTP.
Selenium-webdriver
- Automação de testes funcionais em qualquer linguagem, seja para web
mobile e desktop;
Page Object (pattern)
- Abstração de elementos da interface, permitindo que seja manipulado sem
Acessá-los;
TDD (Test Driven Development)
- Cultura e filosia de trabalho de
desenvolvimento de software.