Ir para o conteúdo principal

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

Data de elaboração

 23/06/2022

Responsável pelo estudo

João Pedro Rocha Brito (Assessor)

José Henrique dos Santos Nogueira (Assessor)


Equipe do estudo

João Pedro Rocha Brito (Assessor)

José Henrique dos Santos Nogueira (Assessor)

José Lucas da Silva Costa (Analista de Desenvolvimento Full-Stack)

Jônatas Neves Legal (Técnico emTecnologia da Informação e Comunicação) 

Alvo VisaOn
Origem

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

Objetivo

Implementar teste com banco de dados em memória no sistema VisaOn.
Documentação Correlata Sem documentação correlata.

Observações

Sem observações.

1. Glossário de Termos

  1. API Application Programming Interface (interface de Programação de Aplicações).
  2. Bugs - Falhas no sistema.
  3. CNAE - Classificação Nacional de Atividades Econômicas.
  4. CRUD - create (criação), read (leitura), update (atualização) e delete (exclusão).
  5. DARE - Documento de Arrecadação.
  6. JUCER - Junta Comercial do Estado de Rondônia.

2. 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.

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


3.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. 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. 

3.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.

3.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. 

4. Conclusão


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.