Ir para o conteúdo principal

Implementação de Teste com Banco de Dados em Memória no sistema VisaOn

ESTUDOData: TÉCNICO PRELIMINAR - ETP

23/06/22


Autores:

Autores:
 
  1. João Pedro Rocha Brito (Assessor)
  2. José Henrique dos Santos Nogueira,
Nogueira
João(Assessor)
Pedro Rocha Brito


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.