Home | Escopo e Cronograma | Processo | Design/Mockups | Configuração | Arquitetura | Código | BD | Qualidade | Utilização |
---|
Controle de Qualidade
Descrição
Esta seção contém todas as metodologias escolhidas para realização dos testes do projeto.
Sumário
Backend
No backend temos o uso de testes unitários/integração através da ferramenta jest (https://jestjs.io/pt-BR/). Com essa ferramenta podemos criar os módulos da aplicação e testar as controllers, chamando os métodos diretamente para simular uma chamda para a API. O Jest também disponibiliza uma análise de cobertura do código. Para acessar os resultados dos testes e o relatório de cobertura basta acessar as pipelines do projeto e checar no step de "test" conforme screenshots abaixo:
Alguns exemplos de testes implementados e do uso de mocks podem ser encontrados aqui:
- https://tools.ages.pucrs.br/idoso-mais/idoso-mais-backend/-/blob/develop/src/api/user/user.controller.spec.ts
- https://tools.ages.pucrs.br/idoso-mais/idoso-mais-backend/-/blob/develop/src/api/health/health.controller.spec.ts
E os passos para execução dos comandos de testes estão disponíveis no README do projeto de backend.
Frontend
e2e
Os testes do frontend são testes end-to-end, que seria testar a aplicação de ponta a ponta. No frontend isso se aplica testando os componentes usados no desenvolvimento das telas, assim como todo o seu user flow.
Para isso, usamos a ferramenta Cypress, que nos permite visualizar a aplicação sendo testada em tempo real, simulando um usuário comum do aplicativo.
Os testes estão localizados no repositório idoso-mais-qa, onde também é possível ver o passo a passo da instalação da ferramenta e um tutorial simples de como rodar os testes tanto na máquina local quanto nos ambientes de Desenvolvimento e Produção. Assim, o Cypress é conectado com o ambiente do frontend que queremos testar e o mesmo se aplica para o ambiente do backend que está vinculado com o mesmo.
Padrão de tasks
As tasks de cada página da aplicação contém um page object e seu próprio arquivo de testes unitários com todas as validações necessárias.