Testes
Os testes são fundamentais para garantir que a aplicação, casos de uso e infra estejam funcionando corretamente. Fazem parte do Processo de Entrega do Produto e possui diversas etapas de validação para garantir funcionamento.
Testes de Desenvolvimento
Durante o desenvolvimento de uma story, o programador realiza testes para validar que a API está funcionando, as ações nas telas estão de acordo com o esperado, etc. Nesta fase também são escritos os testes unitários e o código é desenvolvido com base no processo TDD (Test-Driven Development – Desenvolvimento Orientado a Testes).
Testes de APIs
Após todas as stories de uma feature terem sido desenvolvidas, na teoria, a feat está pronta e ela é passada para fase de testes.
Para o FWM, ainda na fase de desenvolvimento, é realizado o teste das APIs. Um tester valida na prática que as APIs estão funcionando corretamente para todos os casos de uso, todas as regras de infra definidas e regras de negócio. Nesta fase, todos os testes são realizados com base na documentação da API que foi escrita e com o objetivo de validar a Definição de Conclusão (Definition of Done) descrita na Feature. Caso encontre inconsistências, o tester abre um ticket de fix para correção. Após os testes, as stories são passadas para desenvolvimento do Frontend.
Os testes das APIs são realizados através do Postman. Mas detalhes no procedimento de uso do Postman.
Testes de Features e Bugs
Após desenvolvimento de front, back e infra, as features e bugs estão completamente finalizados e passam para etapa de testes. No teste das features e bugs, um tester valida na prática todos os casos de uso, todas as regras de infra definidas e regras de negócio. O papel do tester é simular todas as possíveis ações do usuário e identificar correções necessárias. Caso encontre inconsistências, o tester abre um ticket de fix para correção.
Testes de Release e Hotfix
Após testado individualmente cada feature e bug, é realizado merge das branches para branch de release (no caso das features) e hotfix (no caso dos bugs). Um dia antes da data de liberação da versão, novamente o tester realiza os testes sobre todas as features juntas e todos os bugs corrigidos juntos, em uma única branch de pré-liberação (homologação). Aqui são realizados testes de fumaça, para revalidar que tudo está funcionando e que novas funcionalidades não afetem o que está em produção. Caso encontre algum problema, é feito revert da feat ou bug e este não é liberado, ou ainda, é realizado o fix para viabilizar a liberação.