[ETP] Implementação de Teste com Banco de Dados em Memória no sistema VisaOn
ESTUDO TÉCNICO PRELIMINAR - ETP
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- As funcionalidades necessárias para atender a necessidade 3- 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- 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- 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- 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. João Pedro Rocha Brito,