Implementação de Teste com Banco de Dados em Memória no sistema VisaOn
ESTUDOData: TÉCNICO PRELIMINAR - ETP23/06/22
Autores:
- João Pedro Rocha Brito (Assessor)
- José Henrique dos Santos
Nogueira,
1-1. Introdução
O sistema VisaOn é uma plataforma digital que tem como objetivo automatizar processos de Vigilância Sanitária Digital. A plataforma desempenha o papel de desburocratizar serviços de licenciamento sanitário e análise de projeto arquitetônico ao realizar todo o fluxo de processos, tornando esse ciclo mais simples, rápido e transparente. Entendendo o sistema e sua complexidade, observa-se a necessidade de realizar um estudo de caso, onde serão levantadas as funcionalidades necessárias para implementar teste com banco de dados em memória no sistema VisaOn.
2-2. Desenvolvimento
2.1. As funcionalidades necessárias para atender a necessidade
- Configurar o projeto de Teste do VisaOn (2 pontos);
- Organizar os contextos (3 pontos);
- Criação de Testes referente ao Regulado (21 pontos);
- Criação de Testes refente ao Coordenador (5 pontos);
- Criação de testes referente ao Cnae (8 pontos);
- Criação de Testes referente à Dare (8 pontos);
- Criação de Testes referente à Solicitação (21 pontos);
- Criação de Teste referente ao Tipo de Documento (13 pontos);
3-2.2. Complexidade de cada funcionalidade
Criação de testes referentes a/ao:
Regulado - a pontuação desta funcionalidade é devido à diversos tipos de regulado dentro do contexto do sistema, como regulado físico, jurídico e Cnes, cadastro de regulado e os anexos do regulado;
Coordenador - como o perfil de coordenador não possui tantas ações dentro do sistema, os testes criados devem abrangir o CRUD do Coordenador e a assinatura dele;
CNAE - Aqui, será preciso realizar testes na consulta de CNAE através da API-Jucer, nas perguntas e respostas do CNAE e no CRUD do CNAE;
DARE - falando sobre DARE, os testes devem cobrir os dois tipos de consultas em API-Sefin e banco de dados do VisaOn, além da visualização da Dare, o relatório referente a ela e a verificação do pagamento dela.
Solicitação - a solicitação tem uma complexidade similar ao contexto de regulado, tendo solicitações específicas com comportamentos semelhantes, são esses os CRUDs de Solicitação de Certidão de Dispensa, Licença Sanitária e Projeto Arquitetônico;
Tipos de Documentos - nesta funcionalidade, será necessário realizar testes relacionados aos CRUDs dos tipos de documentos do município, do regulado físico, do estadual e municipal por CNAE.
4-2.3. Possíveis problemas
Em relação aos testes referentes à solicitação de inspeção sanitária e projeto arquitetônico, o sistema busca na API-Jucer os dados referente ao regulado jurídico e os cnaes relacionados a ele, porém, nem sempre retorna o valor esperado pelo Visaon, no caso a subclasse (cnae) e sim a classe em si. Com isso, poderiam ocorrer falhas nos testes.
Outro possível problema seria relacionado a consulta de DARE na API da SEFIN que pode está indisponivel ou falhas internas. Para isso, é preciso criar um teste simulando essa API fora do ar, para certificar que o resultado da consulta tenha um tratamento de erro na visualização do usuário.
Não é um possível problema, entretanto, é importante citar que algumas consultas são dependentes de outras dentro do sistema e para conseguir mockar a consulta dependente daquela que está sendo testada, a consulta dependente precisa ter a palavra reservada virtual.
5-2.4. Valor agregado
A implementação de testes com banco de dados em memória irá verificar possíveis falhas quando o sistema realizar, por exemplo, consultas, armazenamentos ou remoção de dados. Com isso, os testes criados vão simular situações do usuário com o sistema e além de alcançar a cobertura mínima de 80% exigida pelo Sonar, a criação desses testes diminuirá a chegada de Bugs referente ao VisaOn, por parte da Agevisa e do Regulado.
6-3. Conclusão do estudo
A partir do estudo realizado, foi possível verificar a necessidade que o sistema VisaOn possui em implementar testes com banco de dados em memória.